Воспользуйтесь поиском к примеру Реферат        Грубый поиск Точный поиск
Вхід в абонемент


Интернет реклама УБС






Тема: Алгоритмы и программы по разветвлениями.

План.

Оператор безусловного перехода (goto).

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

Составлена команда.

Литература: Я.М. Глинский. Информатика. Алгоритмизация и программирование. Книга 1. с. 67-85.

1 Оператор безусловного перехода (goto).

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

Она выглядит так:

goto - переводится "перейти на", где "метка" - это адрес команды (оператора), на который нужно перейти. Метка может быть числом от 0 до 9999 или идентификатор, после которого есть символ (:).

Примеры меток: 10:, 222:, m1:, alpha:. Все метки можно объявить в разделе объявления меток в начале программы так:

Например:

label 10:, 222:, m1:, alpha:.

Задача Составить программу вычисления функции:

для трех различных значений x = 3,4,5 с клавиатуры с использованием команды перехода goto.

Программа:

program FUN_Y

label 10

var x, y: real

begin

10: write ('введите значение х')

read ln (x)

y = (3 * 5 sin (x) + cos (2 * x) /(3.5-4 * abs (x))

write ln (x: 6:2, y: 6:2)

goto 10

end.

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

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

Команды ветвления или условные операторы изменяют порядок выполнения действий в алгоритме в зависимости от выполнения или невыполнения определенных условий. Разветвления бывают нескольких видов. Простейшим видом является "неполное ветвление".

Неполное ветвление реализуется с помощью команды if (если):

Выполнение команды: <команда> может быть один оператор или группа операторов. Если выполняется условие (в блок-схеме - ветка "да"), то выполнится операторы или группа операторов после слова then. Если же условие не выполняется (в блок-схеме - ветка "нет"), то эта команда не будет выполняться и будет выполняться следующий после if оператор (команда).

Условие - это логическое выражение, которые бывают простые и составные.

Простой логическое выражение - это два арифметические выражения, соединенные символом отношения (сравнения).

В Паскале символы отношений записываются так:>-больше, <меньше

> = - больше или равно (не менее), <= - меньше или равно (не более),

= - равно, < > - Не равно.

Например: x <5; x + y> = 2 * x; x < > Y.

Составные логические выражения - это простые логические выражения, к которым применены логические операции not (не), and (и), or (или).

Например. Построить выражение, который будет использоваться для определения студентов, которые не получили оценки "2" по информатике (т.е. получили другие оценки). Для обозначения оценки используем числовую переменную ocinka. Искомое выражение можно записать так:

А). not (ocinka = z) или ocinka < > 2.

Пример.

Записать двойное неравенство

0

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

Пример.

На языке Паскаль такую сложенную условие можно записать так:

x < > 4 or x < > -5.

Задача. Составить программу, где в переменные а и b ввести два целых числа. Третий переменной с присвоить значение большего среди введенных. Если числа равны, то переменные с присвоить значение любого из чисел.

program twonumbers

var a, b, c: integer

begin

write ('Введите два числа')

read ln (a, b)

if a> b then c: = a

if a

if a = b then c: = a

write ln ('c =', c); read ln

end.

Задача. Ввести любое значение х и вычислить значения функции в, которая задана формулой

program F1

var x, y: real

begin

write ('Введите х')

read ln (x)

if x> 0 then y = x +3 else y = x-5

write ln ('y =', y)

read ln

end.

Полное ветвления.

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

Выполнение команды:

Если условие выполняется (в блок-схеме - ветка "да"), то выполняется команда 1 (или серия команд 1), если нет - то команда 2 (серия команд 2).

Замечания. На месте команды 1 и команды 2 может быть тоже команда ветвления if.

Пример. Определим большее число среди двух цифр:

If a> = b then c: = a else c: = b

где a i b - два числа, а с - промежуточная переменная куда заносим больше из 2-х цифр.

Оператор выбора case.

Чтобы осуществить выбор из большого количества вариантов, удобно использовать оператор (команду) выбора case:

Выполнение оператора:

Если значение выражения совпадает со значением из самого списка или диапазона, то выполняется соответствующая команда, записанная после двоеточия ":" и на этом выполнение команды case заканчивается, если нет, то выполняется команда после слова else. Составной части else <команды> может быть.

Задача. Во многих университетах текущие знания студентов в течение семестра оценивают по стобалльной системе. Затем баллы переводят в оценки: <<відмінно>>,<<добре>>,<<задовільно>>,<<незадовільно>>.

Оценки определяют так:

Баллы Оценка

88-100 << отлично >>

71-87 << хорошо >>

50-70 << удовлетворительно >>

0-49 << неудовлетворительно >>

Составить программу, которая для конкретного студента (name) и его количества баллов (bal) выводит его оценку (mark).

program Marks

var bal: integer; name, mark: string

begin

write ('Введите фамилию')

readln (name)

write ('Введите балла')

readln (bal)

case bal of

88 ... 100: mark: = 'отлично'

71 ... 87: mark: = 'хорошо'

50 ... 70: mark: = 'удовлетворительно'

0 ... 49: mark: = 'неудовлетворительно'

else mark = '0 '

end

if mark < > '0 ' then writeln (name: 15 mark: 15)

else writeln ('ошибка при вводе количества баллов'):

end.

или другой пример:

case k of

1; cina = 22

2,3: cina = 35

4: cina = 50

else cina = 97

end

3. Составлена команда.

Составлена команда -


Страницы: 1 2