Зміст 1. Завдання. Математичне розшифрування завдання 2. Лістинг програми 3. Виведення результатів роботи програми 4. Опис роботи програми Список літератури
1. Математичне розшифрування завдання На квадратному аркуші картатого паперу розміру 8*8 кліток намальовано декілька прямокутників, кожний прямокутник складається з кліток, прямокутники не накладаються один на одного й не стикаються. Дана цілочисельна квадратна матриця порядку 8, у якій елемент рівняється «0», якщо відповідна клітка належить якому-небудь прямокутнику, і відмінний від «0» в іншому випадку. Визначити кількість прямокутників. Матриці. Основні означення Прямокутна таблиця чисел а (I, j), і = 1,2,…, m; (j = 1,2,…, n, складена з m рядків та n стовпців і записана у вигляді: або називається матрицею. Поняття матриці вперше ввели англійські математики У. Гамільтон і Д. Келі. Коротко матрицю позначають так:
Де – елементи матриці, причому індекс i в елементі означає номер рядка, а j – номер стовпця, на перетині яких стоїть даний елемент. Добуток числа рядків m на число стовпців n називають розміром матриці і позначають mxn. Якщо хочуть вказати розмір mxn матриці А, то пишуть . Матриця, в якої число рядків дорівнює числу стовпців, називається квадратною . Кількість рядків (стовпців) квадратної матриці називається її порядком. Матриця, у якої всього один рядок, називається матрицею-рядком, а матриця, у якої всього один стовпець, – матрицею-стовпцем. Дві матриці та називаються рівними, якщо вони однакових розмірів і мають рівні відповідні елементи:. Нульовою називається матриця, у якої всі елементи дорівнюють нулю. Позначається така матриця буквою О. В квадратних матрицях виділяють головну і побічну діагональ. Для виконання завдання потрібно знаходити суму елементів матриці стовпця і рядка, на які вказують індекси елемента, і замінити цією сумою сам елемент матриці. 2. Лістинг програми Private Sub Command1_Click() Const n = 5 Dim i, j As Byte Dim a (n, n) As Byte, m(56) As Byte n1 = 0 n2 = 0 ch = 0 ch1 = 0 For i = 1 To n For j = 1 To n Randomize a (i, j) = Rnd(1) Next j Next i For i = 1 To n m(i) = a (i, n – 1) For j = 1 To n Print a (i, j), Next j Print Next i Print «–» For i = 1 To n For j = 1 To n If a (i, j) = 0 Then n1 = n1 + 1 If n1 > 1 Then a (i, j – 1) = 1 End If Else If n1 > 1 Then a (i, j – 1) = 1 ch = ch + 1 End If n1 = 0 End If Next j If n1 > 1 Then ch = ch + 1 End If n1 = 0 Next i For i = 1 To n If a (i, n) = 0 And m(i) = 0 Then a (i, n) = 1 End If Next i Print «===============================» For j = 1 To n For i = 1 To n If a (i, j) = 0 Then n1 = n1 + 1 Else If n1 > 1 Then ch = ch + 1 End If n1 = 0 End If Next i If n1 > 1 Then ch = ch + 1 End If n1 = 0 Next j Print «–» For i = 1 To n For j = 1 To n Print a (i, j), Next j Print Next i Print «*****************************» Print ch End Sub Private Sub Command2_Click() End End Sub 3. Виведення результатів роботи програми Після запуску програми в Visual Basic на моніторі з`являється вікно програми, на якому виведено дві кнопки: « розрахунок» і «кінець». Для того щоб запустити програму, ми клацаємо на « розрахунок », і програма за допомогою оператора randomize починає складати довільну матрицю, в якій містяться лише одиниці та нулі.
Тобто, у цій матриці склалося три прямокутники. Для завершення програми натискаємо на кнопку «кінець». 4. Опис роботи програми Формування значень елементів масиву випадковим чином і з клавіатури і виведення їх на екран. Операції роботи з двовимірні масивами аналогічні операцій роботи з одномірні масивами, треба тільки не забувати про відмінності між масивами. Зазвичай при роботі з двовимірні масивами використовуються вкладені цикли. Дуже часто значення елементів масиву вводяться з клавіатури. Цей спосіб завдання інформації занадто трудоємок при роботі з масивами великих розмірів. Для налагодження широкого класу алгоритмів такої введення інформації повинен бути замінений формуванням елементів масиву випадковим чином. Для цього використовують вбудовані засоби Турбо Паскаля: процедуру Randomize та функцію Random. Ви вже стикалися з цими коштами. Сьогодні ж наша задача створити процедуру введення елементів в масив і процедуру виведення елементів на екран. Наведемо приклад заповнення масиву випадковими числами. Ця процедура повинна прийняти в якості вхідних параметрів масив, кількість рядків і стовпців, задані користувачем з клавіатури в основному розділі операторів. Так як наша процедура буде впливати на порожній вихідний масив, то його ми повинні передати по посиланню. Кількість рядків і стовпців достатньо передати копіями за значенням. Procedure InsertMas1 (Var X: MyArray; n, m: integer); Var i, j: integer; Begin Randomize; for i:= 1 to n do {пробегая последовательно строки массива} for j:= 1 to m do {просмотрим каждую ее ячейку текущего столбца} X [i, j]:= Random(50); {и запишем туда случайное число, которое сформирует компьютер в диапазоне [0..49]} End; комп'ютер Procedure InsertMas1 (Var X: MyArray; n, m: integer); Var i, j: integer; Begin Randomize; for i:= 1 to n do {пробегая последовательно строки массива} for j:= 1 to m do {просмотрим каждую ее ячейку текущего столбца} X [i, j]:= Random(50); {и запишем туда случайное число, которое сформирует компьютер в диапазоне [0..49]} End; Тепер, щоб скористатися цією процедурою, досить викликати її в основному розділі програми, передавши їй параметри. Розглянемо процедуру виведення елементів масиву на екран. Для того, щоб вивести наш масив на екран у вигляді таблиці, поставимо при переході до нової рядку оператор writeln і застосуємо формат виводу елементів (: 5). Procedure PrintMas (X: MyArray; n, m: integer); Var i, j: integer; Begin for i:= 1 to n do {пробегая последовательно строки и столбцы массива} begin for j:= 1 to m do write (X[i, j]:5); {выведем элемент массива на экран, выделив ему 5 знакомест} writeln; {переход на новую строку} end; End; Завдання. Наберіть програму-шаблон для роботи з двовимірні масивами. Як ви вже знаєте з попередньої теми, вона повинна містити дві процедури введення та процедуру виведення елементів заданого масиву. Основний розділ операторів повинен містити діалог з користувачем і захист програми від введення неприпустимих значень для кількості рядків і стовпців. Збережіть файл у відповідному каталозі на своїй дискеті. Розгляньте процедуру, вирішальну наступну задачу. Задача. Дана таблиця дійсних чисел. Порахуйте суму всіх чисел у таблиці . Procedure Summa (A: MyArray; n, m: integer; Var S: real); Var i, j: integer; Begin S:= 0; for i:= 1 to n do for j:= 1 to m do S:= S+A [i, j]; End. Зверніть увагу, що всередині циклу з лічильником i організовано цикл з лічильником j. В результаті сумуються на початку числа 1‑й рядки (i = 1, при j = 1, 2,…, m), потім сумуються числа 2‑й рядки (i = 2, при j = 1, 2,…, m) і т.д. У даній програмі в тілі одного циклу міститься інший цикл. Такі цикли, як Ви вже знаєте, називаються вкладеними. Причому цикл з лічильником i є зовнішнім, а цикл з лічильником j – внутрішнім. Не забувайте основне правило при написанні вкладених циклів: останній оператор внутрішнього циклу має або передувати, або збігатися з останнім оператором зовнішнього циклу. Вкладені цикли нагадують матрьошок, вкладених одна в іншу. Список літератури 1. «Турбо Паскаль 7.1» – Бучко Д.І., Харків: «Харківська політехніка», 2005. 2. «Інформатика, алгоритмічні мови» – Олійник Н.В., Сидоренко Ю.В., Львів: «Замкова гора», 2004. 3. Web, Internet.
Рефераты по информатикеЗміст 1. Завдання. Математичне розшифрування завдання 2. Лістинг програми 3. Виведення результатів роботи програми 4. Опис роботи програми Список
Оценок: 347 (Средняя 5 из 5)
Специалисты RetsCorp работают в digital-сфере более 7 лет. За это время мы разработали более 500+ успешных проектов. Основываясь на своем опыте и знании рынка, мы с уверенностью можем сказать, что будет работать, а что — нет. Заказывая создание лендинга для бизнеса в нашей студии, вы получаете работающие решения, необходимые именно вашему бизнесу.
Сотрудничая с нами, вы будете не клиентом, а нашим партнером. Благодаря этому мы будем развивать ваш бизнес как собственный. Мы так же как и вы заинтересованы в успехе проекта, поскольку ваша успешность будет нашей рекламой.