Целью
работы является
написание
программ на
ЭВМ, согласно
условию в выбранном
варианте, первая
программа для
задания А, и
вторая программа
для задания
Б. Для написания
программ
использовался
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,
несущий в этом
задании вспомогательную
функцию вычисления
среднего числа
массивов в
частности.
Подпрограмма
виде отдельной
процедуры, как
и в задании А,
однако без этой
процедуры
обойтись, как
в первом задании,
нельзя, так как
разбросав её
на алгоритмы
ввода и генерации
данных мы усложняем,
запутываем
алгоритм программы,
снижая тем
самым её производительность
(быстродействие).
Лабораторная
работа №6
Программирование
с использованием
подпрограмм
пользователя.
Цель
работы – овладение
навыками
алгоритмизации
задач с использованием
подпрограмм
пользователя
различных
видов, овладение
навыками написания
программ и
обращения к
ним, выбора
параметров
подпрограмм.
Задание для
самостоятельной
работы.
Изучить:
правила
записи подпрограмм
различных
видов и способов
обращений к
ним;
способы
передачи параметров
в подпрограмму;
правила
записи программ,
использующих
подпрограммы.
Разработать
алгоритм решения
задачи.
Составить
программу
решения задачи.
Подготовить
тестовый вариант
программы и
исходных данных.
Задание
к работе
Задание А.
Выполнить
на ЭВМ программу,
использующую
подпрограмму
функцию, в
соответствии
с номером параметра,
указанным в
таблице.
Проверить
правильность
выполнения
программы с
помощью тестового
варианта.
Вариант Задания | Условия задачи | Примечания | |||||
1 | Вычислить
cy2-dy-f=0 | Все корни действительные | |||||
2 | Подсчитать число точек, находящихся внутри круга радиусом r с центром в начале координат; координаты заданы массивами X(100), Y(100) | Расстояние точки от начала координат вычислять в подпрограмме | |||||
3 | Определить | Длину стороны энугольников вычислять в подпрограмме | |||||
4 | Подсчитать число точек, находящихся внутри круга радиусом r с центром в точке с координатами (1,1); координаты заданы массивами X(80), Y(80) | Расстояние точки от центра круга определять в подпрограмме | |||||
5 | Вычислить | Vi | |||||
6 | Вычислить суммы положительных элементов массивов X(N), Y(M), Z(K)
Обсуждение:
Название реферата: Лабораторная работа по информатике, вариант №13, с методическим пособием.zip
|