Пример программы на языке Turbo Pascal




Известны результаты 5 студентов по итогам экзаменов по химии и информатике. Найти фамилии студентов, сдавших оба экзамена на отлично.

Program Primer5;

type pr=array [1..5,1..2] of integer;

fam=array[1..5] of string[10];

var r:pr;

st:fam;

i,j:integer;

begin

for i:=1 to 5 do

begin

writeln('Введите фамилию ',i,'–го студента');

readln(st[i]);

writeln('Введите оценку данного студента по химии

(от 2 до 5)');

readln(r[i,1]);

writeln('Введите оценку данного студента по информатике

(от 2 до 5)');

readln(r[i,2]);

end;

for i:=1 to 5 do

if (r[i,1]=5) and (r[i,2]=5) then

writeln('Студент – отличник – ',st[i]);

end.

Рис. 11 – Схема алгоритма работы программы

Контрольные вопросы

1. Какой массив называется двухмерным?

2. Приведите примеры двухмерных массивов.

3. Как может быть вычислено количество элементов двухмерного массива?

4. Дайте понятие квадратной матрицы, диагоналей квадратной матрицы.

5. Какие способы объявления многомерных массивов вы знаете?

6. Как обратиться к элементу многомерного массива?

7. Приведите пример описания двумерных массивов на языке Turbo Pascal.

8. Поясните порядок использования вложенных циклов при вводе элементов двумерного массива.

9. Какие стандартные алгоритмы по работе с двухмерными массивами Вы знаете?

10. Какими способами может быть заполнен двухмерный массив? Приведите примеры.

11. Как будет выглядеть блок схема для решения задачи поиска элемента двухмерного массива удовлетворяющего определенному условию?

12. Как будет выглядеть блок схема для решения задачи поиска в двухмерном массиве максимального или минимального элемента?

13. Как будет выглядеть блок схема для решения задачи нахождения суммы элементов строк матрицы?

14. В каких случаях допускается обращение к многомерному массиву целиком?

15. Какая конструкция применяется для обработки n–мерного массива.


Лабораторная работа № 6.
Процедуры и функции

Цель работы: изучение принципов работы с процедурами и функциями на языке программирования Turbo Pascal. Получение навыков по подготовке, редактированию, компиляции и выполнению программ, использующих процедуры Procedure и функции Function.

Теоретические сведения

Как известно, синтаксически Turbo Pascal программа состоит из необязательного заголовка и блока. Блоки могут быть: глобальные и локальные.

Глобальный блок – это основная программа, он должен быть в любом случае. Локальные блоки – это процедуры и функции, их присутствии необязательно. Соответственно объекты программы (типы, константы, переменные и т.д.) глобального блока называются глобальными, а локального блока локальными.

Часто при разработке программ возникает необходимость в реализации одного и того же алгоритма в разных точках программы и с разными исходными данными. Чтобы избежать повторения, алгоритм составляется пользователем один раз и оформляется в виде процедур или функций. Затем этот алгоритм вызывается в соответствующих (нужных) местах программы. Использование процедур и функций позволяет:

– сократить объем и улучшить структуру программы;

– уменьшить вероятность ошибок и облегчить процесс отладки программы;

– дает возможность выполнить разработку программы разным программистам.

На языке Turbo Pascal процедуры и функции записываются зарезервированными словами Procedure и Function соответственно. Описание процедур и функций осуществляется в разделе описаний данных.

Описание процедуры:

Procedure <идентификатор процедуры>

(<список формальных параметров с объявлением типа>);

var <раздел описаний>; {локальные данные}

begin {начало локального блока}

<раздел операторов>

end; {конец локального блока}

Допускается описание процедур без параметров.

Описание функции:

Function <идентификатор функции> (<список формальных параметров с объявлением типа>): <тип функции–результата>;

var <раздел описаний>; {локальные данные}

begin {начало локального блока}

<раздел операторов>

end; {конец локального блока}

В разделе операторов должен находиться оператор присваивания:

<идентификатор функции>: = <значение–ответ>;

Описание процедуры или функции само по себе никакого действия не вызывает. Чтобы использовать процедуру или функцию, необходимо в нужной точке программы поместить обращение к ней. Записать специальный оператор вызова процедуры в следующем виде:

<идентификатор процедуры> (<список фактических параметров>);

Вызов функции осуществляется по имени функции аналогично обращению, например к математической функции sin x:

x:= 0.5;

a:=sin (x);

или

а:=sin (0.5);

Вызов sin x осуществляется оператором присваивания.

Между фактическими и формальными параметрами должно быть соответствие: по типу, количеству, порядку следования. В качестве фактических параметров могут выступать константы, выражения, переменные, структурированные данные. Константы и выражения не могут быть формальными параметрами.

Формальные параметры могут быть заданы как:

– параметры–значения (передача параметров по значению);

– параметры–переменные (передача параметров по ссылке);

Передача параметров по значению обеспечивает сохранность величины передаваемого параметра. Изменение их в процедуре никак не отразится на фактических параметрах.

Передача параметров по ссылке при изменении формального параметра обеспечивает изменение фактического параметра. Параметры переменные записываются в списке формальных параметров после зарезервированного слова Var.

Содержание лабораторной работы

В лабораторной работе требуется разработать программу на языке программирования Turbo Pascal использующую процедуры и функции в соответствии с Вашим вариантом. Если в задаче не указан способ задания переменной, то она вводится пользователем с клавиатуры. Отчет о проделанной работе должен содержать: название и цель работы; номер варианта для выполнения задания и условие своего варианта; блок–схему решения задачи; тексты программ; полученные при расчетах численные результаты и выводы по проделанной лабораторной работе.

Варианты заданий

1. Решить уравнение , где , – сумма модулей и количество элементов, расположенных в матрице ниже побочной диагонали; , – сумма модулей и количество элементов, расположенных в матрице ниже побочной диагонали; , – сумма модулей и количество элементов, расположенных в матрице ниже побочной диагонали. Знакопеременные массивы сформировать случайным образом.

2. Решить показательное уравнение , где , – количество столбцов, не содержащих нулей и сумма модулей членов этих столбцов в матрице ; – количество столбцов, не содержащих нулей и сумма модулей членов этих столбцов в матрице . Знакопеременные массивы сформировать случайным образом.

3. Вычислить значения функции , если изменяется от до с шагом . Знакопеременные массивы и сформировать случайным образом.

4. Вычислить таблицу значений функции , где – количество и сумма отрицательных элементов матрицы ; – количество и сумма отрицательных элементов матрицы ; – количество и сумма отрицательных элементов матрицы . Знакопеременные массивы сформировать случайным образом.

5. Вычислить таблицу значений функции , где – сумма и количество отрицательных элементов в матрице , стоящих под главной диагональю; сумма и количество отрицательных элементов в матрице , стоящих под главной диагональю; изменяется от до с шагом . Знакопеременные массивы сформировать случайным образом.

6. Вычислить таблицу значений функции , где – сумма и количество отрицательных элементов массива ; – сумма и количество отрицательных элементов массива ; – фиксированное число, вводимое с клавиатуры, а изменяется от 1 до 3 с шагом 0,5. Знакопеременные массивы сформировать случайным образом.

7. Вычислить таблицу значений функции , где – среднее геометрическое и количество положительных элементов массива ; – среднее геометрическое и количество положительных элементов массива ; изменяется от до с шагом . Знакопеременные массивы сформировать случайным образом.

8. Вычислить таблицу значений функции , где – количество и среднее арифметическое положительных элементов матрицы , расположенных ниже побочной диагонали; – количество и среднее арифметическое положительных элементов матрицы , расположенных ниже побочной диагонали; – количество и среднее арифметическое положительных элементов матрицы , расположенных ниже побочной диагонали; изменяется от до с шагом . Знакопеременные массивы сформировать случайным образом.

9. Вычислить таблицу значений функции , где – минимальный элемент и его номер в массиве ; – минимальный элемент и его номер в массиве ; – фиксированное число, вводимое с клавиатуры; изменяется от до , с шагом . Знакопеременные массивы сформировать случайным образом.

10. Вычислить таблицу значений функции , где – количество и сумма отрицательных элементов в матрице ; – количество и сумма отрицательных элементов в матрице ; – количество и сумма отрицательных элементов в матрице ; изменяется от до с шагом . Знакопеременные массивы сформировать случайным образом.

11. Вычислить значение функции , где – среднее арифметическое и количество положительных элементов массива ; – среднее арифметическое и количество положительных элементов массива . изменяется от до с шагом . Знакопеременные массивы сформировать случайным образом.

12. Решить тригонометрическое уравнение на интервале [0;10], где – сумма и количество отрицательных элементов, стоящих в массиве на местах, номера которых кратны 4; – сумма и количество отрицательных элементов, стоящих в массиве на местах, номера которых кратны 4. Знакопеременные массивы сформировать случайным образом.

13. Решить показательное уравнение , где – сумма модулей членов и количество строк в матрице , не содержащих отрицательных значений; – сумма модулей членов и количество строк в матрице , не содержащих отрицательных значений. Знакопеременные массивы сформировать случайным образом.

14. Вычислить таблицу значений функции , где – сумма и количество положительных элементов в матрице , расположенных на главной диагонали; – сумма и количество положительных элементов в матрице , расположенных на главной диагонали; – сумма и количество положительных элементов в матрице . Расположенных на главной диагонали; изменяется от до с шагом . Знакопеременные массивы сформировать случайным образом.

15. Вычислить таблицу значений функции , где – целая часть модуля суммы и количество отрицательных элементов матрицы , расположенных выше побочной диагонали; – целая часть модуля суммы и количество отрицательных элементов матрицы , расположенных выше побочной диагонали; – целая часть модуля суммы и количество отрицательных элементов матрицы , расположенных выше побочной диагонали; изменяется от до с шагом . Знакопеременные массивы сформировать случайным образом.

16. Решить уравнение , где – сумма и количество положительных элементов в матрице , находящихся на главной диагонали; – сумма и количество положительных элементов в матрице , находящихся на главной диагонали. Знакопеременные массивы сформировать случайным образом.

17. Решить уравнение , где – количество и сумма отрицательных элементов матрицы , расположенных выше главной диагонали; – количество и сумма отрицательных элементов матрицы , расположенных выше главной диагонали. Знакопеременные массивы сформировать случайным образом.

18. Решить уравнение , где – среднее арифметическое и количество положительных элементов массива , удовлетворяющих условию ; – среднее арифметическое и количество положительных элементов массива , удовлетворяющих условию ; – среднее арифметическое и количество положительных элементов массива , удовлетворяющих условию ; – числа, вводимые с клавиатуры. Знакопеременные массивы сформировать случайным образом.

19. Решить квадратное уравнение , где – сумма иколичество положительных элементов в матрице ; – сумма иколичество положительных элементов в матрице ; – сумма иколичество положительных элементов в матрице . Знакопеременные массивы сформировать случайным образом.

20. Решить уравнение , где – количество и сумма отрицательных элементов матрицы , расположенных выше главной диагонали; – количество и сумма отрицательных элементов матрицы , расположенных выше главной диагонали; – количество и сумма отрицательных элементов матрицы , расположенных выше главной диагонали. Знакопеременные массивы сформировать случайным образом.

21. Вычислить таблицу значений функции , где – сумма иколичество положительных элементов матрицы . расположенных ниже главной диагонали; сумма иколичество положительных элементов матрицы , расположенных ниже главной диагонали; изменяется от до с шагом . Знакопеременные массивы сформировать случайным образом.

22. Вычислить таблицу значений функции , где – максимальный элемент и его номер в массиве ; – максимальный элемент и его номер в массиве ; a, – фиксированное число, вводимое с клавиатуры. Знакопеременные массивы сформировать случайным образом.

23. Решить показательное уравн е ние , где – сумма и количество положительных элементов в матрице ; – сумма и количество отрицательных элементов в матрице . Знакопеременные массивы сформировать случайным образом.

24. Решить тригонометрическое уравнение на интервале [0;15], где – количество и среднее геометрическое положительных элементов массива ; – количество и среднее геометрическое положительных элементов массива . Знакопеременные массивы сформировать случайным образом.

25. Решить тригонометрическое уравнение на интервале [5;25], где – количество и среднее арифметическое отрицательных элементов массива , стоящих на чётных местах; – количество и среднее арифметическое отрицательных элементов массива , стоящих на чётных местах; количество и среднее арифметическое отрицательныхэлементов массива , стоящих на чётных местах. Знакопеременные массивы сформировать случайным образом.

26. Решить показательное уравнение , где – количество и сумма положительных элементов массива , удовлетворяющих условию ; количество и сумма положительных элементов массива , удовлетворяющих условию ; и – положительные числа, вводимые с клавиатуры. Знакопеременные массивы сформировать случайным образом.

27. Решить показательное уравнение , где – количество и сумма положительных элементов матрицы , стоящих ниже побочной диагонали; – количество и сумма положительных элементов матрицы , стоящих ниже побочной диагонали. Знакопеременные массивы сформировать случайным образом.

28. Вычислить значение функции , где – сумма и количество отрицательных элементов массива ; – сумма и количество отрицательных элементов массива . Знакопеременные массивы сформировать случайным образом.

29. Решить уравнение , где – сумма и количество положительных элементов массива ; – сумма, и количество положительных элементов массива ; – сумма и количество положительных элементов массива . Знакопеременные, массивы сформировать случайным образом.

30. Вычислить таблицу значений функции , где – количество и среднее арифметическое положительных элементов матрицы ; – количество и среднее арифметическое положительных элементов матрицы ; – количество и среднее арифметическое положительных элементов матрицы ; изменяется от до с шагом . Знакопеременные массивы сформировать случайным образом.



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-08-20 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: