Лекция 12. Алгоритм: свойства, способы записи. Языки программирования, классификация.
Алгоритм - система четких и понятных предписаний исполнителю о характере и последовательности конечного числа действий, необходимых для решения задач какого-либо типа.
Система команд исполнителю - совокупность всех предписаний, которые исполнитель может понять и исполнить.
Свойства алгоритма:
- Дискретность (весь алгоритм разбит на действия, которые выполняются друг за другом и называются командами). Набор команд называется программой.
- Понятность(знание исполнителя о том, что надо делать для исполнения этого алгоритма).
- Детерминированность/определенность (в любой момент времени исполнитель должен знать какую команду ему выполнять).
- Массовость(применение одного алгоритма к задачам одного типа).
- Результативность(любой алгоритм приводит к нужному результату).
- Эффективность(время исполнения, ресурсы исполнения).
Способы описания алгоритма:
- Текстовый (языки общения, псевдо),
- Графический (блок-схема, диаграмма).
Структурный подход к разработке алгоритма решения задачи.
Алгоритм решения любой задачи может быть представлен с помощью базовых алгоритмических структур. Структурный подход является результатом практической деятельности по разработки алгоритма. Структурный подход – это система приемов и правил разработки алгоритмов, имеющих четкую и ясную структуру.
Каждая из базовых структур может быть рассмотрена как функциональный блок с одним входом и одних выходом, что дает возможность построения алгоритма посредством присоединения этих структур или вложения их друг в друга.
Следование
Развилка
Цикл (с предусловием, с постусловием)
Язык программирования - средство записи алгоритмов, исполнителями которых является ЭВМ. Делятся на машинно-зависимые и машинно-независимые (низкого и высокого уровня).
Низкого уровня:
· язык машинных кодов – использует систему команд данного процессора;
· ассемблер (assembler) – машинный язык, в котором команда записывается с использованием мнемонических обозначений.
Высокого уровня: программа, написанная для ЭВМ одного типа, может быть перенесена на другую ЭВМ, если на ней установлена соответствующая система программирования.
Классификация по функциональному назначению:
Алгоритмические языки – предназначены для задач, решение которых может быть описано с исполнителе алгоритма (Бейсик, Паскаль, Ада, Си).
1. В настоящее время почти все алгоритмические языки – процедурно-ориентированные, т.е. ход решения задачи может быть представлен в виде последовательности обращений к подпрограммам.
2. Проблемно-ориентированные языки (не алгоритмические): Пролог – язык логического программирования, Лисп-язык обработки списков).
3. Объектно–ориентированные.языки: позволяют работать с такими понятиями как «объект»-структура данных и алгоритмы их обработки.(Паскаль 7.0)
4. Интегрированные языки(встроенные):FoxPro.
Современные системы программирования обычно предоставляют пользователям мощные и удобные средства разработки программ. В них входят:
· компилятор или интерпретатор;
· интегрированная среда разработки;
· средства создания и редактирования текстов программ;
· обширные библиотеки стандартных программ и функций;
· отладочные программы, т.е. программы, помогающие находить и устранять ошибки в программе;
· "дружественная" к пользователю диалоговая среда;
· многооконный режим работы;
· мощные графические библиотеки; утилиты для работы с библиотеками
· встроенный ассемблер;
· встроенная справочная служба;
· другие специфические особенности.
Популярные системы программирования — Turbo Basic, Quick Basic, Turbo Pascal, Turbo C.
В последнее время получили распространение системы программирования, ориентированные на создание Windows-приложений:
· пакет Borland Delphi (Дельфи) — блестящий наследник семейства компиляторов Borland Pascal, предоставляющий качественные и очень удобные средства визуальной разработки. Его исключительно быстрый компилятор позволяет эффективно и быстро решать практически любые задачи прикладного программирования.
· пакет Microsoft Visual Basic — удобный и популярный инструмент для создания Windows-программ с использованием визуальных средств. Содержит инструментарий для создания диаграмм и презентаций.
· пакет Borland C++ — одно из самых распространённых средств для разработки DOS и Windows приложений.
Бейсик (BASIC — Beginners All-purpose Symbolic Instruction Code — универсальный символьный код для начинающих) был создан в 1965 г. Дж. Кемени и Т.Курцем как язык, облегчающий написание простых программ. Cейчас все чаще пишут Basic вместо BASIC, придавая другую трактовку названию: Basic — основной, базовый.
Существует много различных версий Бейсика — от очень простых до усовершенствованных, содержащих множество дополнительных языковых конструкций. Наибольшее распространение имеют следующие версии: QuickBasic (QBasic) 4.5 для DOS и Visual Basic 3.0-6.0 для Windows.
QuickBasic 4.5 фирмы Microsoft — это очень простой, но в то же время эффективный язык, унаследовавший от раннего Бейсика все его достоинства, но избавившийся от всех его недостатков и впитавший целый ряд передовых идей начала 90-х годов. Еще QuickBasic очень привлекателен своей средой программирования. Одна из удач — это использование своеобразного режима работы. Для быстрой работы в среде используется режим интерпретатора, а для окончательного перевода отлаженных программ на машинный язык используется компилятор. Из QBasic компилятор исключен. QBasic входит в минимальный комплект поставки программного обеспечения компьютера. Бейсик очень популярный язык программирования.
Язык Паскаль был разработан в 1970 г. Никласом Виртом как язык обучения студентов программированию. Паскаль вырабатывает навыки соблюдения хорошего строгого стиля программирования, упрощающего разработку сложных программ.
Основные привлекательные черты Паскаля — логичность, поддержка концепций структурного и процедурного программирования, работа с динамической памятью, возможность создания своих типов данных. В Паскале программист должен всегда явно указывать, с какими конкретными переменными он желает работать и каковы типы этих переменных. Строгая типизация данных позволяет резко снизить количество ошибок, появляющихся в программе вследствие невнимательности или опечаток.
В своем первоначальном виде Паскаль имел довольно ограниченные возможности, но расширенный вариант этого языка — Turbo Pascal, является очень мощным языком программирования. Интегрированная оболочка Turbo Pascal, разработанная фирмой Borland (ныне Inprise), включающая в себя редактор, компилятор, компоновщик и отладчик, вместе с интерактивной справочной системой сделали разработку программ на Паскале делом простым и приятным.
Язык Си разработан Деннисом Ритчи в 1972 г. как язык, пригодный для программирования новой операционной системы UNIX.
Операционные системы ради повышения скорости работы традиционно писались на языке низкого уровня — ассемблере, но язык Си настолько хорошо зарекомендовал себя, что на нем было написано более 90% всего кода ОС UNIX. Язык СИ обрел популярность как так называемый язык среднего уровня, в котором удобство, краткость и мобильность языков высокого уровня сочетаются с возможностью непосредственного доступа к аппаратуре компьютера, что обычно достигаются только при программировании на языке Ассемблера.
Си не очень прост в изучении и требует тщательности в программировании, но позволяет создавать сложные и весьма эффективные программы.
РАЗДЕЛ 7. ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ И ТЕХНОЛОГИИ ПРОГРАММИРОВАНИЯ.
Дата добавления: 2015-08-08; просмотров: 1692;