![](/user_photo/2706_HbeT2.jpg)
- •1. Алгоритмизация
- •1.1.Функциональная схема эвм.
- •1.2. Этапы решения задач на эвм.
- •1.3. Язык блок-схем для представления алгоритмов
- •1.4. Базовые структуры алгоритмов
- •1.5. Конструирование сложных алгоритмов
- •2. От алгоритма к программе
- •2.1. Концепция данных в Турбо-Паскале
- •2.2. Структура Паскаль - программы
- •2.3. Комментарии
- •2.4 Операторы
- •2.4.1 Оператор присваивания
- •2.4.2. Составной оператор
- •2.4.3. Логические выражения
- •2.4.4. Условный оператор
- •2.4.5. Оператор цикла с параметром
- •2.4.6. Оператор цикла с постусловием
- •2.4.7. Оператор цикла с предусловием
- •2.5. Производные типы
- •2.5.1 Перечислимые типы
- •2.5.3. Регулярные типы (массивы)
- •2.5.4. Многомерные массивы
- •2.5.5.Комбинированные типы (записи)
- •2.6. Подпрограммы
- •2.6.1. Функции
- •2.6.2. Процедуры
- •2.6.3. Формальные и фактические параметры
- •2.6.4. Параметры - значения
- •2.6.5. Параметры - переменные
- •2.6.6. Параметр - массив
- •2.6.7. Параметры подпрограмм без указания типа
- •2.6.8. Параметры - процедуры и параметры - функции
- •2.6.9 Локальные и глобальные переменные
- •3. Задания
- •3.1. Построение таблицы значений функции.
- •3.2 Вычисление сумм и произведений.
- •3.3. Вычисление функции разложением в ряд
- •3.4 Обработка одномерных массивов.
- •3.5 Проверка попадания точки в заданную область
- •3.6. Нахождение экстремумов последовательностей
- •3.7.Обработка простых двумерных массивов.
- •3.8 Обработка двумерных массивов
- •3.9. Разработка алгоритмов и программ нисходящим способом
- •3.10.Задачи на обработку символьных данных сложной структуры
- •Создать исходный типизированный файл.
- •Результаты записать в текстовый файл.
- •3.11 Задачи с использованием имени массива как параметра функции
- •3.12. Задача на использование формальных массивов в процедурах
- •3.13. Задачи на разработку программы с использованием созданной по условию процедуры
- •3.14.Задачи на использование функций в качестве параметров других функций.
- •3.15. Разработка многомодульных программ.
2.5.4. Многомерные массивы
В математике часто используются многомерные массивы. Для реализации их в Паскале достаточно задать массив, компонентами которого также являются массивы. Т.е. в этом случае при задании массива базовый тип тоже массив. Так можно задать массив любой размерности.
Например: array [ 1..10 ] of array [ 1..20 ] of real - задает матрицу
( двумерный массив ) из 200 вещественных чисел. Это же более компактно можно записать так:
array [1..10, 1..20] of real.
Для обращения к элементу такого двумерного массива надо написать имя массива и за ним в квадратных скобках два индекса через запятую.
Рассмотрим пример программы, которая по исходной матрице A размером 10 на 5 строит массив B, содержащий суммы элементов строк матрицы. Для этого придется организовать два цикла: один для перебора строк матрицы (внешний цикл) и в теле этого цикла - второй, считающий сумму элементов строки.
Program Summat;
Type mat = array [1..10,1..5] of real;
vect = array [1..10 ] of real;
Var a: mat;
b: vect;
i, j : integer;
Begin
Writeln(‘ Введите матрицу ‘)
For i := 1 to 10 DO
For j := 1 to 5 DO
Readln( a[ i, j ] );
{ цикл для перебору строк }
For i := 1 to 10 Do
Begin
b[ i ]:= 0;
{ цикл для суммирования i-ой строки}
For j := 1 tj 5 Do
b[i] := b[i] + a [ i,j ];
End;
{ вывод массива b }
For j := 1 to 5 do
Write ( b[ j ] )
End.
2.5.5.Комбинированные типы (записи)
Значение переменной типа записи состоит из многих компонентов. В этом смысле запись похожа на массив, но массив это совокупность однотипных компонентов, а запись состоит из полей, каждому из которых задается свой тип.
Комбинированный тип задается следующим образом:
record
список полей
end
В этом выражении список полей зто перечисленные через точку с запятой имена полей с указанием их типов. Например, если необходимо хранить фамилию и год рождения студента, то для этого можно ввести переменную stud типа записи:
VAR stud : record
fio: string;
gr: integer;
end;
Чтобы обратиться к полю записи, необходимо написать имя переменной комбинированного типа и за ним через точку – имя поля. Например, для обращения к имени студента надо написать:
stud.fio
2.6. Подпрограммы
В Паскале имеется две разновидности подпрограмм: процедуры и функции. Подпрограмма является составной частью программы, ее текст помещается в разделе описаний программы. Структура подпрограммы аналогична структуре всей программы. В процессе выполнения программы подпрограмма может выполняться многократно для различных значений входных параметров.
При проектировании алгоритмов “сверху - вниз” целесообразно укрупненные блоки оформлять в виде подпрограмм.