Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Уважаемые студенты. Вам необходимо просмотреть представленный материал и составить на выбор одну блок-схему из трех видов управляющих структур (следования, ветвления, цикла)Содержание книги
Поиск на нашем сайте Принцип Пояснение Абстракция
Абстракция позволяет программисту вообразить требуемое решение проблемы без сиюминутного учета множества деталей. Программист может рассматривать программу по уровням: верхний уровень показывает большую абстракцию, упрощает взгляд на проект, в то время как нижний уровень показывает мелкие детали реализации. Формальность
Использование при разработке программы строгого методического подхода, что является базой для превращения программирования из импровизации в инженерную дисциплину. Этот принцип дает основания для доказательства правильности программ, так как позволяет изучать программы (алгоритмы) как математические объекты. «Разделяй и властвуй» Разделение программы на отдельные фрагменты (модули), которые просты по управлению и допускают независимую отладку и тестирование. Иерархическое упорядочение Структура разбиения на части не менее важна, чем сам факт такого разделения. Этот принцип выдвигает требование иерархического структурирования взаимосвязей между модулями программного комплекса, что облегчает достижение целей структурного программирования.
Основной принцип структурного программирования - обеспечить максимальное соответствие структуры текста программы логике решаемой проблемы. Способы реализации основного принципа структурного программирования: 1) Структурируемости и читаемости текста программы – отступы, обозначения, группировка частей текста. 2) Отлаживаемость программы – пригодность конструкций языка к отладке. В значительной степени связана с особенностями типизации данных. Наличие жесткого контроля типов с диагностикой ошибок при трансляции программы. Другая важная часть – наличие интегрированной среды разработки. 3) Инкапсуляция данных — наличие структурных типов данных (массивы, записи, строки, множества, файловые типы, потоки и т.п.) с возможностью оперирования переменной структурного типа как единым целым. 4) Инкапсуляция программного кода - блоки разных уровней, модули, пакеты и т.п. с особыми правилами прозрачности и интерфейсами между ними. 5) Инкапсуляция программного кода и данных во время выполнения программы, со специальными ограничениями доступа, правилами прозрачности, интерфейсами, диагностикой ошибок во время выполнения программы. Примеры: обработка исключительных ситуаций во время выполнения, обработки событий, подпроцессы. Примеры неструктурных языков: Ассемблер — не удовлетворяет: "Читаемость" — из-за плохой читаемости программы, отсутствия структурируемости текста; "Отлаживаемость" — полное отсутствие; "Структурные типы" — полное отсутствие; "Инкапсуляция кода" — полное отсутствие; "Инкапсуляция времени выполнения" — полное отсутствие. FORTRAN — не удовлетворяет: "Читаемость" — из-за необходимости часто использовать оператор goto, неразвитости блочной организации текста программы, позиционной зависимости кода; "Отлаживаемость" — из-за отсутствия пользовательских типов и, что более критично — слабого контроля типов. С этим связано существование недиагностируемых ошибок типа DO7I=1.10, когда в операторе цикла вместо "," поставили ".", в результате чего "Voyager" пролетел мимо Венеры; "Структурные типы" — отсутствие структурных типов данных (кроме массивов); "Инкапсуляция кода" — почти отсутствует, так как нет модулей, вложенности блоков программного кода (подпрограммы не могут быть вложены друг в друга) и крайне плохо организованных интерфейсов между блоками кода (операторы block data и т.д.); "Инкапсуляция времени выполнения" — полное отсутствие. В FORTRAN-77 появились возможности, преодолевающие ряд перечисленных недостатков. FORTRAN-99 пошел еще дальше, однако многие недостатки сохранялись, а новые возможности сделали его достаточно сложным и непоследовательным. Примеры структурных языков: С: "Читаемость" — удовлетворительно (не очень хорошая читаемость из-за наличия макросов машинной ориентации языка с выражениями типа y+=x ); "Отлаживаемость" —удовлетворительно не очень хороший синтаксис языка, поэтому много ошибок не отслеживается при компиляции (например, "," вместо ";" в функции "for", а также ошибки, возникающие из-за правил автоматического приведения типов). Наличие указателей с соответствующими правилами присваивания часто приводит к фатальным ошибкам. "Структурные типы" —хорошо; "Инкапсуляция кода" —хорошо. Не очень удачно организована модульность; "Инкапсуляция во время выполнения" — полное отсутствие. C++: То же, что C, 2) несколько усовершенствован (однако переусложнен). Имеется объектная модель, расширяющая 1), 2), 3), 4). Правда, имеется дефект в ограничении правила видимости объектов (правила видимости могут быть несанкционированно изменены). 5)"Инкапсуляция времени выполнения" — наличие обработки исключительных ситуаций (exceptions). PASCAL: "Читаемость" — хорошо; "Отлаживаемость" — хорошо. Проблемы: правила автоматического приведения типов, работа с указателями, явное приведение типов, вариантная запись; "Структурные типы" — хрошо; "Инкапсуляция кода” —удовлетворительно: отсутствуют модули (в стандарте языка) и пакеты; Turbo Pascal лучше удовлетворяет "4)", хоть и имеет не очень продуманные интерфейсы и правила видимости между модулями; "Инкапсуляция времени выполнения" — полное отсутствие. Object Pascal (начиная с Delphi 2.0) (без явного применения объектов): Имеется объектная модель, расширяющая 1), 2), 3), 4). Кроме того, начиная с Delphi 3.0 появились пакеты. 5)"Инкапсуляция времени выполнения" — а) наличие обработки исключительных ситуаций (exceptions); b) работа с подпроцессами (threads). Java: "Читаемость" — удовлетворительно. Недостатки: переусложненность ряда простых в принципе действий из-за чрезмерного увлечения объектным подходом (например, при действиях с файлами и строками); "рецидивы", ведущие происхождение от С (операнды типа y+=x, функции for,?: и т.п. Зато макросы отсутствуют!). Наличие большого числа маленьких подпрограмм (классов) без возможности их объединения в единое целое. "Отлаживаемость" —отлично, за исключением правил автоматического приведения типов (указатели ликвидированы!); "Структурные типы" —хорошо; "Инкапсуляция кода" —хорошо. Сложность: отсутствие вложенных программ. В некоторой степени решено, начиная с Java 1.1 – вложенные классы; "Инкапсуляция во время выполнения" — хорошо. Имеются: обработка исключительных ситуаций; работа с подпроцессами (threads). JavaScript/Jscript 1)”Читаемость” – удовлетворительно ( С-образен);
2)”Отлаживаемость” – неудовлетворительно (свободная типизация и при этом слабая типизация), крайне плохая диагностика ошибок; 3)”Структурные типы” – хорошо (благодаря объектной модели); 4)”Инкапсуляция кода” – удовлетворительно (нет модулей, пакетов; вложенные функции появились только в JavaScript 1.2); 5)”Инкапсуляция времени выполнения” – удовлетворительно для JS в IE4 и последующих (есть обработка исключений), неудолетворительно – для других бразеров.
Обратная связь с преподавателем: kulikovskaya.tanya@yandex.ru
|
||
|
Последнее изменение этой страницы: 2024-06-17; просмотров: 43; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.217.53 (0.006 с.) |