Реферат: Уроки №5-6 тема: " Программирование ветвящихся алгоритмов. Оператор выбора "
УРОКИ № 5-6
ТЕМА: " Программирование ветвящихся алгоритмов. Оператор выбора ".
Оператор варианта.
Оператор служит для выбора одного из помеченных вариантов действия (операторов), в зависимости от значения "параметра". Оператор имеет вид:
C
Список помеченных операторов
ASE параметр OF
метка 1: оператор 1;
метка 2: оператор 2;
. . . . . . . . . . . . . . . . .
метка N: оператор N
ELSE оператор N+1
END;
Здесь "параметр" - выражение или переменная порядкового (перечисляемого) типа. Перечисляемый тип определяется как упорядоченный набор идентификаторов, заданных путем их перечисления.
Из "списка помеченных операторов" выполняется оператор с меткой, включающей значение "параметра", иначе оператор после слова Else. Конструкция Else "оператор" может отсутствовать.
Метка варианта - не обычная метка: это не обязательно целое число, она не описывается в разделе LABEL, на неё нельзя ссылаться в операторе GOTO.
Напомним, что "оператор" может иметь вид: Begin "операторы" end;
Обратите внимание, что синтаксис языка предполагает один оператор для каждой альтернативы; при необходимости задания нескольких операторов следует сгруппировать их в составной оператор. В то же время ветвь else допускает последовательность операторов, разделённых символом ";"
Пример 1. Определить порядок целого числа N от 0 до 999:
case N of
0..9: writeln('однозначное');
10..99: writeln('двузначное');
100..999: writeln('трехзначное')
else writeln('Число "N" не входит в указанный диапазон')
end;
Пример2. Пример программы случайного предсказания одного из десяти вариантов ближайшего будущего с вероятностью 1/20, в остальных случаях - вы "неудачник".
^ PROGRAM FUTURE;
var N: word;
Begin
writeln('ПРЕДСКАЗАНИЕ БУДУЩЕГО');
Randomize; N:=Random(20)+1; { N - случайное число от 1 до 20 }
writeln; write('Вас ожидает _');
case N of
1: writeln('счастье');
2: writeln('пятерка');
3: writeln('дорога');
4: writeln('двойка');
5: writeln('болезнь');
6: writeln('здоровье');
7: writeln('деньги');
8: writeln('любовь');
9: writeln('встреча');
10: writeln('проблемы')
else writeln('неудача') end;
writeln('Нажми Enter');
readln;
END.
Здесь функция Random(x) генерирует случайное число, с равномерной плотностью распределения на заданном интервале. Для инициализации распределения в начале программы необходимо вызвать процедуру Randomize.
Блок-схема команды выбор:
^ Оператор ветвления.
Условный оператор включает в себя операторы, которые выполняются или не выполняются в зависимости от записанного в операторе условия. Оператор имеет вид:
^ IF "условие" Then "оператор 1" Else "оператор 2";
где "условие" - выражение логического типа; "оператор 1" выполняется, если условие верно (True), "оператор 2" выполняется, если условие не верно (False).
Например, вычисление квадратного корня из числа "a" проводится при условии a>=0, операторами: ^ IF a >= 0 Then b:= Sqrt(a) Else begin WriteLn ( 'a<0' ); Readln; Halt end;
Оператор Halt прекращает выполнение программы.
Блок-схема выполнения условного оператора имеет вид:
В условном операторе может отсутствовать блок ^ Else оператор2; т. е. условный оператор может иметь вид: IF "условие" Then "оператор1";
Например: IF a<0 Then a:= abs(a);
Пример 3.
Вывести на экран большее из двух данных чисел.
^ Program Example 2;
Var x,y: Integer;
Begin
Writeln('введите 2 числа');
{вводим два целых числа через пробел } Readln(х,у);
If x>y Then Writein(х) {если (If) х больше у, то (Then) выводим х,}
Else Writeln(у);{иначе (Else) выводим у}
Readln;
^ End.
III. Закрепление. Практическая работа
1. Написать программу, проверяющую, принадлежит ли число, введенное с клавиатуры, интервалу (0; 5).
Решение.
Число х принадлежит заданному интервалу лишь в том случае, если одновременно выполняются оба условия: (х>0) и (х<5).
^ Program Example 3;
Var х: Integer;
Begin
Writein('Введите число х'); Readin(х);
If (x>0)and(x<5) Then Writein(х,' принадлежит (0,5)') Else Writein(х,' не принадлежит (0,5)');
End.
2. В старояпонском календаре был принят двенадцатилетний цикл. Годы внутри цикла носили названия животных: крысы, коровы, тигра, зайца, дракона, змеи, лошади, овцы, обезьяны, петуха, собаки, и свиньи. Написать программу, которая позволяет ввести номер года и печатает его название по старояпонскому календарю. Справка: 1996 – год крысы – начало очередного цикла.
^ Вложенные условные операторы (желательно рассмотреть, если позволяет время)
При решении задач часто приходится рассматривать не два, а большее количество вариантов. Это можно реализовать, используя несколько условных операторов. В этом случае после служебных слов Then и Else записывается новый условный оператор.
Условный оператор управляет только одним оператором, поэтому если требуется произвести более 1 действия, то необходимо использовать составной оператор (операторные скобки).
Условные операторы могут быть встроенными. И в тоже время не каждый встроенный оператор может иметь ELSE. В этом случае появляется неоднозначность, которая решается следующим образом: ELSE всегда относится к ближайшему IF.
Пример 4. Определить весовую категорию в зависимости от веса спортсмена.
^ PROGRAM VES; { определение весовой категории спортсмена }
Условная схема программы
CONST A1='легкая категория';
^ A2='средняя категория'; Then
A3='тяжелая категория'; IF Writeln(A1)
A4='сверхтяжелая категория'; Else
var V : integer; Then
IF Writeln(A2)
BEGIN Else
write('введите вес спортсмена V='); Then
readln(v); IF Writeln(A3)
Else
IF V < 62 then writeln(A1)
else Writeln(A4)
IF V < 75 then writeln(A2) { вложенный условный оператор }
else
IF V < 88 then writeln(A3) { вложенный условный оператор }
else writeln(A4);
writeln('Нажмите Enter'); readln;
END.
Файл Ves.pas
IV. Домашнее задание.
Выучить конспект.
Написать программы на Паскале для решения задач:
По заданному числу от 1 до 7 определить название дня недели.(primer4.pas)
Вывести на экран номер четверти, которой принадлежит точка с координатами (х, у) , при условии, что (х<>0) и (у<>0) . (файл nom_chet.pas)
0>
еще рефераты
Еще работы по разное
Реферат по разное
«Формы и методы организации познавательной деятельности на уроках биологии»
17 Сентября 2013
Реферат по разное
Активизация познавательной деятельности слабовидящих детей на уроках
17 Сентября 2013
Реферат по разное
Урок по теме «Слуховой анализатор»
17 Сентября 2013
Реферат по разное
Приёмы, формы и методы мотивации деятельности учащихся на уроке
17 Сентября 2013