СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ

Благодаря готовым учебным материалам для работы в классе и дистанционно

Скидки до 50 % на комплекты
только до

Готовые ключевые этапы урока всегда будут у вас под рукой

Организационный момент

Проверка знаний

Объяснение материала

Закрепление изученного

Итоги урока

Учебное пособие "Программирование алгоритмов ветвления"

Категория: Информатика

Нажмите, чтобы узнать подробности

Данное учебное пособие разработано в помощь преподавателю и студентам при изучении раздела "Программирование на языке Паскаль" учебной дисциплины Информатика на тему "Программирование алгоритмов ветвления". Преподаватель может использовать пособие на занятии в ходе изложения учебного материала. Студенты могут использовать пособие при самостоятельном изучении данной темы, выполнении домашних заданий и лабораторных работ.

Содержание:

  1. —Алгоритм ветвления
  2. —Логические выражения и операции отношения
  3. —Логические операции и порядок выполнения
  4. —Условный оператор IF
  5. —Оператор выбора CASE

Литература: И. Г. Семакин. Основы программирования, с. 57 – 64. 

Просмотр содержимого документа
«Учебное пособие "Программирование алгоритмов ветвления"»

Программирование алгоритмов ветвления Turbo Pascal 7.0 Екатеринбургский автомобильно-дорожный колледж Преподаватель: Неверова Ирина Юрьевна

Программирование алгоритмов ветвления

Turbo Pascal 7.0

Екатеринбургский автомобильно-дорожный колледж

Преподаватель: Неверова Ирина Юрьевна

План урока: Алгоритм ветвления Логические выражения и операции отношения Логические операции и порядок выполнения Условный оператор IF Оператор выбора CASE Литература : И. Г. Семакин. Основы программирования, с. 57 – 64.

План урока:

  • Алгоритм ветвления
  • Логические выражения и операции отношения
  • Логические операции и порядок выполнения
  • Условный оператор IF
  • Оператор выбора CASE

Литература :

И. Г. Семакин. Основы программирования, с. 57 – 64.

Алгоритм ветвления Ветвление – это такая форма организации действий, при которой в зависимости от некоторого условия выполняются те или иные действия. Формы ветвления : Условие полной и неполной формы Выбор условия полной и неполной формы Условие – это логические выражение, которое может принимать только два значения: true и false .

Алгоритм ветвления

Ветвление – это такая форма организации действий, при которой в зависимости от некоторого условия выполняются те или иные действия.

Формы ветвления :

  • Условие полной и неполной формы
  • Выбор условия полной и неполной формы

Условие – это логические выражение, которое может принимать только два значения: true и false .

Логические выражения Выражением отношения называется словосочетание языка, в котором два выражения связаны знаком операции отношения. Выражение отношения определяет истинность или ложность результата. Операции отношения выполняют сравнение двух операндов и определяют, истинно значение выражения или ложно. Сравнимые логические значения обозначаются служебными словами False (ложь) и  True  (истина), а идентификатор данных логического типа – Boolean . В языке Pascal логические операции отношения важны при написании программ разветвляющихся алгоритмов.

Логические выражения

  • Выражением отношения называется словосочетание языка, в котором два выражения связаны знаком операции отношения.
  • Выражение отношения определяет истинность или ложность результата.
  • Операции отношения выполняют сравнение двух операндов и определяют, истинно значение выражения или ложно.
  • Сравнимые логические значения обозначаются служебными словами False (ложь) и True (истина), а идентификатор данных логического типа – Boolean .
  • В языке Pascal логические операции отношения важны при написании программ разветвляющихся алгоритмов.
Не равно A=B Результат True, если А равно В AB Больше = True, если А не равно В AB Меньше Больше или равно True, если А больше B ATrue, если А меньше В A=B Меньше или равно In True, если А больше или равно В AПринадлежность True, если А меньше или равно В A in M True, если А находится в списке M " width="640"

Операции отношения

Операция

Название

=

Выражение

Равно

Не равно

A=B

Результат

True, если А равно В

AB

Больше

=

True, если А не равно В

AB

Меньше

Больше или равно

True, если А больше B

A

True, если А меньше В

A=B

Меньше или равно

In

True, если А больше или равно В

A

Принадлежность

True, если А меньше или равно В

A in M

True, если А находится в списке M

Логические операции Логическая операция  Название операции Not And Запись Не Or И Not F1 Результат операции Значение, противоположное F1 F1 and F2 Или Xor Сложное условие выполняется, если выполняются условия F1 и F2 F1 or F2 Исключающее «Или» Сложное условие выполняется, если выполняется хотя бы одно из условий F1 или F2 F1 xor F2 Сложное условие выполняется, если F1 неравно F2

Логические операции

Логическая операция

Название операции

Not

And

Запись

Не

Or

И

Not F1

Результат операции

Значение, противоположное F1

F1 and F2

Или

Xor

Сложное условие выполняется, если выполняются условия F1 и F2

F1 or F2

Исключающее «Или»

Сложное условие выполняется, если выполняется хотя бы одно из условий F1 или F2

F1 xor F2

Сложное условие выполняется, если F1 неравно F2

= 3) and (xПравило 2: Перед Else (иначе) точка с запятой не ставится Правило 3: Если вместо одного оператора необходимо выполнить несколько, используются операторные скобки Begin end; " width="640"

Сложное условие

  • Условия бывают простые и сложные .
  • Сложное условие – это условие, построенное из нескольких простых условий с помощью логических операций.
  • Правило1: При записи сложного условия простые условия заключаются в скобки!

Пример: записать условие 3=

(x= 3) and (x

  • Правило 2: Перед Else (иначе) точка с запятой не ставится
  • Правило 3: Если вместо одного оператора необходимо выполнить несколько, используются операторные скобки Begin end;
Порядок выполнения операций Для определения старшинства операций имеются четыре основных правила : Операнд, находящийся между двумя операциями с разными приоритетами, связывается с операцией, имеющей более высокий приоритет. Операция, находящаяся между двумя операциями с равными приоритетами, связывается с той операцией, которая находится слева. Выражение, заключенное в скобки, перед выполнением вычисляется как отдельный операнд. Операции с равным приоритетом производятся слева на право с возможным регулированием порядка выполнения скобками.

Порядок выполнения операций

Для определения старшинства операций имеются четыре основных правила :

  • Операнд, находящийся между двумя операциями с разными приоритетами, связывается с операцией, имеющей более высокий приоритет.
  • Операция, находящаяся между двумя операциями с равными приоритетами, связывается с той операцией, которая находится слева.
  • Выражение, заключенное в скобки, перед выполнением вычисляется как отдельный операнд.
  • Операции с равным приоритетом производятся слева на право с возможным регулированием порядка выполнения скобками.
Порядок выполнения операций Операция Приоритет @, not Вид операции Первый *, /, div, mod, and Второй Унарная операция +, -, or, xor =, , , =, in Операция типа умножения Третий Четвертый Операция типа сложения Операция отношений C := D or B and  not  (K and D)  4 3 2 1

Порядок выполнения операций

Операция

Приоритет

@, not

Вид операции

Первый

*, /, div, mod, and

Второй

Унарная операция

+, -, or, xor

=, , , =, in

Операция типа умножения

Третий

Четвертый

Операция типа сложения

Операция отношений

C := D or B and not (K and D)

4 3 2 1

Условный оператор IF Условный оператор позволяет проверить некоторое условие и в зависимости от результатов проверки выполнить то или иное действие. Полное ветвление IF(если)  THEN(то)  ELSE(иначе) ; Неполное ветвление IF(если)  THEN(то) ;

Условный оператор IF

  • Условный оператор позволяет проверить некоторое условие и в зависимости от результатов проверки выполнить то или иное действие.
  • Полное ветвление

IF(если) THEN(то) ELSE(иначе) ;

  • Неполное ветвление

IF(если) THEN(то) ;

Задача Составить программу, которая вычисляет частное двух целых чисел. В связи с тем, что на ноль делить нельзя, организуем контроль ввода данных. Для контроля вводимых значений делителя используем оператор условного перехода If…then…else. Program Control; Uses CRT; Var A, B: Integer; R: Real; Begin ClrScr; Writeln(‘Введите значение делимого A’); Readln(A); Writeln(‘Введите значение делителя B’); Readln(B); If  B=0 {контроль ввода} then Writeln(‘на ноль делить нельзя!’) {условие выполнено} Else {условие не выполнено}  Begin {начало составного оператора} R := A/B; Writeln(‘частное чисел =’, R:5:2); End; {конец составного оператора} Readln; End.

Задача

  • Составить программу, которая вычисляет частное двух целых чисел. В связи с тем, что на ноль делить нельзя, организуем контроль ввода данных. Для контроля вводимых значений делителя используем оператор условного перехода If…then…else.

Program Control;

Uses CRT;

Var A, B: Integer; R: Real;

Begin

ClrScr;

Writeln(‘Введите значение делимого A’); Readln(A);

Writeln(‘Введите значение делителя B’); Readln(B);

If B=0 {контроль ввода} then Writeln(‘на ноль делить нельзя!’) {условие выполнено}

Else {условие не выполнено}

Begin {начало составного оператора}

R := A/B;

Writeln(‘частное чисел =’, R:5:2);

End; {конец составного оператора}

Readln;

End.

Вложенный условный оператор Вложенный условный оператор – если используется проверка нескольких условий и «условный оператор» if используется несколько раз, переход между условиями связывается оператором «иначе» else . Пример: Создайте программу, определяющую, какой сейчас сезон по введённой температуре воздуха:  - от 0 до -30 0 С – зима;  - от +20 до +40 0 С – лето;  - иначе (от +1 до +19 0 С) - весна или осень

Вложенный условный оператор

  • Вложенный условный оператор – если используется проверка нескольких условий и «условный оператор» if используется несколько раз, переход между условиями связывается оператором «иначе» else .
  • Пример:

Создайте программу, определяющую, какой сейчас сезон по введённой температуре воздуха:

- от 0 до -30 0 С – зима;

- от +20 до +40 0 С – лето;

- иначе (от +1 до +19 0 С) - весна или осень

4 then Y:=sqrt(x) else y:=sqr(x); Writeln(‘Y=‘,y:6:2); Readln; End. Вычислить функцию Y:=sqrt(x) Y:=sqr(x) " width="640"

Задача на вложенный условный оператор

Program primer2;

Uses Crt;

Var x, y: Real;

Begin

Clrscr;

Writeln(‘введите х’);

Readln(x);

If x then Y:=x+3

else

If x4 then Y:=sqrt(x) else y:=sqr(x);

Writeln(‘Y=‘,y:6:2);

Readln;

End.

Вычислить функцию

Y:=sqrt(x)

Y:=sqr(x)

3) then Begin Запись сложного условия : If (A3) and (Aa:=c; k:=k+1; end; then else writeln (‘точка на отрезке (3,7)’); Begin c:=a-c; m:=m+1; end; If (ac) or (athen else Begin X:=X+1; Y:=abs(A); end; else A:=A+1; end; " width="640"

Составной условный оператор

Запись составного оператора :

Если по условию задачи необходимо использовать несколько операторов или выражений, при выполнении или невыполнении условия применяют составной оператор.

If (aand (a3) then

Begin

Запись сложного условия :

If (A3) and (A

a:=c; k:=k+1; end;

then

else

writeln (‘точка на отрезке (3,7)’);

Begin

c:=a-c; m:=m+1; end;

If (ac) or (athen

else

Begin

X:=X+1; Y:=abs(A); end;

else A:=A+1; end;

0) and (x then Begin Y:=sqr(cos(x)); Writeln(y:6:2); End; Else Begin Y:=1-sqr(sin(x)); Writeln(y:6:2); End; Readln; End. Задача: Написать программу расчета функции " width="640"

Составной условный оператор IF

Program primer1;

Uses Crt;

Var x, y: Real;

Begin

Clrscr;

Writeln(‘введите х’); Readln(x);

If (x0) and (x then

Begin

Y:=sqr(cos(x)); Writeln(y:6:2);

End;

Else

Begin

Y:=1-sqr(sin(x)); Writeln(y:6:2);

End;

Readln;

End.

Задача: Написать программу расчета функции

Оператор выбора условия CASE Условный оператор IF при выполнении программы позволяет выбрать одно из двух возможных действий. Если же необходимо выполнить много взаимоисключающих проверок, то удобнее воспользоваться оператором выбора нужного варианта CASE. Выполнение оператора варианта начинается с вычисления селектора (выражения скалярного типа). Затем для исполнения выбирается оператор, одна из меток которого совпадает с полученным значением, затем управление передается оператору, следующему за оператором варианта. Если же значение селектора не совпало ни с одной из меток, то выполняется оператор, стоящий после служебного слова Else .

Оператор выбора условия CASE

  • Условный оператор IF при выполнении программы позволяет выбрать одно из двух возможных действий. Если же необходимо выполнить много взаимоисключающих проверок, то удобнее воспользоваться оператором выбора нужного варианта CASE.
  • Выполнение оператора варианта начинается с вычисления селектора (выражения скалярного типа). Затем для исполнения выбирается оператор, одна из меток которого совпадает с полученным значением, затем управление передается оператору, следующему за оператором варианта. Если же значение селектора не совпало ни с одной из меток, то выполняется оператор, стоящий после служебного слова Else .
Структура оператора выбора Case   of  : ;  : ; …  : ; Else  ; End;

Структура оператора выбора

Case of

: ;

: ;

: ;

Else ;

End;

Пример записи Неполная форма Case S of C1 : ; C2 : ; … CN : ; end; Полная форма Case S of C1 : ; C2 : ; … CN : ; Else ; end;

Пример записи

  • Неполная форма

Case S of

C1 : ;

C2 : ;

CN : ;

end;

  • Полная форма

Case S of

C1 : ;

C2 : ;

CN : ;

Else ;

end;

Типичные формы записи оператора Case Селектор Форма записи Интервального типа Целочисленного типа Case k of Перечисляемого пользовательского типа Case k of  1..10 : writeln(‘число’, k:4, ‘в диапазоне 1-10’); 11..20 : writeln(‘число’, k:4, ‘в диапазоне 11-20’); 1 : Z := k+10; Case N of 21..30 : writeln(‘число’, k:4, ‘в диапазоне 21-30’); 2 : Z := k+100; ‘ W’ : writeln(‘winter’); else writeln(‘число’, k:4, ‘вне пределов контроля’) 3 : Z := k+1000; ‘ S’ : writeln(‘string’); end; end; ‘ M’ : writeln(‘summer’); ‘ A’ : writeln(‘autumn’); End;

Типичные формы записи оператора Case

Селектор

Форма записи

Интервального типа

Целочисленного типа

Case k of

Перечисляемого пользовательского типа

Case k of

1..10 : writeln(‘число’, k:4, ‘в диапазоне 1-10’);

11..20 : writeln(‘число’, k:4, ‘в диапазоне 11-20’);

1 : Z := k+10;

Case N of

21..30 : writeln(‘число’, k:4, ‘в диапазоне 21-30’);

2 : Z := k+100;

‘ W’ : writeln(‘winter’);

else writeln(‘число’, k:4, ‘вне пределов контроля’)

3 : Z := k+1000;

‘ S’ : writeln(‘string’);

end;

end;

‘ M’ : writeln(‘summer’);

‘ A’ : writeln(‘autumn’);

End;

Задача 1:  Программа, которая по введенному номеру выводит на экран его название Program mes; Use CRT; Var M : byte; Begin ClrScr ; Writeln (‘введите оценку-число:’); Readln (M); Case M of {вычисление значения селектора и выбор}  2 : writeln(‘неудовлетворительно’);  3 : writeln(‘удовлетворительно’);  4 : writeln(‘хорошо’);  Else writeln (‘отлично’);  end ; Readln; End.

Задача 1: Программа, которая по введенному номеру выводит на экран его название

Program mes;

Use CRT;

Var M : byte;

Begin

ClrScr ;

Writeln (‘введите оценку-число:’);

Readln (M);

Case M of {вычисление значения селектора и выбор}

2 : writeln(‘неудовлетворительно’);

3 : writeln(‘удовлетворительно’);

4 : writeln(‘хорошо’);

Else writeln (‘отлично’);

end ;

Readln;

End.

Задача 2:  Программа получения значения R, в зависимости от выбора варианта S и ввода двух любых целых чисел A и B. Program primer; Use CRT; Var S : String; A, B: Integer; R: Real; Begin ClrScr ; Writeln (‘введите A=’); Readln (A); Writeln (‘введите B=’); Readln (B); Writeln (‘введите S=’); Readln (S); Writeln; Case S of {вычисление значения селектора и выбор} ‘ + ’ : R:=A+B; ‘ − ’ : R:=A-B; ‘ * ’ : R:=A*B; ‘ / ’ : R:=A/B; Else Writeln(‘неверный знак операции’); end ; Writeln(‘R=’, R:4:1); Readln; End.

Задача 2: Программа получения значения R, в зависимости от выбора варианта S и ввода двух любых целых чисел A и B.

Program primer;

Use CRT;

Var S : String; A, B: Integer; R: Real;

Begin

ClrScr ;

Writeln (‘введите A=’); Readln (A);

Writeln (‘введите B=’); Readln (B);

Writeln (‘введите S=’); Readln (S);

Writeln;

Case S of {вычисление значения селектора и выбор}

+ ’ : R:=A+B;

’ : R:=A-B;

* ’ : R:=A*B;

/ ’ : R:=A/B;

Else Writeln(‘неверный знак операции’);

end ;

Writeln(‘R=’, R:4:1);

Readln;

End.

Домашнее задание Выполнить задания в рабочей тетради Тема 4.7 Успехов в освоении данной темы!

Домашнее задание

Выполнить задания в рабочей тетради

Тема 4.7

Успехов в освоении данной темы!