Суббота, 18.05.2024, 19:41
Информатика в школе
Приветствую Вас Гость | RSS
Главная Анализ ситуации и последовательность выполнения команд. Оператор выбора Case. Регистрация Вход
Форма входа

Меню сайта

Мини-чат
300

Категории
Школа и сайт [4]
Software [18]
Hardware [14]

Календарь
Календари для ucoz

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Оператор ветвления на Паскале

В языке Паскаль имеется оператор ветвления. Другое его название - условный оператор. Формат полного оператора ветвления следующий:

if <логическое выражение> then <оператор1>  else <оператор2> ;

Здесь if - "если", then - "то", else - "иначе".

Можно также использовать не полную форму ветвления:

if
<логическое выражение> then <оператор1>;

! Признаком завершения алгоритма ветвления является "точка с запятой". Перед словами then и else знаки препинания не ставятся.

При составлении условий в ветвящихся алгоритмах используются  операции отношений и логические операции.

Примеры реализации программ имеющие ветвления.
  • Простые условия.
Задача 1. Дано число, выяснить дробное оно или целое.

1-й вариант
2-й вариант
var a,x:real;
begin
writeln('Введите число ');
read(a);
x:=Round(a);
if a=x then write('Число а целое ') else write('Число а дробное ');
end.
var a,x:real;
begin
writeln('Введите число ');
read(a);
x:=Frac(a);
if x<>0 then write('Число а
дробное  ') else write('Число а целое ');
end.

  • Составные(сложные ) условия.
Задача 2. Даны три отрезка, выяснить, могут ли они образовывать треугольник.
Решение:
var a,b,c:real;
begin
writeln('Введите размеры отрезков');
read(a,b,c);
if (a<b+c) and (b<a+c) and (c<a+b) or ((a<>0)
and (b<>0) and (c<>0)) then write('Образуют') else write('Не образуют');
end.
Вложенные операторы if .
! При использовании вложенных операторов if слово else  относится к последнему if, у которого нет еще else.


Задача 3. Определить количество корней квадратного уравнения по дискриминанту.
Решение:

var a,b,c,d:real;
begin
writeln('Введите коэффициенты a, b и c ');
read(a,b,c);
d:=sqr(b) - 4*a*c;
if
d>=0 then if d>0 then write('Два вещественных корня ')
 else
write('
Один вещественный корень')
 else write('Нет вещественных корней');
end.








Блок-схема алгоритма, определяющая количество
корней квадратного уравнения по дискриминанту.

Блоки  операторов .
Если требуется выполнить последовательность действий(несколько операторов подряд), то ее заключают в блок образуемый операторами begin и end.
Пример:
if x > 3 then begin s1, s2, s3, s4 end; (
здесь s1-s4 символически обозначают операторы).
Эта группа (begin s1, s2, s3, s4 end;) называется составным оператор, или операторной скобкой. Она как бы говорит компилятору, что данный блок операторов нужно рассматривать как единое целое.

Задача 4. Вычислить корни квадратного уравнения.
Решение:

var a,b,c,d:real;
     x1,x2:real;
begin
writeln('Введите коэффициенты a, b и c ');
read(a,b,c);
d:=sqr(b) - 4*a*c;
if
d<0 then  write('Уравнение не имеет вещественных корней ') else
if d=0 then write('У уравнения один корень', -b/(2*a):6:2 )
 else {ниже идет составной оператор}
 
begin
x1:=(-b + sqr(d))/2*a;
x2:=(-b - sqr(d))/2*a;
write(' Первый корень ', x1:6:2,' Второй корень ', x2:6:2);
end;
end.
Ветвления по ряду условий. Оператор Case.
Используя несколько операторов if , можно производить ветвления по ряду условий.  Так же,  для этой  цели можно  использовать  оператор Case.
Пример:
Задача 4. Преобразование введенного введенного числа из диапазона (0..4) в его словесное представление.
Решение:

С оператором ifС оператором Сase
var Num:integer;
begin
writeln('Введите число:  ');
read(Num);
if
Num = 0 then  writeln(' Нуль ');
if Num = 1 then  writeln(' Один ');
if Num = 2 then  writeln(' Два ');
if Num = 3 then  writeln(' Три ');
if Num = 4 then  writeln(' Четыре ');
 else write('Введено другое число')
end.


var Num:integer;
begin
writeln('Введите число:  ');
read(Num);
case Num of
0: writeln(' Нуль ');
1: writeln(' Один ');
2: writeln(' Два ');
3: writeln(' Три ');
4: writeln(' Четыре ');
 else write('Введено другое число')
end;
end.


<<

Часы

Праздники России

Праздники России



Uploader

Поиск

Полезные ссылки
  • Официальный блог
  • Сообщество uCoz
  • Программисту
  • Олимпиаднику
  • Как создать сайт с нуля
  • Сайт МОУ СОШ №81
  • 3DNews

  • Александр Михайлович Марченко © 2024 Конструктор сайтов - uCoz