Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Реализация данного алгоритма в виде структурированной программы:
Алгоритмы: Программа:
алг «Галерея картинок» ' Галерея картинок
нач сls
вывод («Список картинок:») print «Список картинок:»
вывод («1. треугольник») print «1. треугольник»
вывод («2. прямоугольник») print «2. прямоугольник»
вывод («З. кольцо») print «3. кольцо»
запрос(«номер =», п) input «номер =», n
если п = 1 то if n = 1 then
рисунок_треугольника gosub treug
инеc п =2 то if n = 2 then
рисунок_прямоугольника gosub box
инеc п = 3 то if n = 3 then
рисунок_кольца gosub ring
инеc п < 1 или п > 3 то if n < 1 or n >3 then
вывод («нет такого рисунка») print «нет такого рисунка»
все 'все
кон end
алг «рисунок треугольника» treug: 'рисунок треугольника
нач cls
графический_экран screen 2,0
линия (150,50)-(100,100) line (150,50)-(100,100),3
линия (150,50)-(200,100) line (150,50)-(200,100),3
линия (100,100)-(200,100) line (100,100)-(200,100),3
кон return
алг «рисунок прямоугольника» box: 'рисунок прямоугольника
нач cls
графический_экран screen 2,0
рамка (50,50)-(150,100) line (50,50)-(150,100),3,b
кон return
алг «рисунок кольца» ring: 'рисунок кольца
нач els
графический _экран screen 2,0
окружность (100,100),20 circle (100,100),20
окружность (100,100),50 circle (100,100),50
кон return
Данный подход — составление структурированных алгоритмов — может применяться к составлению структурированных программ для любых ЭВМ на любых языках программирования — Паскаль, Си, Ада, Модула и т. д.
На практике используется более широкий набор правил структурной композиции алгоритмов и программ, принятых в современных языках программирования, — правила альтернативного выбора, а также циклы с выходами и со счетчиками.
1. Условные действия:
если у < 0 то if у < 0 then
вывод («недопустим») print «недопустим»
кесли end if
2. Многоальтернативный выбор:
если х > 1 то if х > 1 then
y: = 1 у = 1
инеc х < —1 то elseif х < —1 then
у: = - 1 у = -1
иначе else
у: = х у = х
кесли end if
3. Циклы со счетчиком:
от k = 1 до п цикл for к = 1 to n
вывод (k ∙ k) print k*k
кцикл next k
4. Циклы с выходами:
цикл do
s: = s + х s = s + х
при х < 1 выход if x < 1 then exit do
х: = x/2 x = x/2
кцикл loop
В циклах в общем случае возможны несколько выходов. Дополнительные выходы считаются допустимыми даже для циклов со счетчиками. Приведем примеры решения задач с использованием дополнительных правил структурирования алгоритмов и программ.
Пример записи структурированных алгоритмов и программ с использованием циклов для алгоритма игры-эксперимента «Звездное небо»:
АлгоритмПрограмма
ал г «звездное небо» ' звездное небо»
нач cls
цикл do
запрос(«звезд=», п) input «звезд=», n
при п <= 0 выход if n <= 0 then exit do
графический _экран screen 2,10
от k = 1 до п цикл for k = 1 to n
х: = случайное [0:200] х = rnd*200
у: = случайное [0:200] у = rnd*200
точка (х,у) pset (x,y),3
кцикл next k
кцикл end do
кон end
Пример структурированного алгоритма и программы с применением многоальтернативного выбора и циклов с несколькими выходами:
АлгоритмПрограмма
алг «угадай-ка» 'угадай-ка
нач cls
вывод («Угадай-ка число») print «Угадай-ка число»
вывод («от 1 до 100») print от 1 до 100»
z: = случайное [0:100] z = int (rnd*100)
цикл do
запрос («число =», х) input «число =», х
при х = z вых if х = z then exit do
если х < z то if х < z then
вывод («мало») print «мало»
инеc х > z то elseif х > z then
вывод («много») print «много»
все end if
кцикл end do
вывод («молодец, умница») print «молодец, умница»
кон end
Вопросы
1. Что такое алгоритмизация?
2. Что такое структурированные алгоритмы?
3. Что такое неструктурированные алгоритмы?
4. В чем достоинства структурированных программ?
5. В чем недостатки неструктурированных программ?
6. Можно ли гарантировать отсутствие ошибок в программах?
Дата публикования: 2014-10-25; Прочитано: 707 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!