Зміст 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. Опис роботи програми Список
Оценок: 385 (Средняя 5 из 5)
Наверняка у вас есть товары или услуги, продажа которых приносит вам максимальную прибыль. Для быстрого старта в сети вам необходимо создание посадочной страницы (одностраничного сайта), на которой будет размещена информация о маржинальных товарах/услугах интернет магазина. За 8 лет опыта разработки конверсионных страниц мы выработали оптимальную структуру, которая позволит привлекать через landing page больше продаж. На такую структуру «одевается» ваш контент — фирменный стиль, тексты, фотографии, уникальные торговые предложения, после чего страница выходит в свет. Разработка лендинга и запуск в сети — до 7 рабочих дней. Стоит отметить, что в разработку самой посадочной страницы входит и написание копирайтером продающих текстов для вашего бизнеса, чтобы каждый посетитель страницы захотел совершить покупку именно у вас. Результат: качественно разработаная продающая посадочная страница, которая готова приносить вам новых клиентов.