
- •Введение
- •Глава 1. Структурное программирование
- •1.1 Основные определения
- •1.2 Три основных действия
- •1.2.1 Последовательность
- •1.2.2 Выбор
- •1.2.3 Цикл
- •1.3. Структурный подход к решению задач
- •Задание
- •1.4. Организация хранения и обработки данных
- •1.4.1 Записи и списки
- •Задание
- •1.4.2 Очередь
- •Задание
- •1.4.3 Стек
- •Задание
- •1.5 Структурное программирование.
- •2. Программирование на языке паскаль
- •2.1. Краткая история эвм и языки программирования
- •Задание
- •2.2. Интегрированная среда borland pascal
- •2.2.1. Краткая характеристика. Запуск программы
- •2.1.2. Основы работы в редакторе Открытие нового окна
- •Завершение работы со средой
- •Задание
- •«Горячие» клавиши интегрированной среды
- •2.3. Структура программы
- •2.3.1.Основные положения
- •2.3.2. Понятие идентификатора
- •2.3.3. Первая программа
- •2.3.4. Описание подпрограммы (процедуры).
- •2.3.4. Строковый тип данных
- •2.3.5. Процедуры ввода и вывода данных
- •Задание
- •2.4. Программа калькулятор.
- •2.4.1. Тип целые и вещественный.
- •2.4.2. Переменные вещественного типа
- •Задание
- •2.5. Улучшенный калькулятор
- •2.5.1. Операторы выбора
- •Булевские (логические) операции
- •Операции отношения
- •Оператор if … then
- •Оператор case
- •2.5.2. Основные отличия применения операторов выбора. Перечисляемый тип. Интервальный тип.
- •Задание
- •2.6. Улучшенный каЛьКулятор (продолжение)
- •2.6.1. Оператор цикла с постусловием (проверка на ноль)
- •2.6.2. Оператор цикла с предусловием
- •2.6.3. Оператор цикла со счетчиком (параметром)
- •Задание
- •2.7. Переменные типа массив
- •2.7.1. Виды массивов
- •2.7.2.Описание массива
- •2.7.3.Нахождение максимального элемента в массиве
- •Задание
- •2.7.4. Строковая переменная (продолжение)
- •Задание
- •2.7.5. Строковая переменная как массив
- •Мама мыла раму
- •Задание
- •2.7.6. Описание функции
- •Задание
Оператор case
Вторым оператором выбора в языке Паскаль является оператор выбора Case. Оператор выбора Case является обобщением оператора if , он дает возможность выполнять один из нескольких действий в зависимости от значения ключа. Основной формат является следующим:
Case <Имя ключа> of
<Первое значение ключа> : <Действие 1>;
<Второе значение ключа > : < Действие 2>;
< Третье значение ключа > : < Действие 3>;
. . . .
< N-ое значение ключа > : < Действие N>
else < Действие >
end;
Перепишем программу с использованием оператора case, изменения будут затрагивать только процедуру Work:
procedure Work;
begin
case znak of
'+': resultat:=chislo1 + chislo2;
'-': resultat:=chislo1 - chislo2;
'*': resultat:=chislo1 * chislo2;
'/': resultat:=chislo1 / chislo2;
'd': resultat:=chislo1 div chislo2;
'm': resultat:=chislo1 mod chislo2
else resultat:=0;
end;
end;
Проведите трассировку программы, сравните процесс работы с предыдущими программами. Заметьте, что если вы введете знак действия отличный от +,-,/,*,d,m, то программа выдаст результат равный нулю. Сохраните эту программу под именем Primer_6.pas.
2.5.2. Основные отличия применения операторов выбора. Перечисляемый тип. Интервальный тип.
Казалось бы, применение оператора выбора Case более предпочтительно, однако его применение ограничивается только значениями имеющими порядковый тип.
Порядковыми называются такие типы данных, значения которых, можно расположить в возрастающем порядке. К этому классу можно отнести такие типы как ЦЕЛЫЕ, СИМВОЛЬНЫЕ и ЛОГИЧЕСКИЕ, а также ещё два типа - перечисляемые и интервальные типы данных.
Перечисляемый тип данных. В процессе работы язык позволяет работать не только с простыми типами данных, но и создавать пользователю собственные типы данных. Одним из таких типов является перечисляемый тип. Для задания данного типа в блоке описания нужно написать служебное слово Type, затем написать имя (идентификатор) который мы даем этому типу и под которым будем к нему обращаться. В скобках, через запятую, описываются все допустимые значения, которые могут принимать переменные этого типа.
Type
Day = (Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday);
Var
x : Day;
Значения, задаваемые в скобках являются именами. Их можно присваивать, сравнивать. Из двух значений большим является то, которое в описании типа стоит правее.
Интервальный тип данных. Вторым типом, задаваемым пользователем, является интервальный тип. Он задается на основе базового типа данных как интервал значений. Интервал задается своими крайними значениями. В качестве базового типа может быть использован любой простой тип, кроме вещественного типа.
Type
Day = 1..31;
Month = 1..12;
Таким образом, если переменные имеют вещественный тип, то придется использовать оператор выбора if … then.
Задание
1. Напишите программу, используя оператор выбора if … then , которая считывает данные с клавиатуры о температуре и выводит на экран сообщение согласно данным в приведенной ниже таблице:
-
Температура
Сообщение
<-20oC
Очень холодно
-20 oC<= t<0 oC
Холодно
0 oC<= t<10 oC
Прохладно
10 oC<= t<20 oC
Тепло
20 oC<= t
Жарко
2. Используя, оператор выбора case , перепишите предыдущую программу. Проверьте, что произойдет, если в качестве типа переменной температура взять вещественный тип?