- •Модульное программирование
- •Структура П-Ф
- •Замечание 1. П-Ф может не иметь формальных параметров, и тогда данные передаются через
- •Обращение к подпрограмме-функции
- •Программирование линейных
- •Программирование разветвляющихся
- •Реализация структуры ЕСЛИ-ТО-ИНАЧЕ
- •Примеры программирования
- •Примеры программирования
- •Примеры программирования разветвляющихся алгоритмов
- •Реализация сложной структуры разветвляющихся алгоритмов
- •Примеры программирования разветвляющихся алгоритмов
- •Программирование циклических
- •Структура оператора цикла for
- •Примеры программирования
- •Примеры программирования циклических алгоритмов с параметром цикла
- •Примеры программирования
- •Примеры программирования циклических алгоритмов с параметром цикла
- •Программирование итерационных
- •Программирование итерационных циклов
- •Программирование итерационных циклов
Реализация сложной структуры разветвляющихся алгоритмов
В сложных алгоритмах в операторах if и otherwise требуется выполнять не одну, а
несколько конструкций.
Для реализации такой структуры необходимо в поле перед оператором if или otherwise щелкнуть нужное число раз на кнопке Add Line на Панели
Примеры программирования разветвляющихся алгоритмов
Пример 3. Даны два числа x, y. Составить описание П-Ф, которая переменной x присваивает максимальное
значение |
из |
этих |
|
двух чисел, а y – |
|||||||||||
|
|
P (x y ) |
|
|
|
|
if x y |
|
|
||||||
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
||||||||||||
|
минимальное |
|
|
|
. |
|
|
Результат в П-Ф оформлен в |
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
v0 x |
|
||
|
|
|
|
|
|
|
|
|
|
|
|
v1 y |
|
виде массива v = (v0, v1), так |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
otherwise |
|
как по правилам описания |
||||
|
|
|
|
|
|
|
|
|
|
|
|
v0 y |
|
имени П-Ф может быть |
|
|
|
|
|
|
|
|
|
|
|
|
|
v1 x |
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
присвоено значение только |
||
|
|
|
|
|
|
|
|
|
v |
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
одной переменной |
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x |
P (4 |
9) |
|
9 |
|
(в данном случае v – это имя |
|||||||
|
|
|
|
|
|
|
|||||||||
|
|
y |
|
|
|
|
|
|
|
|
|
4 |
|
одной переменной-массива). |
|
|
|
x 9 |
y 4 |
|
|
|
|||||||||
|
|
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Программирование циклических
алгоритмов
По способам организации циклов в П-Ф также выделяются две группы:
а) циклы типа арифметической прогрессии;
б) итерационные циклы.
Программирование циклов типа
арифметической прогрессии
Для программирования таких циклов используется оператор цикла с параметром
for.
Особенности оператора цикла for
1.Параметр цикла может принимать значения различных типов: численные (целые или вещественные), текстовые и др.
Структура оператора цикла for
Для ввода оператора цикла с параметром надо щелкнуть на кнопке for на Панели программирования.
ВПоле 1 вводится имя переменной, являющейся параметром цикла.
ВПоле 2 задается закон изменения
параметра цикла.
ВПоле 3 вводятся операторы, составляющие тело цикла. Если одного поля недостаточно, то дополнительные поля для
Примеры программирования |
||
циклических алгоритмов с |
||
параметром цикла |
||
Пример 1. Составить описание П-Ф, |
||
реализующей формирование вектора z из n |
||
(n=5) элементов, определяемых по правилу: |
||
ORIGIN 1 |
|
Решение |
vect(n) for i 1 n |
||
|
zi |
1 |
|
i 4 |
|
|
|
|
z |
|
|
z vect(5) |
zT ( 0.2 0.167 0.143 0.125 0.111 ) |
Примеры программирования циклических алгоритмов с параметром цикла
Пример 2. Для переменной x, изменяющейся от 0.5 до 1.5 с шагом 0.2,
сформировать вектор q, состоящий из соответствующих значений функции:
где a и b – заданные вещественные
числа.
Примеры программирования |
|
||||
циклических алгоритмов с |
|
||||
параметром цикла |
|
||||
Пример 2 (решение) |
|
||||
ORIGIN 1 |
1. |
Параметр |
цикла |
– |
|
Вариант |
|||||
f1(a b) i 1 |
|
|
|
|
|
переменная х. |
|
|
|
|
|
for x 0.5 0.7 1.5 |
|
|
|
||
|
yi ln |
x |
q f1(2.1 4.56) |
|
|
|
a2 b2 |
|
|
|
|
|
i i 1 |
|
|
|
|
y |
|
|
|
|
|
qT 0.028 |
0.014 4.18 10 3 |
3.782 10 3 |
0.01 0.016 |
|
Примеры программирования циклических алгоритмов с параметром цикла
Пример 2 (решение)
|
|
|
|
|
|
|
|
|
|
|
|
|
– |
||||||||
|
|
|
Вариант |
|
2. |
|
|
|
|
|
Параметр |
цикла |
|||||||||
|
|
|
ORIGIN 1 |
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
переменная i. |
|
|
|
|
|
|
n - число элементов |
|
||||||||||||
|
|
|
n trunc |
|
1.5 |
0.5 |
|
1 6 |
|
||||||||||||
|
|
|
|
0.2 |
|
массива q |
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
|
|
f2(a b) |
|
|
|
for |
i 1 n |
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
xi 0.5 |
(i 1) 0.2 |
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
yi |
ln |
|
xi |
|
|
|
q f2(2.1 4.56) |
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
a2 b2 |
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
y |
|
|
|
|
|
|
|
|
|
|
0.01 0.016 |
|
|
|
|
|
qT 0.028 0.014 |
4.18 10 3 |
3.782 10 3 |
|
Программирование итерационных
циклов
Для программирования итерационных циклов используется оператор цикла while.
while
Для ввода оператора надо щелкнуть на кнопке while на Панели программирования.
ВПоле 1 вводится условие выполнения цикла.
ВПоле 2 вводятся операторы тела цикла.
Программирование итерационных циклов
|
Пример |
|
|||||
Составить |
|
П-Ф, |
|
а |
реализующую |
||
приближенное |
|
a |
вычисление |
корня |
|||
xn 1 0.5 (xn |
), n |
0, 1, ... ; x0 a. |
|
||||
квадратного |
|
xn |
|
по итерационной |
|||
формуле: |
|
|
|
|
|
|
|
xn 1
Вкачестве приближенногоx 2 a значения принимается n ,1удовлетворяющее условию: