- •Министерство образования и науки российской федерации
- •Оглавление предисловие
- •Составление структурных схем алгоритмов и программ
- •Пример 1
- •Пример 2
- •Задания
- •Пример 3
- •Задания
- •Пример 4
- •Пример 5
- •Задания
- •Алфавит языка pascal. Типы данных. Раздел описаний. Оператор присваивания. Ввод-вывод. Составление простейших программ
- •Стандартные процедуры
- •Стандартные функции
- •Пример 1
- •Пример 2
- •Задания
- •Пример 3
- •Задания
- •Задания
- •Использование переменных логического типа. Логический оператор присваивания
- •Логический оператор присваивания
- •R операция_сравнения s
- •Пример 1
- •Задания
- •4. Программирование разветвляющихся структур
- •4.1. Использование в программах условного оператора
- •Пример 1
- •Задания
- •4.2. Использование в программах оператора варианта
- •Case выражение-селектор of метка_случая : оператор;
- •Пример 1
- •Задания
- •5. Использование переменных типа char
- •Задания
- •6. Реализация циклических структур
- •6.1. Применение оператора цикла с параметром
- •Шаг изменения параметра цикла:
- •Пример 1
- •Задания
- •Пример 2
- •Пример 3
- •Задания
- •Пример 4
- •Задания
- •Таким образом изображаются циклы в структурных схемах (в лабораторных работах, курсовых работах и т.Д.). Пример 5
- •Задания
- •Задания
- •Пример 6
- •Задания
- •Не смотря на то, что есть еще другие операторы цикла, обычно вводят и выводят массивы с помощью оператора цикла с параметром.
- •6.2. Применение оператора цикла с постусловием
- •Пример 1
- •Задания
- •6.3. Применение оператора цикла с предусловием
- •Основные различия между операторами циклов с постусловием и предусловием
- •Пример 1
- •Задания
- •6.4. Работа с двухмерными массивами.
- •Задания
- •Пример 1
- •Задания
- •7. Поиск и сортировка числовых данных
- •Пример 1
- •Задания
- •8. Решение задач с применением подпрограмм
- •Procedure имя(список параметров);
- •Var идентификаторы:имя типа;...; var идентификаторы: имя типа
- •Var идентификаторы:имя типа;...;var идентификаторы: имя типа;...; идентификаторы:имя типа;...;идентификаторы:имя типа
- •Идентификаторы:имя типа;идентификаторы:имя типа; ...;идентификаторы:имя типа
- •Локальные переменные доступны только внутри процедур, в которых они определены!
- •Пример 1
- •Задания
- •9. Использование переменных перечисляемого типа
- •Ввод и вывод значений переменных перечисляемого типа запрещен.
- •Задания
- •10. Использование переменных ограниченного типа
- •Задания
- •11. Использование переменных множественного типа
- •Var идентификатор : set of порядковый тип;
- •Запрещен.
- •Правила приоритета для множественных операций:
- •Задания
- •12. Использование записей
- •With префикс[,префикс [...]] do оператор
- •Пример 1
- •Задания
- •13. Работа со строками
- •Каждая переменная типа string вводится отдельной процедурой readln
- •Пример 1
- •Задания
- •14. Работа с файлами
- •Пример 1
- •Пример 2
- •Пример 3
- •Задания
- •Библиографический список
4.2. Использование в программах оператора варианта
Оператор варианта в литературе называют еще оператором выбора. Общий вид оператора:
Case выражение-селектор of метка_случая : оператор;
метка_случая : оператор;
………….……….………….…
метка_случая : оператор
ELSE операторы
END
Выражение-селектор может быть целого, символьного или булевского типа, а также может иметь тип, определяемый пользователем - перечислимый или ограниченный. Метки случая должны принадлежать к тому же типу, что и выражение-селектор.
Часть «ELSE оператор» может отсутствовать. Перед ELSE можно поставить точку с запятой, но это будет лишний пустой оператор.
Из определения оператора CASE следует, что в данный момент будет выполняться лишь один оператор, а именно тот, метка случая которого равна текущему значению выражения-селектора.
Если ни одна из меток не равна текущему значению выражения-селектора, то в случае отсутствия части «ELSE оператор» никакие операторы, входящие в состав оператора CASE, не выполнятся, а будет выполняться следующий за END (от CASE) оператор. Если же часть «ELSE оператор» присутствует, то будет выполняться оператор, следующий за ELSE.
Итак, сначала вычисляется значение выражения-селектора, затем выполняется оператор, метка_случая которого совпадает со значением селектора.
Пример записи оператора CASE:
CASE A of
77 : y:=Exp(X);
{диапазон} 1..4: y:=x;
5,10 : y:=Sin(x);
-1..0 : y:=Cos(x);
105,9: y:=-x;
-5,6..8 : y:=Sqr(x)
ELSE y:=ln(x)
end
Пусть A принимает значения: 105; 7; -7; 103; 3; -10; 10; 0; 77. Как в этих случаях будет вычисляться y?
Пример 1
Написать программу для определения значения величины Z:
где i- переменная целого типа.
Решение
Var
x,z,f:real;
i:integer;
Begin
Read(x,f,i);
case i of
3,18: z:=3*x+cos(f);
0..2,24..100: z:=4*x-sin(f);
13: z:=35*x
else z:=0
end; {case}
Write('z=',z)
End.
На этом примере покажем, как оператор варианта отображается в структурных схемах:
Задания
№1. Определить, какими будут значения переменных p и d в результате работы следующей программы:
Var
p:boolean;
d,k:integer;
Begin
Readln(k);
p:=true;
d:=1;
case k mod 10 of
4..6 : d:=k;
1
Обратите
внимание: если нам надо выполнить
несколько операторов в каком-либо
случае, то используются операторные
скобки.
p:=false;
d:=2
end;
9 : ;
1..3,6..8 : begin
p:=false;
d:=3
end
end; {case}
Writeln('p=',p,' d=',d)
End.
если целая переменная k принимает следующие значения:
а) 62; б) 236; в) 78; г) 100; д) 221; e) 99; ж) 345.
№2. Написать программу для определения значения величины Q, где N - целого типа:
На О.О.Ф. не исследовать; считать, что все исходные данные удовлетворяют О.О.Ф.
№3. Написать программу для определениязначения величинR,R1, гдеJ,N- целого типа:
На О.О.Ф. не исследовать; считать, что все исходные данные удовлетворяют О.О.Ф.
№4. Если остаток от деления К на 10 есть 3,2,7,5, то d положить равным К; если 4 или 8, то d положить равным 2; если 9 или 6, то d положить равным 3.
№5. Заданы четыре интервала на числовой оси:
[-100,50] ; [0,20] ; [51,100] ; [200,300]
- и точка X (целого типа). Какому интервалу или интервалам принадлежит точка Х? Указать номер (или номера) интервала.
№6. Заданы пять интервалов на числовой оси:
[-100,-20]; [-20,-10]; [0,0]; [5,20]; [10,30].
Определить, какому интервалу принадлежит точка Х (целого типа).
Если точка Х принадлежит 1-му интервалу, то вычислить значение Cos в точке Х;
если 2-му интервалу, то вычислить значение Sin в точке Х;
если 3-му интервалу, то вычислить значение Ln 5;
если 4-му интервалу, то вычислить значение Ln в точке Х;
если 5-му интервалу - квадратный корень из Х.
Вычисленные значения вывести на экран.