Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспекты лекций по информатике.doc
Скачиваний:
248
Добавлен:
13.02.2015
Размер:
377.86 Кб
Скачать

Раздел 6. Алгоритмизация и программирование. Языки программирования высокого уовня. Лекция 12. Алгоритм: свойства, способы записи. Языки программирования, классификация.

Алгоритм- система четких и понятных предписаний исполнителю о характере и последовательности конечного числа действий, необходимых для решения задач какого-либо типа.

Система команд исполнителю- совокупность всех предписаний, которые исполнитель может понять и исполнить.

Свойства алгоритма:

  1. Дискретность(весь алгоритм разбит на действия, которые выполняются друг за другом и называются командами). Набор команд называется программой.

  2. Понятность (знание исполнителя о том, что надо делать для исполнения этого алгоритма).

  3. Детерминированность/определенность (в любой момент времени исполнитель должен знать какую команду ему выполнять).

  4. Массовость (применение одного алгоритма к задачам одного типа).

  5. Результативность (любой алгоритм приводит к нужному результату).

  6. Эффективность (время исполнения, ресурсы исполнения).

Способы описания алгоритма:

  • Текстовый(языки общения, псевдо),

  • Графический(блок-схема, диаграмма).

Структурный подход к разработке алгоритма решения задачи.

Алгоритм решения любой задачи может быть представлен с помощью базовых алгоритмических структур. Структурный подход является результатом практической деятельности по разработки алгоритма. Структурный подход – это система приемов и правил разработки алгоритмов, имеющих четкую и ясную структуру.

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

Следование

Развилка

Цикл (с предусловием, с постусловием)

Язык программирования- средство записи алгоритмов, исполнителями которых является ЭВМ. Делятся на машинно-зависимые и машинно-независимые (низкого и высокого уровня).

Низкого уровня:

  • язык машинных кодов – использует систему команд данного процессора;

  • ассемблер (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 Basic3.0-6.0 для Windows.

QuickBasic 4.5 фирмы Microsoft— это очень простой, но в то же время эффективный язык, унаследовавший от раннего Бейсика все его достоинства, но избавившийся от всех его недостатков и впитавший целый ряд передовых идей начала 90-х годов. Еще QuickBasic очень привлекателен своей средой программирования. Одна из удач — это использование своеобразного режима работы. Для быстрой работы в среде используется режиминтерпретатора,а для окончательного перевода отлаженных программ на машинный язык используетсякомпилятор.Из QBasic компилятор исключен. QBasic входит в минимальный комплект поставки программного обеспечения компьютера. Бейсик очень популярный язык программирования.

Язык Паскальбыл разработан в 1970 г.Никласом Виртомкак язык обучения студентов программированию. Паскаль вырабатывает навыки соблюдения хорошего строгого стиля программирования, упрощающего разработку сложных программ.

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

В своем первоначальном виде Паскаль имел довольно ограниченные возможности, но расширенный вариант этого языка — Turbo Pascal,является очень мощным языком программирования. Интегрированная оболочка Turbo Pascal, разработанная фирмойBorland(ныне Inprise), включающая в себя редактор, компилятор, компоновщик и отладчик, вместе с интерактивной справочной системой сделали разработку программ на Паскале делом простым и приятным.

Язык СиразработанДеннисом Ритчив 1972 г. как язык, пригодный для программирования новой операционной системы UNIX.

Операционные системы ради повышения скорости работы традиционно писались на языке низкого уровня — ассемблере, но язык Си настолько хорошо зарекомендовал себя, что на нем было написано более 90% всего кода ОС UNIX. Язык СИ обрел популярность как так называемый язык среднего уровня, в котором удобство, краткость и мобильность языков высокого уровня сочетаются с возможностью непосредственного доступа к аппаратуре компьютера, что обычно достигаются только при программировании на языке Ассемблера.

Си не очень прост в изучении и требует тщательности в программировании, но позволяет создавать сложные и весьма эффективные программы.