Инфоурок Информатика КонспектыЯзык Паскаль. Применение условного оператора

Язык Паскаль. Применение условного оператора

Скачать материал

Язык Паскаль. Применение условного оператора.

 

Операторные скобки.

 

Прежде чем говорить об условном операторе, познакомимся с понятием "операторные скобки". В языке Паскаль под операторными скобками понимают два служебных слова: Begin (открывающая скобка) и End (закрывающая скобка).

 

Составной оператор.

Это последовательность произвольных операторов программы, заключенная в операторные скобки begin и end. Следует отметить, что составные операторы — важный инструмент языка, да­ющий возможность писать программы по современной технологии структурного программирования.

На характер операторов, входящих в составной оператор, не накладывается никаких ограничений. Среди них могут быть и другие составные операторы языка, допускается произвольная глубина вложения составных операторов. Фактически весь раздел операторов представляет собой один составной оператор.

BEGIN   {Начало раздела операторов}

     Begin

          Begin

              Begin

              End

          End

     End

END.      {Конец программы)

Количество слов "Begin" должно сов­падать с количеством слов "End". Для того чтобы избежать ошиб­ки при составлении программы, пишите каждую пару "Begin-End" с одной позиции. При наличии большого количества таких пар можно ставить номера:

BEGIN   {Начало раздела операторов}

     Begin {1}

          Begin {2}

              Begin {3}

              End {3}

          End {2}

     End {1}

END.      {Конец программы)

 

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

В разветвляющихся вычислительных процессах (алгоритм ветвления) отдельные этапы вычислений выполняются не всегда в одном и том же порядке, а в зависимости от некоторых условий выбираются для исполнения различные их последовательности. Давайте рассмотрим конкретный пример.

Нам необходимо решить квадратное уравнение вида

ax2 + bх + с = 0

Перечислим последовательность действий для решения:

1. задать коэффициенты а, b, с,

2. вычислить значение дискриминанта,

3. проверить значения дискриминанта и, в зависимости от полученного ответа, выполнить то или иное действие.

В пункте 3 нашего алгоритма мы проводим анализ значения дискриминанта, а затем выбор действия, в зависимости от значений дискриминанта, т.е. данный алгоритм относится к алгоритмам ветвления.

Для реализации такого типа алгоритма, необходим оператор, который "выберет" то или иное действие (или группу действий) в зависимости от истинности или ложности условия выбора. Такой оператор называется оператором условного перехода, и его можно записать разными способами.

1. Полная форма оператора

IF <условие> THEN <оператор1> ELSE <оператор2>
       если                         тогда                         иначе

Пример. Из двух чисел а и b вывести на экран значение большего числа.

 If a>b then writeln ('большее число а', а) else writeln ('большее числоb', b);

Внимание: перед словом ELSE нельзя ставить точку с запятой.

2. Краткая форма оператора.

Допускается опускать служебное слово ELSE. Оператор в этом случае выглядит следующем образом IF <условие> THEN <оператор1>;

Как работает эта конструкция? Запишем еще раз:

IF «условие»THEN<оператор1>;

 <оператор2>; <оператор3>;

1. Выполняется оператор IF, т.е. проверяется условие.

Возможны два варианта:

условие истинно, в этом случае программа "уходит в сторону" на оператор 1, он выполняется, а затем продолжает выполнять последовательности операторов: оператор 2, оператор 3 и т. д.

Пример.

Вычислить значение функции, f(x) в зависимости от значения аргумента x


условие ложно, оператор 1 НЕ выполняется, следовательно, сразу выполняется следующий по порядку оператор: оператор 2, затем оператор 3 и т. д.

 

Решение этой задачи можно записать следующим образом:

IF x<0 then у=х;

IF x=0 then у=о;

IF x<0 then у=-х2;

Очень часто необходимо выполнять группу операторов либо за словом “then” (т.е. но истинности условия), либо за словом else (при ложности условия), либо и в том и другом случае.

Для того чтобы записать группу действий необходимо использовать составной оператор begin - end (операторные скобки).

1.     IF <условие> THEN BEGIN

оператор 1; оператор 2; ; … оператор n END ELSE оператор;

 

2. IF <условие> THEN оператор ELSE BEGIN оператор 1; оператор 2; … оператор n     

                                                                    END

 

3.     IF <условие> THEN BEGIN

оператор 1;

оператор 2;

оператор n END ELSE BEGIN

оператор 1;

оператор 2;

оператор n END;

Между словами BEGIN и END стоят операторы. Следуя правилу языка Паскаль, они отделе­ны точкой с запятой.

Перед словом ELSE никогда не ставится точка с запятой..

Вложенные операторы IF.

Пример.

Определить, попадает ли число X в интервал от -2 до 13.

Решение

Мы должны проверить два условия:

 X должно быть больше -2. Если это условие является истиной, то проверяем второе условие: X должно быть меньше 13. В том случае, когда оба условия выполняются, мы можем сказать, что данное значение X удовлетворяет условию.

Как это записать?

{проверяем 1-е условие}

IF X>-2 THEN

{проверяем второе условие }

IF X < 13 THEN

writeln('X удовлетворяет условию')

ELSE

writeln('X>=13')

ELSE

writeln('X<=-2');

 Вложенность операторов IF не ограничена.

 

Задачи к пройденной теме

 

1. Получить максимальное число из трех целых чисел.

Сравниваем значения переменных X и Y, выбираем из них большее и сохраняем значение большей переменной в переменной с именем МАХ, затем значе­ние переменной Z сравниваем со значением переменной МАХ и опять выбираем большее значение.

PROGRAM max_XYZ;

 VAR

X, Y, Z: integer; {входные переменные}

 MAX: integer; {выходная переменная}

 BEGIN

writeln('введите значения переменных X, Y, Z'); readln(X, Y, Z);

 IF X > Y THEN MAX := X ELSE MAX := Y;

IF Z > MAX THEN MAX := Z;

{обратите внимание: служебное слово ELSE отсутствует}

writeln('максималъное значение =', МАХ);

 

2. Даны целые числа X, Y, Z.

1)     Вычислить MAX (X+Y+Z, XYZ).

2)      Вычислить MIN(X, Y, X-Y).

 

Решение

 

1)    PROGRAM MAX 2;

VAR

X, Y, Z: integer;

MAX: integer; BEGIN

\уп1е1п('введите значения переменных X, Y, Z');

readln(X, Y, Z);

IF   X + Y + Z>X*Y*Z THEN MAX := X + Y + Z

ELSE

MAX := X * Y * Z;

writeln ('наибольшее число', MAX); END.

 

2)  PROGRAM M1N_3;

 VAR

X, Y: integer; MIN: integer;

BEGIN

writeln ('введите значения переменных X, Y'); readln(X,Y);

IF   X<Y  THEN  MIN := X

                ELSE  MIN := Y;

IF X-Y<MIN  THEN MIN-X-Y;

writeln ('наименьшее число', MIN);

END.

 

3. Даны действительные числа а, b, с.

Проверить,  выполняются ли неравенства а < b < с. Напечатать на экране соответствующее сообщение.

 

Решение

 

PROGRAM N3;

VAR  a, b, с: real;

BEGIN

writeln('введите значения переменных а, Ь, с'); readln(a, b, с);

IF a<b THEN IF b<c THEN writeln('условие выполнено')

                                   ELSE writeln('yсловиe не выполнено')

            ELSE writeln(‘условие не выполнено')

END.

 

4. Даны два целых числа. Если первое число больше второго то заменить его их разностью, в противном случае — суммой, второе число не изменять.

 

Решение

ПАСКАЛЬ


PROGRAM N4;

VAR a, b: Integer;

BEGIN

write1п('введите значения переменных а и Ь'); readln(a, b);

IF a>b THEN a := a - b

            ELSE a := a + b;

writeln('a=', a , ' b=' , b)

 END.


 

 

Задачи для самостоятельного решения

1. Даны три действительных числа a, b и с. Определить, мож­но ли построить треугольник с такими длинами сторон.

2. Верно ли, что для заданного четырехзначного числа выпол­няется соотношение: сумма первой и последней цифры равна раз­ности второй и третьей цифры?

3. Даны два действительных числа. Удвоить первое число, ес­ли оно меньше второго, в остальных случаях оставить числа без изменения.

4. Даны действительные числа х и у. Определить, принадле­жит ли точка с координатами х, у заштрихованной части плоско­сти.

5.  Составьте программу, которая уменьшает первое число в 5 раз, если оно больше второго по абсолютной величине. Полученные числа вывести на экран

 

6.  Составьте программу, которая увеличивает первое число в 7 раз, если оно меньше второго по абсолютной величине. Полученные числа вывести на экран.

 

7.  Составьте программу, которая уменьшает второе число в 3 раза, если оно больше первого по абсолютной величине. Полученные числа вывести на экран.

 

8.  Составьте программу, которая уменьшает первое число в 5 раз, если оно равно второму по абсолютной величине. Полученные числа вывести на экран.

 

9.  Составьте программу, которая из трёх введённых с клавиатуры чисел возводит в квадрат отрицательные, а положительные оставляет без изменения. Полученные числа вывести на экран.

 

10.  Составьте программу, которая из трёх введённых с клавиатуры чисел возводит в квадрат положительные, а отрицательные оставляет без изменения. Полученные числа вывести на экран.

 

11.  Составьте программу, которая из трёх введённых с клавиатуры чисел возводит в квадрат отрицательные, у положительных меняет знак, а ноль оставляет без изменения. Полученные числа вывести на экран.

 

12.  Составьте программу, которая из трёх введённых с клавиатуры чисел уменьшает в отрицательные на 10, а положительные увеличивает в 2 раза. Полученные числа вывести на экран.

 

 

Просмотрено: 0%
Просмотрено: 0%
Скачать материал
Скачать материал "Язык Паскаль. Применение условного оператора"

Методические разработки к Вашему уроку:

Получите новую специальность за 3 месяца

Инженер лифтового оборудования

Получите профессию

Методист-разработчик онлайн-курсов

за 6 месяцев

Пройти курс

Рабочие листы
к вашим урокам

Скачать

Скачать материал

Найдите материал к любому уроку, указав свой предмет (категорию), класс, учебник и тему:

6 665 075 материалов в базе

Скачать материал

Другие материалы

Вам будут интересны эти курсы:

Оставьте свой комментарий

Авторизуйтесь, чтобы задавать вопросы.

  • Скачать материал
    • 07.10.2015 2002
    • DOCX 28.7 кбайт
    • Оцените материал:
  • Настоящий материал опубликован пользователем Алябьева Елена Анатольевна. Инфоурок является информационным посредником и предоставляет пользователям возможность размещать на сайте методические материалы. Всю ответственность за опубликованные материалы, содержащиеся в них сведения, а также за соблюдение авторских прав несут пользователи, загрузившие материал на сайт

    Если Вы считаете, что материал нарушает авторские права либо по каким-то другим причинам должен быть удален с сайта, Вы можете оставить жалобу на материал.

    Удалить материал
  • Автор материала

    Алябьева Елена Анатольевна
    Алябьева Елена Анатольевна
    • На сайте: 8 лет и 6 месяцев
    • Подписчики: 0
    • Всего просмотров: 9919
    • Всего материалов: 5

Ваша скидка на курсы

40%
Скидка для нового слушателя. Войдите на сайт, чтобы применить скидку к любому курсу
Курсы со скидкой

Курс профессиональной переподготовки

Бухгалтер

Бухгалтер

500/1000 ч.

Подать заявку О курсе
  • Сейчас обучается 24 человека из 17 регионов

Курс повышения квалификации

Компьютерная грамотность для пенсионеров

36 ч. — 180 ч.

от 1580 руб. от 940 руб.
Подать заявку О курсе
  • Этот курс уже прошли 23 человека

Курс повышения квалификации

Организация преподавания информационных систем и технологий в профессиональном образовании

36 ч. — 180 ч.

от 1700 руб. от 850 руб.
Подать заявку О курсе
  • Этот курс уже прошли 75 человек

Курс профессиональной переподготовки

Информатика: теория и методика преподавания в профессиональном образовании

Преподаватель информатики

300/600 ч.

от 7900 руб. от 3650 руб.
Подать заявку О курсе
  • Сейчас обучается 49 человек из 22 регионов
  • Этот курс уже прошли 152 человека

Мини-курс

Анализ межпредметных связей: связь педагогики с научными дисциплинами

10 ч.

1180 руб. 590 руб.
Подать заявку О курсе

Мини-курс

Расстройства пищевого поведения: обзор и основы психологической работы

3 ч.

780 руб. 390 руб.
Подать заявку О курсе
  • Сейчас обучается 39 человек из 22 регионов
  • Этот курс уже прошли 22 человека

Мини-курс

Успешный педагог: навыки самозанятости, предпринимательства и финансовой грамотности

6 ч.

780 руб. 390 руб.
Подать заявку О курсе
  • Сейчас обучается 62 человека из 20 регионов
  • Этот курс уже прошли 43 человека