- •Содержание:
- •Порядок выполнения лабораторных работ
- •Оператор присваивания
- •Операторы ввода-вывода
- •Условный оператор
- •Задание к лабораторной работе
- •Программирование разветвляющегося
- •Оператор цикла for
- •Нестандартные типы данных
- •Ограниченные типы данных
- •Оператор выбора варианта
- •Задание к лабораторной работе
- •Лабораторная работа 3 регулярные типы данных. Селективная обработка массивов
- •Регулярные типы данных
- •Сортировка массивов
- •Примеры выполнения задания лабораторной работы
- •Задание к лабораторной работе
- •Лабораторная работа 4 вложенные циклы. Обработка двумерных массивов
- •Общие указания
- •Задания к лабораторной работе
- •Лабораторная работа 5 процедуры и функции
- •Процедуры
- •Функции
- •Задание к лабораторной работе
- •Лабораторная работа 6 обработка символьных данных
- •Символьный тип данных
- •Строковый тип данных
- •Процедуры
- •Функции
- •'Abcdef' copy(s,2,3) 'bcd'
- •'System' length(s) 6;
- •Задание к лабораторной работе
- •Лабораторная работа 7 комбинированные типы данных
- •Задание к лабораторной работе
- •Лабораторная работа 8 файлы и файловые типы данных
- •Файловый тип данных
- •Процедуры обработки файлов
- •Файлы с типом
- •Процедуры для работы с файлами с типом
- •Функции для обработки файлов с типом
- •Задание к лабораторной работе
- •Список рекомендованной литературы
Оператор цикла for
«Цикл - до» имеет вид
for I:=N1 to N2 do P;
Здесь I – параметр цикла; N1,N2 - начальное и конечное значения параметру цикла; Р - оператор (простой или составной). I,N1,N2 должны быть одного скалярного типа, но не real. Если это целые переменные, то шаг равняется единице.
Например: for M:=5 to 20 do Y:=Y+M;
Цикл по убывающему значению параметра I от N2 к N1 имеет вид
for I:=N2 downto N1 do P;
Нестандартные типы данных
В Паскаль-программу можно ввести переменные какого-либо типа, несовпадающего со стандартным. Такой тип задается перечислением значений, которые может принимать переменная. Общая форма задания перечисляемого типа такова:
type T = (A1, A2, ..., AN);
Здесь Т - обозначение нового типа; A1,A2,...,AN - определяют константы нового типа данных. Последовательность значений, составляющая перечисляемый тип, упорядочена.
Например, новый скалярный тип color можно определить в такой способ:
type color = (red, green, white, blue);
Например, новый скалярный тип color можно определить следующим образом:
type color = (red, green, white, blue);
Для значений перечисляемых типов определены стандартные функции:
succ - получение следующего значения данного типа;
pred - получение предыдущего значения данного типа;
ord - получение порядкового номера данного типа (нумерация с нуля).
Ограниченные типы данных
Отрезок значений любого скалярного типа (кроме типа real) может быть определен как ограниченный тип.
Общий вид - type T = min..max;
Здесь Т - идентификатор типа; min, max - левая и правая границы диапазона. Тип min и max задает множество, которое определяет базовый тип переменной.
Например:
type den = 1..31;
god = 1900..2000;
var x: den; g:god; c:1..12;
Оператор выбора варианта
Оператор варианта служит для выбора одного из нескольких перечисленных в программе действий в зависимости от значения селекторного выражения.
Общий вид –
case N of
M1: P1;
........
Mn: Pn
else P
end;
Здесь N - селектор; М1,М2,...,Мn - метки; Р1,Р2,..., Рn,Р - операторы. Селектор и метки должны быть одного скалярного типа.
Например:
case K of
1 : y:=10;
2..5 : Y:=2*x+5;
6..9 : Y:=sqrt(x)+x;
else Y:= sqr(x)
end;
Примеры выполнения задания лабораторной работы
Пример 10. Определить сезон (зима, весна, лето, осень), на который приходится любой из двенадцати месяцев.
Программа решения данного примера имеет вид:
program pr10;
uses crt;
type cezon=(z,w,l,o);
mec=(j,f,m,a,ma,i,il,aw,c,ok,n,d);
var k:mec; s:cezon; p:char;
Begin clrscr;
FOR K:=J TO D DO
CASE K OF
J,F,D:BEGIN S:=Z; WRITELN(' ':10,'ЗИМА'); END;
M,A,MA:BEGIN S:=W; WRITELN(' ':20,'ВЕСНА'); END;
I,IL,AW:BEGIN S:=L; WRITELN(' ':30,'ЛЕТО'); END;
C,OK,N:BEGIN S:=O; WRITELN(' ':40,'ОСЕНЬ'); END;
end;
p:=readkey
End.
Пример 11. Для целочисленных значений аргумента вычислить таблицу значений функции
где Х1 - множество чисел интервала [0,8];
Х2 - множество нечетных чисел интервала [9,15];
Х3 - остальные числа интервала [-5,15].
Программа вычисления таблицы значений функции z имеет вид:
program pr11;
uses crt;
type arg = -5..15;
var x:arg; z:real; p:char;
begin
clrscr;
for x:=-5 to 15 do
begin
case x of
0..8: z:=pi*sqr(x)*x*(pi+sin(x));
9,11,13,15: z:=sqr(ln(2*x+8))
else z:=2*cos(x+pi/4); end;
writeln(' ':20,' x=',x:3,' ':8,' z=',z:9:3);
end;
p:=readkey
end.