Ветвления в алгоритмах и программах

Download Report

Transcript Ветвления в алгоритмах и программах

Ветвления в алгоритмах и
программах
Ветвление - такая форма организации действий, при
которой в зависимости от выполнения или невыполнения
некоторого условия совершается либо одна, либо другая
последовательность действий
1. ПОЛНОЕ ВЕТВЛЕНИЕ
IF <условие > THEN<Действия1 > ELSE <Действия2> если некоторое условие верно (истино), то выполняются
Действия1, иначе (если условие ложно) выполняются
Действия2.
Блок-схема:
н
д
Словесная форма:
Если Q то:
где Q- условие
Р
Р, Т – действия
Иначе:
Конец ветвления
Т
Конец ветвления
указывает
последнеее действие,
выполняемые по условию
2.НЕПОЛНОЕ ВЕТВЛЕНИЕ
IF <условие > THEN <Действия> - если условие верно, то
выполняются Действия, иначе (если условие неверно)
выполняется следующий шаг алгоритма или программы
Блок-схема:
Словесная форма:
н
д
Если Q то:
Р
Конец ветвления
<УСЛОВИЕ>- логическое выражение.
Логическое выражение - выражение, содержащее операции отношения
(сравнения) или логические операции и принимающее только одно из двух
значений: истина (1) или ложь (0)
Операции сравнения:
=, >,<,
>= больше или равно
<= меньше или равно
<> не равно
Образуют простые
логические выражения:
Логические операции:
NOT - НЕ (отрицание)
AND – И (логическое умножение.)
OR – ИЛИ (логическое сложение.)
Образуют сложные логические
выражения
Примеры простых выражений: 2<>3, A>=B
Примеры сложных выражений:
1)
0<=X<=1  (X>=0) AND (X<=1) - сложное выражение истинно  (тогда и
только тогда), когда истинно каждое простое логическое выражение
2) 5> 3 или 1=2  (5>3) OR (1=2) – сложное выражение истинно, если хотя бы
одно простое логич. выражение имеет значение “истина”
3) НЕ (2=5)  NOT (2=5) – равносильно 2<>5 – условие верно, если 2 не равно 5
( неверно, что 2=5)
Вычисление значений логических выражений выполняется по законам
алгебры логики, называемой еще Булевой алгеброй ( Дж. Буль (1815-1864) –
английский математик описал эту алгебру).
ТАБЛИЦА ИСТИННОСТИ:
А
В
А AND B
A OR B
NOT A
Л
Л
Л
Л
И
Л
И
Л
И
И
И
Л
Л
И
Л
И
И
И
И
Л
Определить значение логического выражения
1) 5>8 - л
2) 5>8 AND 2*2=4 0
0
Л
1
3) NOT(5>8 AND 2*2=4) - И
0
0
1
4) NOT(5>8 OR 2*2=4) - Л
0
1
1
5) NOT(Х>8 OR 2*2=4) ?
1
6) SQR(4) <=3 -
1
И
- Л Не зависит от Х
Записать условие, которому удовлетворяет множество точек
заштрихованной области
y
Y
Y
X
X
X>=0
X
Y>X
Y<=0
Y
Y
X2 +Y2 = R2 -
-1
X
-1
X>-1 AND y>-1
1
X2 +Y2 >= 1
X
уравнение
окружности с
центром в
начале
координат
БЕЗУСЛОВНЫЙ ПЕРЕХОД GOTO N где GO (идти), ТО
(к), N- номер строки программы
Выполняя команду GOTO N, ЭВМ передает управление
оператору программы с номером N
10 PRINT”ПРИГОВОР”
20 GOTO 50
30 PRINT “КАЗНИТЬ”
40PRINT”НЕЛЬЗЯ”
50 PRINT”ПОМИЛОВАТЬ”
60 PRINT’*****”
70 END
Задача1 Вычислить
z  1.5 sin m | cos2m |
Что напечатает программа?
ПРИГОВОР
ПОМИЛОВАТЬ
*****
tan x, еслиx  2

при m   x,если2  x  5
 x
e , еслиx  5
где x- произвольное
значение
2.НЕПОЛНОЕ ВЕТВЛЕНИЕ
IF <условие > THEN <Действия> - если условие верно, то
выполняются Действия, иначе (если условие неверно)
выполняется следующий шаг алгоритма или программы
Блок-схема:
Словесная форма:
н
д
Если Q то:
Р
Конец ветвления
<УСЛОВИЕ>- логическое выражение.
Логическое выражение - выражение, содержащее операции отношения
(сравнения) или логические операции и принимающее только одно из двух
значений: истина (1) или ложь (0)
Операции сравнения:
=, >,<,
>= больше или равно
<= меньше или равно
<> не равно
Образуют простые
логические выражения:
Логические операции:
NOT - НЕ (отрицание)
AND – И (логическое умножение.)
OR – ИЛИ (логическое сложение.)
Образуют сложные логические
выражения
I. Алг.
Нет
Начало
I. Программа
Ввод х
х≤2
CLS
Да
m=tgx
Нет
Да
2<x<5
m
Нет
х5
M=ex
Вычислить z
Вывод z
конец
INPUT”X”; X
IF X<=2 THEN M=TAN(X)
IF X>2 AND X<5 THEN
х M=SQR(X)
IF X>=5 THEN M=EXP(X)
Z=1.5*SIN(m) –
ABS(COS(2*m))
PRINT “Z=“; Z
Начало
II. Алгоритм
Ввод х
Нет
Да
х≤2
Да
Нет
m=tgx
2<x<5
M=ex
m
х
Вычислить z
Вывод z
конец
II. Программа
CLS
INPUT”X”; X
IF X<=2 THEN M=TAN(X) ELSE IF X>2 AND X<5 THEN
M=SQR(X) ELSE M=EXP(X) 
Z=1.5*SIN(m) – ABS(COS(2*m))
PRINT “Z=“; Z
начало
Алгоритм
Программа:
Ввод Х
Н
X≤2
Д
M = tgX
Н
2 < X< 5
Д
X≥5
Д
M = eX
Вычислить Z
Вывод Z
конец
INPUT “X”; X
IF X<= 2 THEN m = TAN(X)
IFX>2 AND X<5 THEN m =SQR(X)
M = √X
Н
CLS
IFX>=5 THEN m=EXP(X)
Z=1.5*SIN(m) – ABS(COS(2*m))
PRINT “Z=“; Z
начало
Алгоритм
Ввод Х
Н
Н
M=
2 < X< 5
eX
X≤2
Д
M = √X
Вычислить Z
Вывод Z
конец
Д
M = tgX
Компьютерное моделирование
Моделирование – замена одного
объекта (процесса или явления) другим,
но сохраняющим все существенные
свойства исходного объекта ( процесса
или явления)
Модель – аналог (заменитель)
оригинала, отражающий некоторые его
характеристики
Классификация моделей
по способу представления
Материальные
По форме
представления
Образно-знаковые
(географ. карты,
живопись,
Фотография)
Знаковые
(математические,
алгоритмические,
специальные модели)
Информационные
По способу реализации
Компьютерные
Некомпьютерные
Табличная модель дискеты
Объект
Дискета
Параметры
Название Возможные
значения
Размер
5,25”;3,5”
Объем
1,2Мб;1,44Мб
Фирмапроизвод SONY, BASF
итель
Действия
Среда
Вставлять в
Компьютер,
дисковод
дисковод
Форматировать
Записывать
информацию
Считывать
информацию
Хранить
информацию
Информационная модель – модель,
представляющая объект, процесс или
явление набором параметров и связей
между ними.
Математическая модель – информационная
модель, в которой параметры и
зависимости между ними выражены в
математической форме.
s vt
2
at
S v t
0
2
Компьютер – инструмент решения задач на
основе информационных моделей
Этапы построения
информационной модели:
1. Выделение существенных факторов
для построения модели
2. Формализация - описание факторов
с помощью параметров
3. Установка связей между
параметрами и их описание
Хорошо поставленная задача – задача, для
которой построена модель, учитывающая
существенные факторы
Плохо поставленная задача – для которой
неизвестно заранее, какие факторы
существенны, не выявлены параметры или
не указаны связи между ними (т.е. не
построена модель)
Этапы решения задач на ЭВМ:
I. Математическая модель (постановка задачи):
1. Предположения, на которых основана
модель (выделение существенных свойств)
2. Формализация (описание факторов с помощью
параметров)
3. Математическое описание, связь (формулы,
уравнения, неравенства)
II. Алгоритм
III. Программа
IV. Получение и анализ результатов:
1. ввод и отладка программы
2. Тестирование:
•
•
•
проверка основных частных случаев исходных
данных
проверка граничных случаев
проверка недопустимых случаев исходных данных
№3. В ЭВМ вводятся результаты соревнований по бросанию ядра. Найти и
напечатать лучший результат
I. Математическая
модель
II. Алгоритм:
начало
1. Предположения:
3 спортсмена
Ввод А,В,С
2. Формализация
Дано:
М =А
А,В,С – результаты
соревнований
Найти:
М = MAX (A,B,C)
Н
3. Математическое описание :
Н
A
5
B
7
C
2
М<В
M=В
М
М<C
Если М < B, то М = В
Д
M=C
7
Пусть М=А
Если М < С, то М =С
Д
Вывод M
конец
III. Программа:
CLS
INPUT ”Введи A,B,C”; A,B,C
M=A
IF M < B THEN M = B
IV. Анализ результатов
IF M < C THEN M = C
Тесты:
PRINT “max = “; M
№
А
В
С
М
1)
5
7
2
7
2)
9
6
3
9
3)
8
4
12
12
0
«Повтори
ввод!»
4)
-7
3
С ЗАЩИТОЙ ДАННЫХ:
CLS
20 INPUT ”Введи A,B,C”; A,B,C
IF A<=0 OR B<=0 OR C<=0 THEN PRINT
«ПОВТОРИ ВВОД!» : GOTO 20
M=A
IF M < B THEN M = B
IF M < C THEN M = C
PRINT “max = “; M
Решить уравнение: ax = b
Алгоритм
Дано:
начало
A, b – коэффициенты
Ввод а,b
Найти: Х
Д
Д
A=0
Н
B=0
«Беск. мн-во
реш»
.«Реш. нет»
конец
Н
x = b /a
Ввод x
Программа (1 вариант) :
10 CLS
20 INPUT “a,b”; a,b
30 IF a = 0 THEN 70
40 X = b/a
50 PRINT “X=“; X
60 GOTO 80
70 IF b=0 THEN PRINT «Беск. мн-во реш.» ELSE
PRINT “Решений нет»
80 END
2 вариант:
CLS
INPUT “a,b”; a,b
IF a = 0 THEN IF b=0 THEN PRINT “Решений нет»
ELSE PRINT «Беск . мн-во реш.» ELSE X = b/a:
PRINT “X=“; X