Лекция №4 Тема: Среда программирования






Скачать 97.96 Kb.
НазваниеЛекция №4 Тема: Среда программирования
Дата публикации09.03.2015
Размер97.96 Kb.
ТипЛекция
l.120-bal.ru > Документы > Лекция
ЛЕКЦИЯ № 4
Тема: Среда программирования

План:

  1. История и классификация языков программирования

  2. Реализация языков программирования

  3. Алгоритмические конструкции

  4. Построения алгоритмов с использованием основных алгоритмических конструкций

История и классификация языков программирования

Среда программирования – средства для создания, отладки и выполнения программ на языках программирования.

Среда программирования

Машинно - ориентированные

Процедурные языки программирования высокого уровня

Языки логического и функционального программирования

Объектно – ориентированные языки

Turbo Assembler

Macro Assembler

Pascal

C

Prolog

Lisp

C++

Delphi

В 1950-х гг. появляются первые средства автоматизации программирования — языки Автокоды. Позднее для языков этого уровня стало применяться название «Ассемблеры». Появление языков типа Автокод-Ассемблер облегчило участь программистов. Переменные величины стали изображаться символическими именами. Числовые коды операций заменились на мнемонические (словесные) обозначения, которые легче запомнить. Язык программирования стал понятнее для человека, но при этом удалился от языка машинных команд. Чтобы компьютер мог исполнять программы на Автокоде, потребовался специальный переводчик — транслятор. Транслятор — это системная программа, переводящая текст программы на Автокоде в текст эквивалентной программы на ЯМК.

Первыми популярными языками высокого уровня, появившимися в
1950-х гг., были Фортран, Кобол (в США) и Алгол (в Европе). Языки Фортран и Алгол были ориентированы на научно-технические расчеты математического характера. Кобол — язык для программирования экономических задач. В Коболе по сравнению с двумя другими названными языками слабее развиты математические средства, но зато хорошо развиты средства обработки текстов, организация вывода данных в форме требуемого документа. Для первых ЯПВУ предметная ориентация языков была характерной чертой.

В 1965 г. в Дартмутском университете был разработан язык Бейсик. По замыслу авторов это простой язык, легко изучаемый, предназначенный для программирования несложных расчетных задач. Наибольшее распространение Бейсик получил на микро ЭВМ и персональных компьютерах. На некоторых моделях школьных компьютеров программировать можно только на Бейсике. Однако Бейсик — неструктурный язык, и потому он плохо подходит для обучения качественному программированию. Справедливости ради следует заметить, что последние версии Бейсика для ПК (например, QBasic) стали более структурными и по своим изобразительным возможностям приближаются к таким языкам, как Паскаль.

В эпоху ЭВМ третьего поколения получил большое распространение язык PL/1 (Program Language One), разработанный фирмой IBM. Это был первый язык, претендовавший на универсальность, т. е. на возможность решать любые задачи: вычислительные, обработки текстов, накопления и поиска информации. Однако PL/1 оказался слишком сложным языком. Для машин типа IBM 360/370 транслятор с него не мог считаться оптимальным, содержал ряд невыявленных ошибок. На ЭВМ класса мини и микро он вообще не получил распространения. Однако тенденция к универсализации языков оказалась перспективной. Старые языки были модернизированы в универсальные варианты — Алгол-68, Фортран-77.

Значительным событием в истории языков программирования стало создание в 1971 г. языка Паскаль. Его автор — швейцарский профессор Н.Вирт — разрабатывал Паскаль как учебный язык структурного программирования. Турбо Паскаль — это не только язык и транслятор с него, но еще и операционная оболочка, обеспечивающая пользователю удобство работы. Турбо Паскаль вышел за рамки учебного предназначения и стал языком профессионального программирования с универсальными возможностями. Транслятор с Турбо Паскаля по оптимальности создаваемых им программ близок наиболее удачному в этом отношении транслятору — транслятору с Фортрана. В силу названных достоинств Паскаль стал основой многих современных языков программирования, например, таких как Ада, Модула-2 и др.

Язык программирования Си (английское название — С) создавался как инструментальный язык для разработки операционных систем, трансляторов, баз данных и других системных и прикладных программ. Так же как и Паскаль, Си - это язык структурного программирования, но, в отличие от Паскаля, в нем заложены возможности непосредственного обращения к некоторым машинным командам, к определенным участкам памяти компьютера. Дальнейшее развитие Си привело к созданию языка объектно-ориентированного программирования Си++.

Модула-2 — это еще один язык, предложенный Н.Виртом, основанный на языке Паскаль и содержащий средства для создания больших программ.

ЭВМ будущего, пятого поколения называют машинами «искусственного интеллекта». Но прототипы языков для этих машин были созданы существенно раньше их физического появления. Это языки ЛИСП и Пролог.

Язык ЛИСП основан на понятии рекурсивно определенных функций. А поскольку доказано, что любой алгоритм может быть описан с помощью некоторого набора рекурсивных функций, то ЛИСП, по сути, является универсальным языком. С его помощью на ЭВМ можно моделировать достаточно сложные процессы, в частности интеллектуальную деятельность людей.

Язык Пролог разработан во Франции в 1972 г. также для решения проблемы «искусственного интеллекта». Пролог позволяет в формальном виде описывать различные утверждения, логику рассуждений и заставляет ЭВМ давать ответы на заданные вопросы.

Реализация языков программирования

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

• полный предварительный перевод — лектор заранее передает текст выступления переводчику, тот записывает перевод, размножает его и раздает слушателям (после чего лектор может и не выступать);

• синхронный перевод — лектор читает доклад, переводчик одновременно с ним слово в слово переводит выступление.

Компиляция является аналогом полного предварительного перевода; интерпретация — аналогом синхронного перевода. Транслятор, работающий по принципу компиляции, называется компилятором; транслятор, работающий методом интерпретации, — интерпретатором.

При компиляции в память ЭВМ загружается программа-компилятор. Она воспринимает текст программы на ЯПВУ как исходную информацию. После завершения компиляции получается программа на языке машинных команд. Затем в памяти остается только программа на ЯМК, которая выполняется, и получаются требуемые результаты.

Интерпретатор в течение всего времени работы программы находится во внутренней памяти. В ОЗУ помешается и программа на ЯПВУ. Интерпретатор в последовательности выполнения алгоритма «читает» очередной оператор программы, переводит его в команды и тут же выполняет эти команды. Затем переходит к переводу и выполнению следующего оператора. При этом результаты предыдущих переводов в памяти не сохраняются. При повторном выполнении одной и той же команды она снова будет транслироваться. При компиляции исполнение программы разбивается на два этапа: трансляцию и выполнение. При интерпретации, поскольку трансляция и выполнение совмещены, программа на ЭВМ проходит в один этап. Однако откомпилированная программа выполняется быстрее, чем интерпретируемая. Поэтому использование компиляторов удобнее для больших программ, требующих быстрого счета. Программы на Паскале, Си, Фортране всегда компилируются. Бейсик чаще всего реализован через интерпретатор.

Алгоритмические конструкции

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

Существует несколько способов записи алгоритма:

  1. Словесный (описание на естественном языке);

  2. Формульный (совокупность математических формул);

  3. С помощью блок – схемы (графический способ описания алгоритма

Каждый блок входящий в блок - схему означает какое – либо действие, блоки соединяются стрелками.

В блок – схемах могут использоваться различные виды блоков, в зависимости от характера выполняемого действия:





Начало и конец блок - схемы




Ввод, либо вывод данных




Выполнение конкретных действий




Развилка (проверка условий)




Выполнение цикла заданное число раз




Вспомогательный алгоритм

Построение алгоритмов с использованием

основных алгоритмических конструкций

К основным алгоритмическим структурам относятся:

  1. Структура следования (линейный алгоритм)

  2. Развилка (разветвляющийся алгоритм)

  3. Цикл (циклический алгоритм)

Линейный

Линейный (последовательный) алгоритм – описание действий, которые выполняются однократно в заданном порядке.

Пример: Линейным является алгоритм отпирания дверей, заваривания чая, приготовления одного бутерброда.

Разветвляющийся алгоритм

Вспомним сюжет из русской сказки. Царевич останавливается у развилки дороги и видит камень с надписью: «Направо пойдёшь – коня потеряешь, налево пойдёшь – сам пропадёшь…»

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

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

Условий – выражение, находящееся между словом «если» и словом «то» и принимающее значение «истина» или «ложь».

Полная развилка Неполная развилка

Пример:

Полная форма – Если билет стоит не больше 100 руб., то купить билет и занять своё место в зале, иначе (если стоимость билета больше 100 руб) вернуться домой.

Неполная форма – Если бензин на исходе, то заехать на ближайшую автозаправочную станцию.

Циклический алгоритм

Многие процессы в окружающем нас мире основаны на многократном повторении одной и той же последовательности действий. Смена времен года и т.д.

Циклом (повтором) называется такая форма организации действий, при которой одна и та же последовательность действий совершается несколько раз (или ни разу) до тех пор, пока выполняется некоторое условие.

Выделяют три вида циклов:

  • Цикл с предусловием «Пока»

  • Цикл с постусловием «До»

  • Цикл с параметром «Для»

Цикл с предусловием «Пока»

«Пока» условие истино повторяет серию команд

условие

команда

нет

да

Пример: Пока есть тесто выпекать блины

Цикл с постусловием «До»

Выполняет серию команд «До» тех пор, когда условие станет истинным.
условие

команда

нет

да

Пример:

  1. Фотографировать

  2. Если плёнка закончилась

  3. Да. Проявить.

  4. Нет. Повторить действия.

Цикл с парметром «Для»

«Для» параметра цикла от начального значения до конечного, изменяющегося с заданным шагом, выполняется серия команд.

Параметр цикла

Нач.знач., конеч.знач., шаг

Цикл с параметром используют, когда известно число выполнения одного и того же действия.

Вспомогательный алгоритм

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

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

Вспомогательный алгоритм – алгоритм, который можно использовать в других алгоритмах, указав только имя.

Вспомогательному алгоритму должно быть присвоено имя.

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

Подпрограмма – это вспомогательный алгоритм, записанный на языке понятном для ЭВМ.

Пример: алгоритм «Обязанности»
Контрольные вопросы для закрепления:

  1. Приведите классификацию сред программирования

  2. Как реализуются языки программирования?

  3. Назовите способы записи алгоритма

  4. Перечислите основные алгоритмические структуры


Литература:

  1. Классификация языков программирования [электронный ресурс]
    URL: http://festival.1september.ru/articles/101846/

  2. Основные алгоритмические конструкции [электронный ресурс] URL: http://infosgs.narod.ru/20.htm

  3. Алгоритм.[электронный ресурс] http://www.gym075.edusite.ru/algoritm.html



Добавить документ в свой блог или на сайт

Похожие:

Лекция №4 Тема: Среда программирования iconЛекция I. Сравнительный анализ и анализ тенденций на базе финансовой...
По сути, финансовая среда бизнеса определяет необходимость ведения анализа тенденций, оценки деловой активности компании для оптимизации...

Лекция №4 Тема: Среда программирования iconЛекция по учебной дисциплине «судебная медицина и судебная психиатрия»...
Лекция подготовлена доцентом кафедры криминалистики, полковником милиции, кандидатом медицинских наук Р. Б. Гумеровой

Лекция №4 Тема: Среда программирования iconКафедра прикладной математики
Целями освоения дисциплины (модуля) «Объектно-ориентированные языки и системы программирования» являются изучение основ объектно-ориентированного...

Лекция №4 Тема: Среда программирования iconТема: XIX в как «золотой век» русской литературы: факторы, сформировавшие...

Лекция №4 Тема: Среда программирования iconЛекция IX лекция X лекция XI
Фрагменты публикуются по источнику: Чанышев А. Н. Курс лекций по древней философии: Учеб пособие для филос фак и отделений ун-тов....

Лекция №4 Тема: Среда программирования iconСовременные парадигмы программирования
Свободное ориентирование в спектре существующих моделей и парадигм программирования, знание их достоинств и недостатков

Лекция №4 Тема: Среда программирования iconЛекция №8. Особенности занятий легкой атлетикой с детьми, подростками,...
Лекция №6. Организация и проведение соревнований по легкой атлетике

Лекция №4 Тема: Среда программирования iconРабочая программа Наименование дисциплины
Целью дисциплины является научить студентов технологии Web-дизайна и Internet программирования. В результате изучения дисциплины...

Лекция №4 Тема: Среда программирования icon«Высокоуровневые методы программирования»
Цели изучения дисциплины: формирование у студентов целостного представления об основах программирования на языках высокого уровня...

Лекция №4 Тема: Среда программирования iconРабочая программа дисциплины «Технологии программирования»
«Технологии программирования» по специальности 230101. 65 Вычислительные машины, комплексы, системы и сети

Вы можете разместить ссылку на наш сайт:


Литература


При копировании материала укажите ссылку ©ucheba 2000-2015
контакты
l.120-bal.ru
..На главную