Лабораторная работа - файл n1.doc

Лабораторная работа
Скачать все файлы (135 kb.)

Доступные файлы (1):
n1.doc135kb.16.02.2014 21:05скачать

n1.doc

Методические указания к практической работе

Использование оператора ветвления в Turbo-Pascal



1 Цель работы

Изучение случая ветвления программ.

2 Задачи работы

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

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

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

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

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

4. Требование к отчету 

Отчет о проделанной работе должен содержать:


–название и цель работы;

–номер варианта для выполнения задания и условие своего варианта;

–блок-схему решения задачи;

–тексты программ;

–полученные при расчетах численные результаты;

–письменные ответы на контрольные вопросы п.7 по указанию преподавателя.

5 Теоретические положения

Условный оператор или оператор ветвления используется, когда в алгоритме решения задачи предусмотрены альтернативные пути решения, т.е. из двух альтернатив выбирается одна, в зависимости от условия (условием является логическое выражение или несколько логических выражений), см. рисунок1. 



Рисунок 1 Блок-схема алгоритма ветвления

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

Логические выражения могут принимать одно из двух значений TRUE (истина) и FALSE (ложь). Простейшими логическими выражениями являются выражения отношения:

A1 OP A2

Здесь А1 и А2 – выражения, а ОР – операция отношения. Операции отношений в Turbo Pascal обозначаются так: = (равно), <> (не равно), < (меньше), > (больше), < = (меньше или равно) , > = (больше или равно).

Примеры логических выражений: 3<5; 18>=2; A=B.

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

Выражение А AND B дает значение TRUE (истина), только в том случае, если А и B имеют значение TRUE. Во всех остальных случаях значение выражения А AND B - FALSE (ложь).

AND =

AND =

AND =

Например, определить, попадает ли значение переменной Х в интервал от 0 до 10, можно с помощью условия:

(x=>0) and (x<=10)

Выражение А OR B дает значение FALSE (ложь), только в том случае, если А и B имеют значение FALSE. Во всех остальных случаях результат – TRUE (истина).

OR =

OR =

OR =

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

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

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

Пример.



Слова BEGIN и END играют роль операторных скобок, Тело самой программы также имеет вид составного оператора. После последнего END программы ставится точка. 

5.3 Оператор IF

Общий вид оператора IF:

IF A THEN ST1 ELSE ST2;

Здесь IF, THEN, ELSE – зарезервированные слова (если, то, иначе); А – логическое выражение, ST1, ST2– операторы (простые либо составные).

Условный оператор работает по следующему алгоритму. Вначале вычисляется условное выражение А. Если результат TRUE (истина), то выполняется оператор ST1, а оператор ST2 пропускается; если результат FALSE (ложь), наоборот, оператор ST1 пропускается. а выполняется оператор ST2. Затем, в обоих случаях управление передается к следующему оператору.

Например:



При выполнении этого фрагмента переменная Y получит значение переменной Х, если это значение не превышает Z, в противном случае Y станет равно Z.

Часть ELSE ST2 может быть опущена. Тогда при значении TRUE условного выражения выполняется оператор ST1, в противном случае этот оператор пропускается:



В этом примере переменная Y всегда будет иметь значение переменной Х, а в MAX запоминается максимальное значение Х. Такую форму оператора IF называют сокращенной.

Пример 1. Значения переменных a, b и с - целые числа. Определить наибольшее из них. 

Рассмотрим три способа решения этой задачи.

1 способ.



Если a>b, то max ищется среди а и с, в противном случае - среди b и с (см. рисунок 2).



Рисунок 2 Блок-схема алгоритма решения задачи 1-м способом

2 способ. 



Предварительно за max принимается большее из а и b, но если окажется, что с превышает принятую величину max, то последняя заменяется на с ( рисунок 3). 



Рисунок 3. Блок-схема алгоритма решения задачи 2-м способом

3 способ.



Можно в качестве начального максимального значения max принять сначала любую из исходных величин (например, первую). Затем, если среди остальных величин будут встречаться величины, превышающие текущее значение max, заменять текущее значение max новым.



Рисунок 4. Блок-схема алгоритма решения задачи 3-м способом.

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

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

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

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

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

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

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

7.5   Какой формат имеет оператор IF?

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

Приложение

 

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

Искомое значение


1

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

2

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

3

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

4

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

5

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

6

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

7

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

8

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

9

min (ab, ac, bc)

10

max (a, a2-b, ac)

11

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

12

max (ab, b+5, ac)

13

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

14

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

15

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



Библиография

1. Информатика. Базовый курс / Симонович С.В. и др.- СПб: Питер, 2000. - 640 с.

2. Семашко Г.Л., Салтыков А.И. Программирование на языке Паскаль - М.: Наука, 1998. - 128 с.

3. Фаронов В.В. Турбо Паскаль 7.0 - М.: Нолидж, 2000. - 576 с.



Учебный текст
© perviydoc.ru
При копировании укажите ссылку.
обратиться к администрации