|
|||||||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Графический_экранесли п = 1 то алг «рисунок_прямоугольника» рисунок_треугольника нач инес п = 2 то рамка(50,50)-(150,100) рисунок_прямоугольника кон инес п = 3 то рисунок_кольиа алг «рисунок_кольца» иначе нач вывод («нет такого рисунка») окружность(100,100),20 все окружность(100,100),50 кон кон Правильность каждого из вспомогательных алгоритмов и подпрограмм определяется сравнением с соответствующими фрагментами сценария, а правильность всего алгоритма и соответствующей программы - со сценарием в целом. Данный подход к составлению алгоритмов и программ с использованием спецификаций - позволяет реализовать основную идею безошибочного программирования - создание алгоритмов и программ, правильных по построению. Такой подход может применяться к составлению алгоритмов и программ для любых современных языков программирования - Паскаль, Си, Ада, Модула, Бейсик и т. д. Приведем примеры составления сложных алгоритмов и программ с циклами с использованием спецификаций. Первый пример - построение алгоритма и программы изображения на экране картинки «Звездное небо» из n случайных точек: В приводимом ниже алгоритме для формирования и вывода последовательности случайных точек на экране используется цикл со счетчиком и датчик случайных чисел для генерации координат «звезд».
Алгоритм Программа алг «звездное небо» ' звездное небо нач сls запрос(«звезд=», п) input «звезд=», n графический_экран screen 2,0 от k = 1 до п цикл for k = 1 to n x: = случайное [0:200] х = rnd*200 у: = случайное [0:200] у = rnd*200 точка (х,у) pset (x,y),3 кцикл next k кон end
Второй пример - составление с использованием спецификаций алгоритма и программы игры «Угадай-ка». В этой игре ЭВМ «загадывает» число от 0 до 100, а человек должен его отгадать, вводя пробные числа с клавиатуры. Для составления алгоритма и программы примем следующий сценарий:
Сценарий «Угадай-ка»
Для реализации этого сценария воспользуемся циклом с выходом, в котором задается вопрос число=? и проверяются числа, вводимые человеком. Выход из цикла происходит после совпадения ответа с числом, задуманным ЭВМ:
АлгоритмПрограмма алг «угадай-ка» ' угадай-ка нач сls вывод («Угадай число») 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 кцикл loop вывод («молодец, умница») print «молодец, умница» кон end
Сравнение алгоритма со сценарием показывает их полное соответствие друг другу.
Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.004 сек.) |