Для программирования разветвлений в алгоритме чаще всего используется условный оператор if…then или if…then…else.
Однако если путей выбора много, то запись алгоритма с помощью условного оператора становится сложной.
В таких случаях намного удобнее использовать оператор выбора case.
Этот оператор имеет следующую форму:
case <выражение> of
значение 1: оператор 1;
значение 2: оператор 2;
………………………………………
значение n: оператор n;
else begin
операторы ветви else;
end;
end;
В этой конструкции операторы могут быть составными, <выражение> должно быть порядкового типа, т.е. integer, char, boolean.
Тип <значение> должен совпадать с типом <выражение>, может быть одно или несколько, разделенных запятыми, а также может представлять собой
некоторый диапазон значений.
Вся конструкция должна завершаться ключевым словом end.
Ветвь else вместе с оператором может отсутствовать.
Оператор работает следующим образом:
1. вычисляется значение <выражения>.
2. выполняется оператор, метка которого <значение> совпадает со значе-нием <выражение>.
3. Если ни одно<значение> не совпадает со значением <выражение>, вы-полняется оператор после else.
Примеры:
Пример использования инструкции case для организации меню (схема)
program menu1;
var
vybor:integer;
begin
writeln('1 - Максимальная температура');
writeln('2 - Минимальная температура');
writeln('3 - Средняя температура');
writeln;
writeln('Введите номер задачи и нажмите <Enter>');
write('Ваш выбор -> ');
readln(vybor);
case vybor of
1: begin
{ вычисление максимальной температуры }
end;
2: begin
{ вычисление минимальной температуры }
end;
3: begin
{ вычисление средней температуры }
end;
end;
end.
С клавиатуры вводим номер месяца и компьютер определяет время года
program Prim2;
uses CRT;
var month: integer;
begin
writeln('Введите номер месяца и нажмите <Enter>');
write('->');
readln(month);
case month of
1,2,12 : writeln('ЗИМА');
3,4,5 : writeln('ВЕСНА');
6,7,8 : writeln('ЛЕТО');
9,10,11: writeln('ОСЕНЬ');
else writeln('Число должно быть от 1 до 12');
end;
readln;
end.
3. Написать программу, которая вычисляет стоимость междугороднего телефонного разговора.
Формула: цена минуты * количество минут разговора
(в зависимости от кода города – цена минуты разная)
program Prim3;
uses CRT;
var
kod: integer;
cena: real;
dlit: integer;
summ: real;
begin
writeln('Вычисление стоимости разговора по телефону');
writeln('Введите исходные данные:');
write('код города ->');
readln (Kod);
write('Длительность разговора (целое количество минут ->');
readln(dlit);
write('Код города: ');
case kod of
432: Begin
writeln('Владивосток');
cena:=2.2;
end;
495: begin
writeln('Mocквa');
cena:=1;
end;
815: begin
writeln('Мурманск');
cena:=1.2;
end;
812: begin
writeln('Санкт - Петербург');
cena:=0.00000;
Writeln('У нас бесплатно');
end;
846: begin
writeln('Caмapa');
cena:=1.4;
end;
end;
summ:= cena * dlit;
writeln('Цена минуты:', cena:6:2,'pyb.');
writeln('Стоимость разговора:',summ:6:2,' pyb.');
readln;
readln;
end.
4. Написать программу, которая вычисляет дату следующего дня. Рекомендуемый вывод на экран:
Введите цифрами сегодняшнюю дату (число месяц год) -> 31 12 2010
Последний день месяца!
С наступающим Новым годом!
Завтра 1.1.2011
Program Prim4;
Uses Crt;;
var
day:integer;
month:integer;
year:integer;
last:boolean;{TRUE, если текущий день последний день месяца }
r:integer; {если год високосный, то остаток от деления year на 4 равен нулю }
begin
writeln;
writeln('Задайте цифрами сегодняшнюю дату');
write('( число месяц год )-> ');
readln(day,month,year);
last:=FALSE;
case month of
1,3,5,7,8,10,12:if day=31
then last:=TRUE;
4,6,9,11: if day=30
then last:=TRUE;
2: if (day=28)
then begin
r:=year mod 4;
if r<>0 then
last:=TRUE;
end;
end;
if last
then begin
writeln('Последний день месяца!');
day:=1;
if month=12
then begin
month:=1;
year:=year + 1;
writeln('С наступающим Новым годом!');
end
else month:=month + 1;
end
else day:=day + 1;
writeln('Завтра ',day,'.',month,'.',year );
end.
5. Написать программу, которая после введённого с клавиатуры числа (в диапазоне 0т 1 до 99, обозначающего денежную единицу, дописывает слово РУБЛЬ в правильной форме: 12 рублей, 21 рубль и т.д.
Uses Crt;
var
n: integer; {число}
m: integer; {остаток от деления n на 100 (последние 2 цифры) }
r: integer; {остаток от деления n на 10 (последняя цифра) }
begin
writeln ('введите целое число(от 1 дo 999) ', 'и нажмите <Enter> ');
write ('-> ');
readln(n);
write (n, ' ');
{окончание определяется двумя последними цифрами }
if n>100
then m:= n mod 100;
if (m>= 11) and (m<= 14)
then
writeln ( 'рублей' )
else begin
r:=n mod 10;
case r of
0, 5..9: writeln ('рублей');
1: writeln ('рубль');
2..4: writeln ('рубля');
end;
end;
readln;
end.
Другие работы по теме:
Выражения и Операторы
Выражения. Операторы Выражения. Пустой оператор. Блоки. Операторы if. Операторы switch. Оператор while. Оператор for. Описания.
Основные операторы языка Turbo-Paskal. Процедуры и функции
Принцип работы основных операторов языка программирования Turbo-Paskal: оператор присваивания, выбора Case, безусловного перехода, цикла, уловный, составной. Формальное описание и вызов функции и процедуры. Требования к списку фактических параметров.
Обзор С++
Конструкции языка программирования С++, составление простых программ, использyющих оператор if, оператор if else и оператор switch. Работа оператора switch. Создание программы, которая по дате определяет день недели , на который эта дата приходится.
Оператор присваивания языка FORTRAN
Министерство науки, высшей школы и технической политики Российской Федерации. Новосибирский Государственный Технический Университет. Курсовая работа по системному программированию.
Сложение и вычитание целых неотрицательных чисел в двоичном коде
Числа с фиксированной точкой характеризуются длиной слова в битах, положением двоичной точки, бывают беззнаковыми или знаковыми. Позиция двоичной точки определяет число разрядов в целой и дробной частях машинного слова. Представление отрицательного числа.
Метки. Оператор GOTO. Процедура Halt
С.А. Григорьев Операторы в Паскале могут быть помечены. Метки - это идентификаторы, или целые числа от 0 до 9999, они могут записываться перед любым выполняемым оператором и отделяются от него двоеточием. Оператор может иметь любое количество меток. Все метки, использованные в программе, должны быть описаны в разделе описаний с ключевым словом LABEL.
Условный оператор. Блок. Оператор выбора
С.А. Григорьев Условный оператор в Паскале записывается в виде: IF логическое выражение THEN оператор/блок [ELSE оператор/блок] логическое выражение - это любое выражение, значение которого имеет тип Boolean, блок - это последовательность операторов, заключенная в логические скобки : BEGIN операторы END; .
Операторы Turbo Pascal 7
Операторы Turbo Pascal Содержание 1. Операторы ввода и вывода информации. 2. Операторы языка ТР.7. 2.1 Составной оператор Begin ... end. 2.2 Условный оператор If.
Парсер на РНР - это возможно
Парсер на РНР - это возможно! Антон Калмыков В данной коротенькой статье я хочу продемонстрировать, что РНР может очень хорошо справляться с функцией синтаксического разбора выражений. Для тех, кто никогда не касался данной тематики, я думаю, статья будет так же интересна, поскольку в ней мы рассмотрим метод программирования в виде конечных автоматов.
Waterford Crystal A Case Analysis Essay Research
111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
Law Suit Essay Research Paper NegligenceThe topic
Law Suit Essay, Research Paper Negligence The topic that will be discussed in this paper is negligence. Negligence is any conduct which creates an unreasonable risk of foreseeable harm to another. There has to be risk involved in the case in order for there to be negligence. Therefore, if there is no risk involved, then there is no case for negligence.
Case Queen Versus Dudley And Stephens Essay
, Research Paper In the case Queen versus Dudley and Stephens the criticism that is most applicable is the third one about moral inconsistencies in the law. In this case the law teaches us that, in a situation such as the one Dudley and Stephens found themselves in, it is more moral to sacrifice our lives than to preserve it.
Sex Religion Discrimination Essay Research Paper The critical
Sex+Religion Discrimination Essay, Research Paper The critical issue in this case is whether Farm Fresh Food, Inc. acted lawfully by denying employment to Jennifer Brand. Farm Fresh Foods further claim that Ms. Brand failed to establish a prima facie case of discrimination based on sex or religion. Furthermore, they claim that even had such case been established, Farm Fresh decision to deny employment to Ms.
Gag Order Essay Research Paper Gag Order
Gag Order Essay, Research Paper Gag Order – A judge’s order prohibiting the attorneys and the parties to a pending lawsuit or criminal prosecution from talking to the media or the public about the case. The supposed intent is to prevent prejudice due to pre-trial publicity which would influence potential jurors.
Marbury V Madison Trial Essay Research Paper
Marbury v. Madison The issue before the Supreme Court was the question of the court?s own constitutional authority, and to decide whether or not to issue the writ and if this would
Dred Scott Case Essay Research Paper The
Dred Scott Case Essay, Research Paper The Dred Scott case is one of the most significant cases in American history. Dred Scott was a former slave of a master named, Peter Blow. When Mr. Blow became financially in trouble he sold Dred Scott to Dr. John Emerson who was a physician. The military career of Dr. Emerson he traveled to many places including Illinois which at the time it was prohibited to own a slave which was stated in the Missouri Compromise of 1820.
The Fight Theory And The American Legal
System Essay, Research Paper The aim of the legal profession is to seek out the truth and provide justice for those who were wronged. Lawyers represent clients who are on opposite sides of the case, and who most often have opposite views of the truth. In the legal system there exist two opposing views on the method of uncovering the truth.
Media Essay Research Paper Media AwarenessThe case
Media Essay, Research Paper Media Awareness The case that I decided to focus on is an older abuse case, but it has recently been resolved in the courts. It is a child abuse case involving James and Bonnie Zeleski. They
Fairness Of Jurors Essay Research Paper MUST
Fairness Of Jurors Essay, Research Paper MUST A JUROR’S MIND BE EMPTY TO BE OPEN?This article is about a concept of choosing the 12 jurors. In any case, jurors always play important roles in the court since they are the people who will come up with a verdict. Because of this, people believe that when the jurors are chosen for a certain trial, they must be aware of that case and know what is going on in that case.
Hw Lab Essay Research Paper I TitlePopulation
Hw Lab Essay, Research Paper I. Title Population Genetics and Evolution: Hardy Weinberg Equation II. Hypothesis This lab is separated into four different cases. Within each of these cases, there are
Case Study Essay Research Paper Case Study
Case Study Essay, Research Paper Case Study : Media ups and downs Summary: The Australian made midday television program ?Day time with Amanda? first aired in 1993, showing good ratings and high advertising revenue during its early stages.
Алгоритми і програми з розгалуженнями
Тема: . План. Оператор безумовного переходу (goto). Умовні оператори. Складена команда. Література: Я.М. Глинський. Інформатика. Алгоритмізація і програмування. Книжка 1. с. 67-85.
Використання масивів та циклів
Лаболаторна робота №3 Тема: Організація циклів та масивів на мові Паскаль. Мета: Навчитись розвязувати задачі з циклом, працювати з масивами. Теоретичні відомості.