русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Тема «Алгоритмы. Структурная алгоритмизация»


Дата добавления: 2015-06-12; просмотров: 912; Нарушение авторских прав


 

Форма изложения материала — сочетание лекции с практическими занятиями. На лекции вспоминают и уточняют понятие «алгоритм», введенное в базовом курсе информатики, и обсуждают особенности алгоритмов, исполнителем которых является компьютер. Далее переходят к способам записи алгоритмов, акцентируя внимание на блок-схемах, приводят примеры нескольких простейших линейных алгоритмов.

Отметим, что по вопросу о целесообразности использования блок-схем при отработке навыков алгоритмизации в методической литературе существуют разные точки зрения. Возможно (хотя и вызывает сомнение), что при подготовке профессиональных программистов в вузах этот способ записи алгоритмов является излишней промежуточной ступенью. Однако, как показывает опыт, при выработке навыков алгоритмизации у школьников использование графических схем является чрезвычайно полезным. При этом необязательно следовать соответствующему стандарту, но некий отчетливый набор Правил по изображению блок-схем должен присутствовать.

Далее переходят к изложению правил структурной алгоритмизации. Приведите на уровне схемы три классические структуры (следование, выбор и цикл). При изображении структуры «выбор» можно использовать, например, схему, приведенную на рис. 15.2 (как показывает опыт, на доске и в тетради удобнее вертикальная компоновка блок-схем); схемы развилки (как частного случая выбора) и различных циклов общеизвестны.

 

 

Рис. 15.2. Схема структуры «выбор»

 

Приведя несколько примеров простых задач, реализуемых через единичный выбор (развилку), единичный цикл (с предусловием и с постусловием), перейдите к иллюстрации важнейшего в структурном программировании понятия «суперпозиции». Уместно вначале просто показать графически, что такое суперпозиция (вложение) различных пар структур друг в друга. Например, структура типа «развилка, вложенная в цикл» изображена на рис. 15.3.



 

 

Рис. 15.3. Пример вложенной структуры

 

Обратите внимание на то, что при анализе изображений алгоритмов методически важной является возможность указать те точки, в которых начинается и заканчивается каждый элементарный фрагмент. При вертикальной компоновке блок-схем эти точки должны быть на одной вертикали.

Теперь сформулируйте несложную содержательную задачу, приводящую к такой структуре, и решите ее графически. Например: в компьютер последовательно вводится 100 чисел, найти отдельно суммы положительных и отрицательных чисел. Надо поступить также с другими суперпозициями: развилка в развилке, цикл в развилке, цикл в цикле, и отрабатывать решение типовых задач алгоритмизации, которые можно почерпнуть в цитированных ниже задачниках. При этом не следует прибегать к структурированию обрабатываемой информации (например, создавать переменные с индексом), чтобы не усложнять основную задачу.

Следующей проблемой является введение в идею модульности, одну из важнейших в структурном программировании. На блок-схемах вспомогательные алгоритмы (из которых впоследствии вырастут процедуры и функции) обозначают, например, так:

 

 

Далее формулируйте принципы нисходящего проектирования и пошаговой детализации, также являющиеся частью структурной алгоритмизации, и путем решения относительно несложных задач вырабатывайте простейшие навыки этой деятельности. Задачи на этом этапе достаточно традиционны, например: найти наибольшее число из нескольких (последовательно вводимых в машину) — вспомогательный алгоритм есть нахождение наибольшего из двух; найти наибольший общий делитель для нескольких целых чисел и т.п.

Опыт показывает, что пока элементарные навыки структурной алгоритмизации не отработаны, изучение языка типа Паскаль нецелесообразно, так как на специфические трудности программирования на новом языке накладываются трудности более высокого порядка. Поэтому этой теме следует посвятить несколько уроков без выхода на ЭВМ.



<== предыдущая лекция | следующая лекция ==>
Программированию | Тема «Введение в Паскаль»


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.176 сек.