
- •Содержание
- •Предисловие научного редактора
- •Введение
- •1. Понятие алгоритма. Способы представления алгоритмов
- •В виде компьютерной программы:
- •2. Свойства алгоритмов
- •Язык графического представления алгоритмов
- •4. Общие принципы построения программ
- •5. Структура программы на языке паскаль
- •6. Классификация типов данных, используемых в языке паскаль
- •6.1. Символьный тип
- •6.2. Числовые типы
- •6.2.1. Целые типы
- •6.2.2. Вещественные типы
- •6.3. Логический тип
- •6.4. Типы данных, определяемые программистом
- •7. Основные операторы языка паскаль.
- •7.1. Операторы (процедуры) ввода – вывода
- •7.2. Оператор присваивания
- •7.3. Условный оператор
- •Первый вариант условного оператора:
- •If условие then оператор1 else оператор2;
- •Второй вариант условного оператора (сокращенная форма):
- •If условие then оператор1;
- •If условие1 then
- •If условие2 then оператор21 else
- •If условие3 then оператор31 else
- •7.4. Оператор выбора case
- •7.5. Операторы цикла
- •7.5.1. Оператор цикла с параметром
- •Параметр цикла I меняет свои значения только автоматически, при переходе к следующему шагу цикла. Изменения параметра цикла I в теле цикла запрещены.
- •7.5.2 Оператор цикла с предусловием оператор цикла с предусловием имеет структуру:
- •7.5.3. Оператор цикла с постусловием
- •8. Структурированные типы данных
- •8.1. Массивы
- •8.2. Записи
- •8.3. Файлы
- •2.Связать файловую переменную с именем файла на диске с помощью процедуры Assign(фп, ‘имя_файла_на диске’).
- •3. Открыть файл:
- •4. Выполнить работу с файлом.
- •Закрыть файл при окончании работы: Сlose(фп);
- •9. Процедуры и функции
- •9.1. Процедуры
- •Var I:integer; {I – локальная переменная}
- •9.2. Функции
- •2)Имя функции входит составной частью (как переменная) в некоторое выражение.
- •Задание к лабораторной работе №2.
- •Часть 1. Тема: вычисление по формулам и представление результатов с учетом форматного вывода.
- •Часть 2. Тема: Циклические вычисления с учетом диапазона типа данных и выдача результатов вычислений по шагам.
- •Задание к лабораторной работе №3.
- •Часть 1 .
- •Часть 2.
- •Задание к лабораторной работе №4.
- •Лабораторная работа №5.
7.4. Оператор выбора case
ОПЕРАТОР ВЫБОРА CASE – позволяет выбрать одно из нескольких направлений дальнейшего выполнения программы. Структура оператора:
CASE kv OF
Знач1: оператор1;
Знач2: оператор2;
…
Значk: операторk
[ ELSE оператор]
END;
Здесь kv – ключ выбора или выражение для вычисления значения ключа.
Примечание. Тип ключа выбора – любой порядковый тип (целый, символьный, логический, перечислимый).
Знач1, Знач2,…, Значk – значения, которые может принимать ключ kv (константы того же типа, что и ключ kv).
Работа оператора Case состоит в следующем: значение ключа kv последовательно сравнивается с каждой из констант и при их равенстве выполняется соответствующий этой константе оператор. После выполнения выбранного оператора действие Case завершается. Если значение kv не равно ни одной из перечисленных констант, то выполняется оператор, записанный после ELSE. В частности, раздел ELSE может быть опущен и в этом случае оператор выбора эквивалентен пустому оператору.
Пример1. По заданному номеру месяца программа выдает число дней в месяце.
Program long_m;
Var n_m:byte;
Begin
write(‘Введи номер месяца:’);readln(n_m);
Case n_m of {ключ n_m – целое число без знака, которое согласно типу byte может принимать значения из диапазона (0,255)}
1,3,5,7,8,10,12: writeln(‘В этом месяце 31 день’);
4,6,9,11: writeln(‘В этом месяце 30 дней’);
2: begin
writeln(‘в феврале невисокосного года 28 дней, ’);
writeln(‘ а в феврале високосного года 29 дней’)
end
else writeln(‘номер месяца задан неверно’)
end{Case};
writeln(‘Для завершения работы нажми enter’);readln
end.
Пример 2. Для заданного значения температуры по Цельсию определяется температура по шкале Фаренгейта, Кельвина или Ренкина.
Program Scale_T;
Var tc:real;
S:char;
Begin writeln(‘Соответствие между температурными шкалами ’);
Writeln(‘Цельсия, Фаренгейта, Кельвина и Ренкина: ’);
Write(‘Задайте значение температуры по Цельсию Tc= ’);
Readln(tc);
If tc >= -273 then
Begin
Writeln(‘Температура по какой шкале Вас интересует? – ‘);
Write(‘Фаренгейта – нажать F, Кельвина – K, Ренкина – R;‘);
Readln(S);
Case S of {ключ – символьное значение}
‘F’,’f’: writeln(‘По Фаренгейту температура равна ’,
(1.8*tc+32) );
‘K’,’k’: writeln(‘По Кельвину температура равна ’,
(tc+273.15) );
‘R’,’r’: writeln(‘По Ренкину температура равна ’,
(1.8*tc+492) )
Else writeln(‘Программа не знает такой шкалы’);
End
Else writeln(‘Некорректно: заданная Tc ниже температуры абсо-
лютного нуля’);
writeln(‘Для завершения работы нажми enter’);readln
end.