- •Содержание:
- •Порядок выполнения лабораторных работ
- •Оператор присваивания
- •Операторы ввода-вывода
- •Условный оператор
- •Задание к лабораторной работе
- •Программирование разветвляющегося
- •Оператор цикла for
- •Нестандартные типы данных
- •Ограниченные типы данных
- •Оператор выбора варианта
- •Задание к лабораторной работе
- •Лабораторная работа 3 регулярные типы данных. Селективная обработка массивов
- •Регулярные типы данных
- •Сортировка массивов
- •Примеры выполнения задания лабораторной работы
- •Задание к лабораторной работе
- •Лабораторная работа 4 вложенные циклы. Обработка двумерных массивов
- •Общие указания
- •Задания к лабораторной работе
- •Лабораторная работа 5 процедуры и функции
- •Процедуры
- •Функции
- •Задание к лабораторной работе
- •Лабораторная работа 6 обработка символьных данных
- •Символьный тип данных
- •Строковый тип данных
- •Процедуры
- •Функции
- •'Abcdef' copy(s,2,3) 'bcd'
- •'System' length(s) 6;
- •Задание к лабораторной работе
- •Лабораторная работа 7 комбинированные типы данных
- •Задание к лабораторной работе
- •Лабораторная работа 8 файлы и файловые типы данных
- •Файловый тип данных
- •Процедуры обработки файлов
- •Файлы с типом
- •Процедуры для работы с файлами с типом
- •Функции для обработки файлов с типом
- •Задание к лабораторной работе
- •Список рекомендованной литературы
Задания к лабораторной работе
Задание 1. Составьте программы для решения следующих задач обработки двумерных массивов.
Вариант 0n, 3n. Найдите <условие А> элементов каждого столбца матрицы Х(4,5). Результат запишите в массив В.
Вариант 1n. Найдите <условие А> элементов каждой строки матрицы В(6,4). Результат запишите в массив Х.
Вариант 2n. Найдите максимальный по модулю элемент матрицы М(5,6), номер его строки и столбца. Определите <условие А> элементов найденной строки (нечетные варианты) или найденного столбца (четные варианты) исходной матрицы.
Условие А приведено в таблицы 4.
Таблица 4
N |
Условие А |
1 |
максимальные отрицательные значения |
2 |
минимальные положительные значения |
3 |
суммы положительных кратных 5 |
4 |
количества отрицательн не кратных 3 |
5 |
минимальные четные значения |
6 |
сумму элементов, принадлежащих интервалу [1;20] |
7 |
максимальные кратные 4 значения |
8 |
средние геометрические из интервала [10;50] |
9 |
средние арифметические нечетных |
0 |
средние геометрические, большие 15 |
Задание 2. Составьте программы для решения следующих задач обработки строк, столбцов и диагоналей матрицы.
Вариант 0n. Найдите разность <условие А> чисел главной диагонали и <условие Б> чисел К-й строки матрицы Х(6,6).
Вариант 1n. Найдите сумму <условие Б> чисел главной диагонали и <условие А> чисел побочной диагонали матрицы Z(5,5).
Вариант 2n. Найдите частное от деления <условие Б> чисел побочной диагонали на <условие А> чисел К-го столбца матрицы Y(6,6).
Условия А, Б и значения К приведены в табл.5.
Таблица 5
n |
<Условие A> |
<Условие Б> |
k |
1 |
произведение четных |
количества положительных |
2 |
2 |
произведение нечетных |
количества отрицательных |
4 |
3 |
суммы положительных |
минимального кратного 3 |
6 |
4 |
суммы отрицательных |
максимального не кратного 3 |
1 |
5 |
количества отрицательных |
суммы четных |
3 |
6 |
количества положительных |
произведение некратных 4 |
5 |
7 |
минимального положительного |
среднего арифметического нечетных |
2 |
8 |
максимального отрицательного |
среднего геометрического положительных |
6 |
9 |
произведение нечетных |
суммы отрицательных |
4 |
0 |
суммы положительных |
минимального четного |
3 |
Лабораторная работа 5 процедуры и функции
Цель работы: выработать практические навыки в написании и отладке программ с использованием процедур и функций.
Процедуры
В языке Паскаль предусмотренная возможность объединения любой последовательности операторов в самостоятельную программу, которая называется процедурой.
В простейшем случае процедура может являться лишь поименованной группой операторов, например:
procedure aa;
begin
d:=x; x:=y; y:=d
end;
В такой процедуре без параметров и без объявления переменных все имена предполагаются известными программе, объявленными ранее. Эти переменные называются глобальными. Переменная может быть локализована, т.е. объявлена в процедуре.
Процедура с параметрами перечисляет переменные - параметры, которые будут использоваться при выполнении процедуры. Такие параметры указываются в круглых скобках после имени процедуры, например:
procedure tr(a,b,c:real; var y:real);
Указанные в скобках параметры называются формальными. Если перед именем формального параметра стоит слово var, то такой параметр есть параметр-переменная, в противном случае - значение.
Для обращения к процедуре достаточно указать ее имя и список фактических параметров в круглых скобках, например:
tr(p1, p2, p3, rez);
При обращении требуется, чтобы фактические параметры p1,p2, p3,rez имели тот же тип, что и формальные параметры a,b,c,y. В нашем случае тип real. Фактический параметр, соответствующий параметру-переменной, может быть только переменной. Фактический параметр, соответствующий параметру-значению может быть любым выражением соответствующего типа, в частности константой. Например, обратиться к tr можно так:
tr (2.5,sqr(x)+4,a+b*x,r);
Результатом выполнения процедуры может быть значение, помещенное в переменную некоторого типа. Если такая переменная введена в список формальных параметров, то она должна быть обязательно параметром - переменной.
Процедура имеет ту же структуру, что и главная программа, т.е. состоит из заголовка и блока. Блок содержит разделы label, const, type, var и выполняемую часть (от begin до end;).
Процедура помещается в главной программе после раздела var и перед begin программы. В любой процедуре может содержаться обращение к ранее описанной процедуре.