Неполная форма записи условного разветвляющегося алгоритма
Неполная форма - это форма записи разветвляющегося алгоритма, в которой предусмотрены команды только в одной ветви, например, "да".
если-то | пример |
· Происходит проверка условия.
· Если x>0, то переменной "y" присваивается значение "sin(x)".
· Иначе, то есть если x<=0, действия ветви "да" пропускаются.
Полная форма записи условного разветвляющегося алгоритма
Полная форма - это форма записи разветвляющегося алгоритма, в которой предусмотрены команды в ветви "да" и в ветви "нет".
если-то-иначе | пример |
1. Происходит проверка условия.
2. Если А>B, то происходит присваивание переменной "A" значения "A*2", а переменной "B", значение "1".
3. Иначе, т.е. если А<=B, происходит присваивание переменной "B" значение "2*B".
Вложенная форма записи условного разветвляющегося алгоритма
Вложенная форма - это форма записи разветвляющегося алгоритма, в которой предусмотрены команды в трех и более ветвях.
В этой форме условия операторов проверяются сверху вниз. Как только какое-либо из условий принимает значение «истинно», выполнится оператор, следующий за этим условием, а вся остальная часть конструкции будет проигнорирована.
если – то – иначе - если | пример |
ПРИМЕР 4:
Задание
Найти значение функции, заданной несколькими аналитическими выражениями, в зависимости от значения аргумента.
Решение
Псевдокод Ввод х Если x < -3 Иначе Печать y | Блок-схема: |
ПРИМЕР 5:
Задание
Найти наибольшую из двух площадей: квадрата со стороной а или круга с радиусом r.
Решение
Псевдокод ввод а ввод r S=a^2 Sк=3,14*r^2 Если S> Sк печать «Площадь квадрата больше» Если S< Sк печать «Площадь квадрата меньше» Если S= Sк печать «Площади равны» | Блок-схема: |
Циклический алгоритм
Циклический алгоритм - это такой алгоритм, действия которого повторяются. Существуют следующие типы циклических алгоритмов:
Цикл типа "Пока" | ||
С предусловием | С постусловием | |
Рис.1 Алгоритм работы продавца при обслуживании покупателей | Рис.2 Алгоритм игры «угадай число» | |
Цикл типа "Для" | |
Рис. 3 Алгоритм учителя при проверке тетрадей учеников |
При организации алгоритмов циклической структуры выделяют следующие понятия: параметр цикла – величина, с изменением которой связано многократное выполнение цикла; начальное и конечное значения параметра цикла; шаг цикла – значение, на которое изменяется параметр цикла при каждом повторении.
Цикл организуют по определенным правилам. Циклический алгоритм состоит из:
· подготовки цикла – действия, задающие начальные и конечные значения параметра цикла, шаг цикла;
· тело цикла – многократно повторяющиеся действия;
· условие продолжения цикла – определяется необходимость дальнейшего выполнения тела цикла. Если условие продолжения цикла перестало быть истинным, то выполнение цикла должно быть прекращено.
1.3.3.1. Циклический алгоритм типа "Для"
Циклический алгоритм типа "Для" - это такой циклический алгоритм, в котором число повторений известно.
Для организации циклов с известным числом повторений в языках Бейсик и Си используют оператор for .
ПРИМЕР 6:
Задание
Рассмотрим применение оператора цикла for на следующем примере, где начальное значение счетчика цикла = 1, конечное значение параметра цикла = 10, шаг равен 1:
Решение
Псевдокод K=6 нц от А=1 до 10 шаг 1 К=К+1 печать К кц | Блок-схема |
1.3.3.2. Циклические алгоритмы типа "Пока"
Циклический алгоритм типа "Пока" - это такой циклический алгоритм, действия которого будут выполнятся до тех пор пока выполняется заданное условие. В таких алгоримах, как правило, количество повторений тела цикла неизвестно.
Для организации циклов с неизвестным числом повторений в языке Си используют операторы whileиdo-while.
ПРИМЕР 7:
Задание
Начав тренировки, спортсмен в первый день пробежал 10 км. Каждый следующий день он увеличивал дневную норму на 50% от нормы предыдущего дня. Через сколько дней спортсмен пробежит суммарный путь не менее 60 км?
Решение
а)ИСПОЛЬЗУЯ ЦИКЛ С ПОСТУСЛОВИЕМ: | |
Псевдокод S=10 N=1 нц с постусловием S = S + 0.5*S N = N +1 кц с постусловием если S<60 печать N | |
б)ИСПОЛЬЗУЯ ЦИКЛ С ПРЕДУСЛОВИЕМ: | |
Псевдокод S=10 N=1 нц с предусловием если S<60 S = S + 0.5*S N = N +1 кц печать N |
ПРИМЕР 8:
Задание
Дано: a,b.
Если вычисления закончить. Если напечатать « »
Если вычислить .
где изменяется от –1 до 3 с шагом 0,3.
Вывести на печать только отрицательные значения функции и подсчитать количество положительных значений функции.
Решение
Блок-схема | Псевдокод |
Ввод а Ввод b Если вычисления закончить Если печать « » Если k=0 Нц от x=-1 до 3 шаг 0.3 Если a=2 y=pow(tan(x+5),2) Если a<2 y=pow(x,2)-8*x Если a>2 y=1/sin(2*x) Если y<0 печать y Если y>0 k=k+1 кц печать k |
1.4. Контрольные вопросы
1. Что такое алгоритм?
2. Что такое программа?
3. Перечислите свойства алгоритма.
4. Какие Вы знаете классы алгоритмов?
5. Кто такой исполнитель алгоритма?
6. Чем характеризуют исполнителя алгоритма?
7. Какие существуют способы описания алгоритма?
8. Перечислите наиболее часто используемые символы в блок-схемах.
9. Какие виды алгоритмов Вы знаете?
10. Перечислите формы записи разветвляющегося алгоритма.
11. Перечислите типы циклических алгоритмов.
12. Объясните работу цикла for.
ЗАДАНИЯ
1. ВАРИАНТ
1. Вычислить
2. Найти сумму членов ряда. На экран вывести значение суммы, число членов ряда, вошедших в сумму, и последний член ряда, вошедший в сумму. Точность считается достигнутой, если очередной член ряда окажется по модулю меньше заданного e.
с заданной точностью e = 10-3
Дано: а, b, х, у.
Если а=b, вычислить .
Если а>b, напечатать а, в, х, у.
Если а<b, вычисление закончить.
Если t<0,вычислить и напечатать d=tg 2a.
Если , определить в каком квадранте находится точка
С координатами х, у и напечатать номер квадранта.
Дано: c, p, y.
Если c>p, вычислить
Если c<p, напечатать c, p.
Если c=p, вычислить и напечатать значение функции
где x изменяется на интервале от 0 до 5 с шагом 0.25
Если вычислить и напечатать
2. ВАРИАНТ
1. Вычислить
2. Найти сумму членов ряда. На экран вывести значение суммы, число членов ряда, вошедших в сумму, и последний член ряда, вошедший в сумму. Точность считается достигнутой, если очередной член ряда окажется по модулю меньше заданного e.
с заданной точностью e = 10-3
Дано:x, y, c
Если:x=0, напечатать “x=0”
Если x=0, вычислить и напечатать
Если x=0, вычислить
Если z>5, вычислить
Если z 5, вычисления закончить.
Если P 0, напечатать x,y,c
Если P<0, вычислить и напечатать
4.
Вычислить значение функции ,
где х изменяется на интервале от 0 до 5 с шагом 0,25.
Если у=10, вычислить , вывести на печать с,х.
Если у>10, вычислить , вывести на печать z,х.
Если у<10, вычислить , вывести на печать а,х.
3. ВАРИАНТ
1.Вычислить
2.Найти сумму членов ряда. На экран вывести значение суммы, число членов ряда, вошедших в сумму, и последний член ряда, вошедший в сумму. Точность считается достигнутой, если очередной член ряда окажется по модулю меньше заданного e.
с заданной точностью e = 10-3
Дано a, b, c.
Если ,вычислить .
Если y>15 , вычислить и напечатать .
Если , напечатать a, b, c.
Если , вычислить и напечатать .
Дано: b, a, m.
Вычислить .
Если Z >0, вычислить значение функции
где x изменяется на интервале от -1 до 5 с шагом 0.2.
Вывести на печать только y>0, подсчитать и вывести на печать количество y<0.
Если Z<0, вывести на печать b, a, m.
Если Z=0, вычислить и напечатать
4. ВАРИАНТ
1.Вычислить
2.Найти сумму членов ряда. На экран вывести значение суммы, число членов ряда, вошедших в сумму, и последний член ряда, вошедший в сумму. Точность считается достигнутой, если очередной член ряда окажется по модулю меньше заданного e.
с заданной точностью e = 10-3
Дано: а, b с.
Вычислить .
Если , вычислить
Если р<0, вычисления закончить.
Если , вычислить и напечатать .
Если х>0, найти и напечатать наименьшее из трех заданных неравных чисел а, b, с.
Дано : a , b .
Если a = b , напечатать “A = B “ .
Если a > b , вычисления закончить .
Если a < b ,вычислить значения функции
где x изменяется на интервале от –1 до 3 с шагом 0,2.
Вывести на печать только отрицательные значения функции y.
5. ВАРИАНТ
1.Вычислить
2. Найти сумму членов ряда. На экран вывести значение суммы, число членов ряда, вошедших в сумму, и последний член ряда, вошедший в сумму. Точность считается достигнутой, если очередной член ряда окажется по модулю меньше заданного e.
при х=0.5 с заданной точностью e = 10-4
3. Дано: y, x, a, b.
Вычислить .
Если c<0, вычисления закончить.
Если с>0,найти квадрат наибольшего из двух чисел а и b и вывести на печать признак N=1,если наибольшим является a , и N=2 в противном случае.
Если c=0, вычислить и напечатать
Дано: a, b.
Если a>b,вычислить значения функции ,
где изменяется на интервале от –1 до 10 с шагом 0,25 ,
напечатать только y>0, подсчитать и напечатать количество y<0.
Если a£b, вычислить .
Если z>0, напечатать «z>0”.
Если z=0, вычислить и напечатать .
Если z<0, вычислить и напечатать .
6. ВАРИАНТ
1.Вычислить
2. Найти сумму членов ряда. На экран вывести значение суммы, число членов ряда, вошедших в сумму, и последний член ряда, вошедший в сумму. Точность считается достигнутой, если очередной член ряда окажется по модулю меньше заданного e.
с заданной точностью e = 10-3
Дано: a, b,y
Вычислить:
Если y 0, вычислить
Если d=0, напечатать “d=0”
Если d>0, напечатать a,b,y.
Если d<0, вычислить
Если , вычислить и напечатать
Если c<3, вычисления закончить.
4.
Вычислить значения функции ,
где x изменяется на интервале от 1 до 2 с шагом 0,25.
Если y>0, вычислить ,напечатать значения x,y,t.
Если y£0,вычислить , напечатать x,t.
7. ВАРИАНТ
1.Вычислить
2. Найти сумму членов ряда. На экран вывести значение суммы, число членов ряда, вошедших в сумму, и последний член ряда, вошедший в сумму. Точность считается достигнутой, если очередной член ряда окажется по модулю меньше заданного e.
с заданной точностью e = 10-3