Пример 4.2.

Вывести сообщения для дней недели с использованием оператора множественного ветвления. Проект – консольное приложение. В программе в разделе объявления типов type определен  тип WeekDay из 7 строк. В разделе переменных var объявлена переменная MyWeek этого типа, значениям которой в исполняемой части программы присвоены русскоязычные имена дней недели. Программа содержит цикл запроса у пользователя номера дня недели в пределах 1..7. После ввода номера в этом интервале с помощью оператора выбора case..of формируется текстовое сообщение о дне недели. Если пользователь вводит номер 0, работа приложения завершается. Ввод чисел, отличных от 0..7, программа рассматривает, как ошибку, и просит повторить ввод,

Листинг программы

program prg_4_2;

{$mode objfpc}{$H+}

uses

Classes, SysUtils, RusTrans;

label

10;

type

WeekDay=array[1..7] of string;

var

s:string;

MyWeek:WeekDay;

x:integer;

begin

MyWeek[1]:=’Понедельник’;

MyWeek[2]:=’Вторник’;

MyWeek[3]:=’Среда’;

MyWeek[4]:=’Четверг’;

MyWeek[5]:=’Пятница’;

MyWeek[6]:=’Суббота’;

MyWeek[7]:=’Воскресенье’;

writeln(Rus(‘Введите номер дня недели 1..7, для конца 0′));

writeln;

10:readln(x);

case x of

0: s:=Rus(‘Спасибо, до свидания’);

1: s:=Rus(MyWeek[x])+Rus(‘ – день бездельник’);

2,3,4: s:=Rus(MyWeek[x])+Rus(‘ – рабочий день’);

5: s:=Rus(MyWeek[x])+Rus(‘. Уф, завтра отдыхаем!’);

6: s:=Rus(MyWeek[x])+Rus(‘ – выходной день’);

7: s:=Rus(MyWeek[x])+Rus(‘ – выходной день, а завтра…’);

else

begin

writeln(Rus(‘Вы ошиблись, повторите’));

goto 10;

end;

end;

writeln(s);

if x<>0 then goto 10;

readln

end.

Консоль перед закрытием программы:

paskal31

Выводы

  • Для безусловной передачи управления применяется инструкция goto <Метка>.
  • Для ветвлений -  инструкция If <условие> then < инструкция 1>  else < инструкция 2>.
  • Возможна сокращенная инструкция ветвлений if <условие> then < инструкция>.
  • Для множественного ветвления можно применить инструкцию выбора case…of. Селектор этой инструкции должен быть порядкового типа (чаще всего целочисленного, например integer).
  • Если в ветвях then или else нужно выполнить несколько инструкций, то их нужно объединить в одну составную инструкцию с помощью скобок begin…end.
  • Инструкция ветвления может применяться для создания циклов.
Twitter SEO Community Ваау! News2.ru Chipp Korica SMI2 Google Bookmarks Digg I.ua Закладки Yandex Linkstore Myscoop Communizm Ru-marks Webmarks Ruspace Linkomatic Kli.kz Web-zakladka Zakladok.net Reddit delicious Ma.gnolia Technorati Slashdot Yahoo My Web БобрДобр.ru Memori.ru rucity.com МоёМесто.ru Mister Wong



Copyright © 2009-2010 Программирование на паскале.