- •1. Структура программы.
- •2. Раздел объявлений.
- •3. Раздел исполняемых операторов.
- •4. Решение вычислительных задач.
- •5. Структура графической программы.
- •6. Графические операторы.
- •7. Решение графических задач.
- •8. Блок операторов.
- •9. Оператор ветвления.
- •10. Решение задач на ветвления.
- •11. Оператор цикла с параметром.
- •12. Решение задач на цикл с параметром.
- •13. Двойные и тройные циклы.
- •14. Решение задач на двойные циклы.
- •15. Решение задач на циклы по окружности.
- •16. Использование генератора случайных чисел.
- •17. Операции над строками.
- •18. Решение задач на обработку строк.
- •19. Функции пользователя.
- •20. Построение графиков функций.
- •21. Решение задач на построение графиков функций.
- •22. Подпрограммы.
- •23. Решение задач на подпрограммы.
- •1. Написать программу для построения изображения:
- •2. Добавьте в вашу программу следующие элементы:
- •3. Дополнительно добавьте следующие элементы.
- •24. Задача «Звездный коврик».
- •25. Понятие массива.
- •26. Объявление массивов в программе.
- •27. Заполнение одномерных массивов данными.
- •28. Решение простых задач на массивы.
- •29. Решение задач средней сложности.
- •30. Сортировка элементов массива.
- •31. Решение задач на сортировку.
- •32. Заполнение двухмерных массивов данными
- •33. Решение задач на двухмерные массивы.
32. Заполнение двухмерных массивов данными
В дальнейшем во всех программах приняты следующие обозначения:
n – число столбцов
m – число строк
i – номер столбца, меняется от 1 до n
j – номер строки, меняется от 1 до m
a[i,j] – элемент массива на пересечении i столбца и j строки
А) Данные вводятся с клавиатуры через пробел
Program DM_Kbd; Const n=4; m=3; Var a: Array[1..n,1..m] of Integer; i,j: Integer; Begin WriteLn(‘Введите ’,m,’ строк по ’, n, ' чисел:'); For j:=1 To m Do Begin For i:=1 To n Do Read(a[i,j]); ReadLn; End; Решение основной задачи ReadLn; End. |
Имя программы – придумали сами Константы n – число столбцов, m – число строк Объявляем двухмерный массив из целых чисел Объявляем переменные для циклов
Подсказка для ввода чисел
Основной цикл по строкам Второй цикл по элементам строки
Место для решения основной задачи Обычная пауза Завершение программы. |
Б) Данные создаются генератором случайных чисел, человеку вводить ничего не надо.
Program DM_Kbd; Const n=4; m=3; Var a: Array[1..n,1..m] of Integer; i,j: Integer; Begin WriteLn(‘Массив случайных чисел:'); For j:=1 To m Do Begin For i:=1 To n Do Begin a[i,j]:=Random(21)-10; Write(a[i,j]:4); End; WriteLn; End; Решение основной задачи ReadLn; End. |
Имя программы – придумали сами Константы n – число столбцов, m – число строк Объявляем двухмерный массив из целых чисел Объявляем переменные для циклов
Подсказка перед выводом массива Основной цикл по строкам Второй цикл по элементам строки Заполнение случайными числами Вывод чисел на экран
Место для решения основной задачи
Обычная пауза Завершение программы. |
После запуска увидим следующее:
Массив случайных чисел:
|
33. Решение задач на двухмерные массивы.
Задача 1. Заполнить двухмерный массив из 5 столбцов и 4 строк целыми случайными числами в пределах от -10 до 10. Найти в каждой строке количество нулей. Найти в каждом столбце наибольший элемент.
За основу берем программу DM_Rnd.
В область решения основной задачи вставляем фрагмент вычисления количества нулей в каждой строке и фрагмент поиска наибольшего элемента в каждом столбце.
Не забываем объявить переменные Kol и Max.
Program z1; Const n=5; m=4; Var a: Array[1..n,1..m] of Integer; i,j: Integer; Kol,Max:Integer; Begin WriteLn(‘Массив случайных чисел:'); For j:=1 To m Do Begin For i:=1 To n Do Begin a[i,j]:=Random(21)-10; Write(a[i,j]:4); End; WriteLn; End; |
For j:=1 To m Do Begin Kol:=0;For i:=1 To n Do If a[i,j]=0 Then Kol:=Kol+1; WriteLn(‘Kol’,j,’=’,Kol); End; |
For i:=1 To n Do Begin Max:=a[i,1];For j:=1 To m Do If a[i,j]>Max Then Max:=a[i,j]; WriteLn(‘Max’,i,’=’,Max); End; |
ReadLn; End. |
Задача 2. Заполнить двухмерный массив из 5 столбцов и 4 строк целыми случайными числами в пределах от -10 до 10. Найти в каждой строке наибольший элемент. Найти в каждом столбце количество нулей.
Задача 3. Заполнить двухмерный массив из 4 столбцов и 5 строк целыми случайными числами в пределах от -10 до 10. Найти в каждой строке наименьший элемент. Найти в каждом столбце количество пятерок.
Задача 4. Заполнить двухмерный массив из 4 столбцов и 3 строк целыми случайными числами в пределах от -10 до 10. Найти в каждой строке количество четных чисел. Найти в каждом столбце количество нечетных чисел.