Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебник 139.docx
Скачиваний:
4
Добавлен:
30.04.2022
Размер:
206.28 Кб
Скачать

Министерство образования и науки РФ

Федеральное государственное бюджетное образовательное учреждение

высшего образования

«Воронежский государственный архитектурно-строительный университет»

А.Д. Кононов, а.А. Кононов Информатика

Учебное пособие для иностранных слушателей

подготовительного отделения

(включая подготовку на уровень магистратуры)

Воронеж 2016

УДК 004.9 (07)

ББК 32,81 я 73

К647

Рецензенты:

кафедра информационных систем

Воронежского государственного университета;

Т.Н. Князева, д. т. н., профессор Воронежского

государственного медицинского университета

им. Н.Н. Бурденко

К647

Кононов, А.Д.

Информатика: учеб. пособие для иностранных слушателей подготовительного отделения (включая подготовку на уровень магистратуры) / А.Д. Кононов, А.А. Кононов; Воронежский ГАСУ. – Воронеж, 2016. – 53 с.

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

Предназначено для иностранных слушателей подготовительного отделения (включая подготовку на уровень магистратуры).

Ил. 3. Табл. 1. Библиогр.: 6 назв.

УДК 004.9 (07)

ББК 32,81 я 73

Печатается по решению учебно-методического совета

Воронежского ГАСУ

ISBN 978-5-89040-604-0 © Кононов А.Д., Кононов А.А., 2016

© Воронежский ГАСУ, 2016

Введение

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

Рассматриваются некоторые концептуальные аспекты дисциплины «Информатика», включающие анализ этапов развития программирования и его современное состояние, парадигмы программирования, формальные языки, языки высокого уровня, метаязыки.

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

Предназначается для иностранных слушателей подготовительного отделения (включая подготовку на уровень магистратуры).

1. История развития языков программирования. Парадигмы программирования

Основоположником программирования можно считать английского математика Чарльза Бэббиджа (1791 – 1871 гг.). Ему принадлежит идея создания такой механической машины для вычислений, у которой порядок её действий мог быть записан предварительно, а затем эти действия выполнялись бы на машине автоматически. Рядом с Ч. Бэббиджем у истоков программирования стояла Ада Лавлейс, дочь английского поэта Ч. Г. Байрона. Она стала ближайшей помощницей Бэббиджа, разработала ряд приёмов управления последовательностью вычислений, описала важную конструкцию любого языка программирования – цикл. Её считают первым в истории программистом.

Начальным шагом в развитии современных языков программирования стало создание в конце 1940-х годов Джоном Моучли, сотрудником Пенсильванского университета (США), системы кодирования машинных команд с помощью специальных символов. Продолжателем работ Моучли стала сотрудница его группы – Грейс Мюррей Хоппер, которая создала первый в мире компилятор, который позволил пользователям программировать задачи на языке, близком к обычному английскому (компилятор FLOW- MATIC).

В середине 50-х годов XX века программирование на машинных языках вытесняется программированием на языках высокого уровня (ЯВУ). Первым из наиболее распространенных в 1957г. стал ФОРТРАН (от FORmula TRANslator – переводчик формул). Разработан группой программистов фирмы IBM (Internet Business Machines). Он стал основным языком для научных и технических расчетов, несколько раз усовершенствовался и используется до сих пор.

В результате международного сотрудничества в области программирования в конце 50-х годов появился язык АЛГОЛ-60 (ALGOritmic Language – алгоритмический язык, версия 1960 г.). Язык очень мощный и выразительный, предназначенный для записи алгоритмов, которые строятся в виде последовательности процедур, применяемых для решения поставленных задач. Язык оказался сложным и был воспринят специалистами-практиками далеко не однозначно; тем не менее, он оказал значительное влияние на развитие других языков и теорию программирования в целом.

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

В середине 1960-х годов появился язык Бейсик (BASIC-Beginner’s All-Purpose Symbol Instruction Code) – универсальный символический код для начинающих. Это специализированный язык программирования, состоящий из простых слов английского языка. Универсальный язык Бейсик имеет множество версий. Он был распространен как встроенный язык для появившихся персональных компьютеров, имевших поначалу весьма ограниченные возможности.

Язык Си (первая версия – в 1972 г.) популярен в среде разработчиков систем программного обеспечения (в том числе операционных систем), так как сочетает в себе черты как языка высокого уровня, так и машинно-ориентированного языка, допуская программиста ко всем машинным ресурсам (в отличие от Бейсика и Паскаля).

Отметим ещё языки LISP (LISt Processing – обработка списков) и Пролог (Prolog – PROgramming in LOGic) как языки программирования для создания систем искусственного интеллекта.

В настоящее время количество алгоритмических языков (АЯ) высокого уровня существенно больше трёх тысяч, хотя в практической деятельности используется не более двух десятков. АЯ ориентированы на разные классы задач, в той или иной степени привязаны к конкретным архитектурам компьютеров и часто воплощают личные вкусы и идеи создателей.

Попытки создания единого универсального языка программирования, например PL/1 (Programming Language One, 1967 г.), АЛГОЛ-68 (1968 г.), ADA (в честь Ады Лавлейс, 1979 г. – прямой наследник Паскаля) и др., не увенчались успехом. Стремление к универсальности языка приводило к неоправданной сложности конструкций программы и неэффективности получаемых исполняемых кодов.

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

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

Большинство языков программирования, используемых при создании системного и прикладного программного обеспечения (ПО), таких как Фортран, Бейсик, Паскаль, Ада, Си, Модула, Форт, относятся к процедурной парадигме. Сущность процедурного программирования состоит в детальном описании шагов, действий, которые должен выполнить компьютер для решения задачи. Основные понятия здесь – оператор и данные. При процедурном подходе операторы объединяются в процедуры.

Принципиально иные направления в программировании относятся к непроцедурным парадигмам. К ним можно отнести объектно-ориентированное и декларативное программирование. Из языков объектного программирования, имеющих популярность, можно назвать Cи ++, среды типа Delphi и Visual Basic.

При использовании декларативного языка программист задаёт исходные информационные структуры, взаимосвязи между ними и то, какими свойствами должен обладать результат. При этом процедуру его получения («алгоритм») программист не описывает. В этих языках отсутствует понятие «оператор» (команда). Декларативные языки можно подразделить на два семейства: логические (типичный представитель – Пролог) и функциональные (Лисп).

Непроцедурные языки имеют большое будущее. Общая классификация языков программирования в соответствии с парадигмами программирования приведена на рис.1.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]