Лабораторная работа по информатике, вариант №13, с методическим пособием.zip
Лабораторная работа по информатике, вариант №13, с методическим пособием.zip
Целью работы является написание программ на ЭВМ, согласно условию в
выбранном варианте, первая программа для задания А, и вторая программа для
задания Б. Для написания программ использовался Borland Turbo Pascal версии
7.1. Рассмотрим по очереди эти два задания.
ЗАДАНИЕ А. Необходимо подсчитать количество нулевых элементов для
матриц А(N,M) и В(M,N), причём M и N не могут быть больше 20.
Матрицы А и В представляют в машинном исполнении двухмерные массивы,
число элементов в которых не может быть больше 20х20=400 элементов по
условию. Каждый индекс числа – M и N представляет собой «координату» числа
в матрице, по его строке и столбцу, соответственно. Автор программы ввёл в
неё выбор количества строк и столбцов для каждой матрицы (массива), дав
пользователю возможность выбрать его в пределах от двух до двадцати (по
условию). Программа занесения данных в сами массивы построена на цикле
оператора FOR, причём если пользователю будет лень вносить данные
самостоятельно – программа может сделать это за него посредством генерации
случайных чисел и занесения их в массивы, что на современных компьютерах
занимает считанные наносекунды. На программу самогенерации-самоввода
элементов матриц автор программы ввёл некоторые ограничения во избежании не
занесения в них нулевых элементов, что необходимо для проверки правильности
работы программы. Если вручную вы можете ввести любое действительное число
от -32768 до 32767, то программа самогенерации генерирует целые числа от
нуля до двадцати. И, если вы, к примеру, задали в программе размер матриц
2X3, что составляет всего шесть элементов, то вполне вероятно (как показала
практика тестирования программы), что в ней будет хотя бы один нулевой
элемент, или, попросту – ноль. Подпрограмма подсчёта количества нулевых
элементов тоже построена на цикле оператора FOR, и если бы она не была
необходима по условию, без неё можно было бы обойтись, включив подсчёт
таких элементов в цикл ввода данных / цикл генерации данных, тем самым
повысив быстродействие программы. Эта подпрограмма (так же, как и
подпрограмма в задании Б) оформлена в виде процедуры.
ЗАДАНИЕ Б. Найти средние значения и стандартные отклонения для
элементов массивов X(N), Y(M), причём количество элементов не может быть
более 100.
В этом примере реализована та же подпрограмма ввода / генерации данных,
что и в задании А, с разницей в массивах – здесь мы имеем одномерные
массивы. На программу генерации элементов массивов наложены те же самые
ограничения, что и в задании А, с той разницей, что число генерируется в
интервале от нуля до ста, а не до двадцати. В подпрограмму вычисления
условий задачи внесён тот же цикл оператора FOR, несущий в этом задании
вспомогательную функцию вычисления среднего числа массивов в частности.
Подпрограмма оформлена в виде отдельной процедуры, как и в задании А,
однако без этой процедуры обойтись, как в первом задании, нельзя, так как
разбросав её на алгоритмы ввода и генерации данных мы усложняем, запутываем
алгоритм программы, снижая тем самым её производительность
(быстродействие).