Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 11 лет назад пользователемimg1.liveinternet.ru
1 Алгоритмизация. Процедурно- ориентированное программирование. Вопросы: 1.Алгоритм. 2.Блок-схема. 3.Процедурное программирование 4.Структурное программирование
2 2 Ключевые слова * Key words Алгоритм Блок-схема Модуль Процедура Процедурная декомпозиция Процедурное программирование Модульное программирование Структурное программирование Algorithm Flow chart Module Procedure Procedure decomposition Procedure programming Modular programming Structured programming
3 3 Идея: Чтобы решить задачу, надо Разработать последовательность элементарных действий разработать алгоритм Каждое действие преобразовать в инструкции, понятные компьютеру написать текст программы
4 4 Алгоритм - точно определённая последовательность действий для решения задачи. Страница из «Китаб ал джабр ал Хорезми», старейшей арабской работы по алгебре
5 5 Процедура -законченная точно определённая последовательность операций для решения отдельной задачи. Procedure Vvod_ID(var x,y:byte); Begin … End;
6 6 Особенности процедурного (модульного) программирования Процедурная декомпозиция - разделение большой программы на отдельные части, процедуры (модули) - облегчает разработку, отладку и сопровождение программы. В свою очередь модуль также представляет собой совокупность процедур. Программа всегда имеет начальную процедуру и окончание. Для начала действия последующей процедуры необходимо завершение всех действий предшествующей процедуры. Вся программа может быть представлена в виде направленной последовательности графических блоков:
7 7 Блок-схема алгоритма (ГОСТ )
8 8
9 9
10 10 Сложность программы = f (количество строк программного кода)? Фредерик Брукс. «Мифический человеко-месяц, или Как создаются программные системы»
11 11 Закон Брукса Глава 2. Мифический человеко-месяц 2.1 Программные проекты чаще проваливаются из-за нехватки календарного времени, чем по всем остальным причинам, вместе взятым. 2.2 Чтобы приготовить вкусную пищу, нужно время; некоторые задачи нельзя ускорить, не испортив результат. 2.3 Все программисты являются оптимистами: "Все будет хорошо". 2.4 Поскольку программист работает с чистыми идеями, мы не ожидаем особых трудностей при реализации. 2.5 Но сами наши идеи бывают ошибочными - отсюда и ошибки в программах. 2.6 Наши методы оценивания, основанные на учете затрат, смешивают затраты с полученным результатом. Человеко-месяц является ошибочным и опасным заблуждением, поскольку предполагает, что месяцы и количество людей можно менять местами. 2.7 Разделение задачи между несколькими людьми вызывает дополнительные затраты на обучение и обмен информацией. 2.8 Мое практическое правило: 1/3 времени - на проектирование, 1/6 - на написание программы, 1/4 - на тестирование компонентов и 1/4 - на системное тестирование. 2.9 Как научной дисциплине нам не хватает методов оценки Поскольку мы не уверены в своих оценках сроков работы, нам часто не достает смелости упрямо отстаивать их под нажимом руководства и клиентов Закон Брукса: если проект не укладывается в сроки, то добавление рабочей силы задержит его еще больше Добавление рабочей силы увеличивает общий объем затрат тремя путями: труд по перекраиванию задач и происходящее при этом нарушение работы, обучение новых людей, дополнительное общение.
12 12 Закон Платта «Любой проект по разработке ПО потребует в три раза больше времени, чем вы рассчитываете, даже если вы учитываете этот закон» Дэвид С.Платт, «Software Legend» по признанию Microsoft в 2002г. Nickname: "The Mad Professor"
13 13 «Death March» Edward Yourdon. «Death March. The Complete Software Developerss Guide to Surviving Mission Impossible Projects» Эдвард Йордон. «Путь камикадзе. Как разработчику программного обеспечения выжить в безнадёжном проекте» Эдвард Йордон - автор и соавтор более двух десятков книг, включая "Путь камикадзе,Закат и падение американского программиста","Подъем и возрождение американского программиста". В июне 1977 г. он был официально объявлен членом Зала славы компьютеров, объединяющим таких выдающихся людей, как Чарльз Бэббидж, Сеймур Крей, Джемс Мартин, Грейс Хоппер, Джеральд Вайнберг и Билл Гейтс. Широко известный как соавтор популярной методологии Коуда/Йордона, он создал и возглавил YOURDON - консалтинговую компанию, которая обучила уже более человек во всем мире.
14 14 Ветвления – «корень зла»?! Безусловный переход: GOTO Условный переход: IF THEN ELSE Цикл: DO WHILE ENDDO REPEAT UNTIL Выбор варианта: DO CASE OF : … ENDDO
15 15 За программирование без «GOTO»!
16 16 Структурное программирование - методология и технология разработки программных комплексов, основанная на принципах: - нисходящего программирования; - модульного программирования. Основа методологии: процедурная декомпозиция на всех уровнях проектирования программной системы. Эпоху Структурного Программирования начали «Заметки о структурном программировании» (1960) датчанина Эдсгера Дейкстры.
17 17 «Структурирующая» блок-схема: вместо ветвления – линейный участок!
18 18 Правила хорошего стиля! 1.Старайтесь, чтобы имена переменных отражали смысл их содержимого 2.Не используйте одну и ту же переменную в разных смыслах 3.Пишите комментарии! Одна строка = один оператор + один комментарий 4.Выделяйте отступами блоки, вложенные циклы и условные операторы 5.Оптимальный по размерам модуль целиком должен помещаться на экране 6.Избегайте неявного преобразования типов данных 7.…
19 19 Расчёт сложных процентов: условие задачи Дано: капитал Q вкладывается в предприятие с ежегодным приростом D%. Определить: текущую величину капитала в течение первых N лет.
20 20 Расчёт сложных процентов: решение задачи Условие задачи. Дано: капитал Q вкладывается в предприятие с ежегодным приростом D%. Определить: текущую величину капитала в течение первых N лет. Решение: Прирост D% означает увеличение капитала в (1+D/100) раз. Введём коэффициент увеличения D raz = 1+ D/100. Тогда текущая величина капитала по итогам: –1-го года равняется Q * D raz; –2-го года равняется Q * D raz * D raz; –…; –N-го года равняется Q * D raz.* D raz * …* D raz (умножать N раз).
21 21 Расчёт сложных процентов: BASIC-программа и блок-схема алгоритма 10 PRINT Расчёт сложных процентов 20 INPUT Введите Q, D, N, Q, D, N 30 D_RAZ=1+D/ J=1 50 Q=Q*D_RAZ 60 PRINT J,Q 70 J=J+1 80 IF J
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.