"Лабораторная работа по информатике, вариант №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,  несущий  в  этом  задании
вспомогательную функцию вычисления  среднего  числа  массивов  в  частности.
Подпрограмма оформлена в виде  отдельной  процедуры,  как  и  в  задании  А,
однако без этой процедуры обойтись, как в первом задании,  нельзя,  так  как
разбросав её на алгоритмы ввода и генерации данных мы усложняем,  запутываем
алгоритм    программы,    снижая    тем    самым    её    производительность
(быстродействие).