Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Lab_rab_Pascal_OZO / Lab_04_Условный_оператор

.doc
Скачиваний:
17
Добавлен:
21.03.2015
Размер:
83.46 Кб
Скачать

Лабораторная работа № 4.

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

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

Оборудование и программное обеспечение: компьютер, Turbo Pascal 7.0.

Место проведения:

Время:

Теоретические сведения:

Условный оператор реализует алгоритмическую конструкцию "развилка" (ветвление) и изменяет порядок выполнения операторов в зависимости от истинности или ложности некоторого условия. Существует два варианта оператора:

полная форма: if <условие> then <оператор 1>

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

неполная (сокращенная) форма: if <условие> then <оператор>;

где <условие> - логическое выражение, истинность которого проверяется;

<оператор> - простой или составной оператор.

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

…………………………………………………………..

if x>y then writeln(x, ‘- максимальное’)

else writeln(y, ‘- максимальное’);

…………………………………………...........................

Внутри условного оператора возможно использование другого условного оператора, в этом случае говорят о вложенности условий.

Пример 2: Даны три действительных числа x,y,z. Получить max(x,y,z).

1 способ. …………………………………………………………………………

if (x>y) and (x>z) then writeln(‘max = ’,x)

else if (y>x) and (y>z) then writeln(‘max = ’,y)

else writeln(‘max = ’,z);

…..…………………………………………..........................................

2 способ. ..………………………………………………………………….

if x>y then if x>z then writeln(‘max = ’,x)

else writeln(‘max = ’,z)

else if y>z then writeln(‘max = ’,y)

else writeln(‘max = ’,z);

…………………………………………..................................

Данную задачу можно решить, используя промежуточную переменную max:

1 способ.

………………………

if x>y then max:=x

else max:=y;

if z>max then max:=z;

…………………………

2 способ.

…………………………

max:=x;

if y>max then max:=y;

if z>max then max:=z;

…………………………

Порядок выполнения работы:

Задание 1:

a) Создать и отладить программу для решения следующей задачи. Даны действительные числа a, b, c. Найти наибольшую или наименьшую из комбинаций данных чисел (см. Приложение).

б) Провести численные расчеты для a=1, b=2, c=3; a=-5, b=0, c=10.

в) Дополнить программу следующим фрагментом. Определить, принадлежит ли вычисленное значение максимума (минимума) интервалу [0.5; 2.0] и выдать на экран соответствующее сообщение. Отладить и выполнить программу с произвольными значениями входных данных.

Задание 2:

Создать и отладить программу для решения следующей задачи. Вычислить значение функции Y (см. Приложение)

Методические рекомендации:

При составлении программы следует использовать оператор READLN для ввода значений переменных a, b, c; следует ввести (и описать) переменную для обозначения искомого наибольшего (или наименьшего) значения (например, max или min). При решении задачи можно воспользоваться одним из способов, описанных в примерах. При выполнении задания 1 в), для проверки условия использовать оператор IF с логическим выражением, в котором используется операция AND.

Содержание отчета по каждому заданию:

  • исходные данные (условие задачи);

  • алгоритм (блок-схема) решения задачи;

  • текст программы (или основной фрагмент программы);

  • результаты выполнения программы

  • тестовый вариант в форме с фиксированной точкой.

Контрольные вопросы:

  1. Что понимают под алгоритмом ветвления?

  2. Привести примеры случаев ветвления.

  3. Как обозначается ветвление в блок-схемах?

  4. Какие операторы ветвления существуют в языке Turbo Pascal?

  5. Какую структуру имеет оператор IF?

  6. Какие различия между полной и сокращенной формой оператора IF?

Приложение: (ваш номер по журналу соответствует номеру варианта)

 

Номер варианта

Задание 1.

Задание 2.

1

max (a+b+c, abc, a-b)

x<1,3

x=1,3

x>1,3

2

min (a+2b, b+3c, c)

x>1,2

x=1,2

x<1,2

3

min (2a-b, c2, b+c)

x<1,4

x=1,4

x>1,4

4

max (a/c, b+c, 5c)

x<1

1<x<2

x>2

5

min (3a, a+b+7c, 8c)

x>a

x=a

x<a

6

max (5a+7b, b-c, 3c)

bx<1

bx=1

bx>1

7

min (a2, a+2b-c, c)

x>1

x=1

x<1

8

max (a+b+c, 3a+8, a+7c)

x<0,5

x=0,5

x>0,5

9

min (ab, ac, bc)

x<1

1<x<10

x>10

10

max (a, a2-b, ac)

t<0,1

t=0,1

t>0,1

 

11

min (a+7, b-4, 3c)

x<3

x=5

x>3

12

max (ab, b+5, ac)

x = 5

x < 3

x=3

13

min (a+2b, b-c, a+c)

x > 3

x = z

14

max (4a, a2+c, b+c)

x > 2

x=2

15

min (a-b, a-c, b-c)

x > 7

x=ab