АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Кон кон

 

Реализация данного алгоритма в виде структурированной про­граммы:

 

Алгоритмы: Программа:

алг «Галерея картинок» 'Галерея картинок

нач cls

вывод («Список картинок:») print «Список картинок:»

вывод («1. треугольник») print «1. треугольник»

вывод («2. прямоугольник») print «2. прямоугольник»

вывод («З. кольцо») print «3. кольцо»

запрос(«номер =», n) input «номер =», n

если n = 1 то if n = 1 then

рисунок_треугольника gosub treug

инеc n = 2 то if n = 2 then

рисунок_прямоугольника gosub box

инеc n = 3 то if n = 3 then

рисунок_кольца gosub ring

инеc п < 1 или n > 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: 'рисунок кольца

нач cls

графический_экран 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

у: = 1 у = 1

инес х < -1 то elseif х < -1 then

у: = -1 у = -1

иначе else

у: = х у = х

кесли end if

 

3. Циклы со счетчиком:

от k = 1 до п цикл for k = 1 to n

вывод (k×k) print k*k

кцикл next k

 

4. Циклы с выходами.

цикл do

s: = s + x s = s + x

при х < 1 выход if х < 1 then exit do

х: = x/2 x = x/2

кцикл loop

 

В циклах в общем случае возможны несколько выходов. Допол­нительные выходы считаются допустимыми даже для циклов со счет­чиками. Приведем примеры решения задач с использованием до­полнительных правил структурирования алгоритмов и программ.

Пример записи структурированных алгоритмов и программ с использованием циклов для алгоритма игры-эксперимента «звезд­ное небо»:

 

АлгоритмПрограмма

алг «звездное небо» ' звездное небо»

нач сls

цикл 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 тo elseif х > z then

вывод («много») print «много»

все end if

кцикл end do

вывод («молодец, умница») print «молодец, умница»

кон end

 


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.012 сек.)