Целью работы является написание программ на ЭВМ, согласно условию в выбранном варианте, первая программа для задания А, и вторая программа для задания Б. Для написания программ использовался 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 | Вычислить большие корни кв. уравнений x2-ax+b=0 cy2-dy-f=0 | Все корни действительные |
2 | Подсчитать число точек, находящихся внутри круга радиусом r с центром в начале координат; координаты заданы массивами X(100), Y(100) | Расстояние точки от начала координат вычислять в подпрограмме |
3 | Определить периметры энугольников, координатами их вершин заданы в массивах X, Y. | Длину стороны энугольников вычислять в подпрограмме |
4 | Подсчитать число точек, находящихся внутри круга радиусом r с центром в точке с координатами (1,1); координаты заданы массивами X(80), Y(80) | Расстояние точки от центра круга определять в подпрограмме |
5 | Вычислить z=(v1+v2+v3)/3 , где v1 ,v2,v3, - объёмы шаров с радиусами r1 , r2 и r3 соответственно | Vi вычислять в подпрограмме |
6 | Вычислить суммы положительных элементов массивов X(N), Y(M), Z(K) | N |
Похожие работы
... . Таким образом предлагается рассматривать компьютерную технологию обучения как основную составляющую информационной технологий обучения. 1.2 Дидактические принципы, свойства и особенности использования компьютерных технологий в педагогическом процессе Применение средств КТ в современном образовании основано на дидактических принципах, свойствах и особенностях их использования. Под ...
... в коллективе, взаимодействовать, помогать друг другу, работать на одну цель. Совместно планировать работу и оценивать вклад и результаты работы каждого. Раздел 2 Использование метода проектов при обучении информатике в начальной школе 2.1 Планирование и организация исследования Таким образом, раскрыв содержание понятий: «метод», «метод проектов», « проект», «учебная тема», «мышление», « ...
... частью, с базой результатов тестирования обучающихся следует использовать нечто более удобное, чем язык разметки гипертекста. Наиболее удобным инструментом для написания самого программного обеспечения электронного учебника является визуальный язык программирования. В настоящее время существует достаточно большое количество визуальных языков таких, как C++, Visual Basic 6.0, Delphi 7.0, C#. C++ ...
... которым в течение года предстояло усвоить довольно большой объем новой для них информации и овладеть учебными умениями сравнительно-аналитического характера. Разработанная мною модель-конструкт тестовой системы контроля знаний школьников по истории содержит тесты различных типов. Большая часть тестов направлена на проверку умений учащихся выполнять задания с подсказкой (тесты 1-го уровня) или по ...
0 комментариев