ВСТУПЛЕНИЕ В ПРОГРАММИРОВАНИЕ – этапы разработки, парадигмы программирования, классификация


ВСТУПЛЕНИЕ В ПРОГРАММИРОВАНИЕ

1.1. этапы разработки программ.

1.2. Языки программирования и их классификация.

1.3. поколение как программирования.

1.4. парадигмы программирования.

1.5. интегрированные среды программирования.

1.6. структура Pascal-программы.

1.7. контрольные вопрос.

1.8. Вопросы для самостоятельного проработки.

 

1.1 этапы разработки программ

1) Постановка задачи (обычным языком, возможно, без задействования ЭВМ)

2) Анализ, формализованное описание задачи, выбор математической модели.

3) Выбор или разработка алгоритма решения.

4) Проектирование общей стурктуру программы с использованием от- ющих методологий (напр. «Сверху вниз»).

5) Кодирование (перевод алгоритма на выбранную язык програмуван- ния).

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

7) Получение результатов, их интерпретация и возможна модификация модели.

8) Публикация или передача заказчику программы.

9) сопровождение программы.

 

ВЫСОКИЙ УРОВЕНЬ,

НЕ ЗАВИСИТ ОТ АППАРАТУРЫ

НИЗКИЙ УРОВЕНЬ

НЕ ЗАВИСИТ ОТ АППАРАТУРЫ

Рисунок 2.1 Схема разработки программ

1.2 Языки программирования и их классификация

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

Знаковая система состоит из трех компонентов:

1) правила, описывающие синтаксис;

2) правила, задающие семантику синтаксически правильных конс- струкций ;

3) правила, формирующие прагматику синтаксически правильных конструкций.

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

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

1) по функциональному признаку:

— универсальные языки (в них можно промоделировать, условно кажу- или, любой алгоритм)

— специализированные языки (ориентированные на определенные классы задач)

2) по предметному ориентацией:

Языка для решения определенного класса задач, например, языка программу- ния для решения задач символьной обработки (Lisp, Cobol), языки для обработки флэш-клипов (АctionScript) и т. П.

3) по уровню абстракции:

— языка низкого уровня (машинно-зависимые) — Assembler и т. п. ;

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

— Pascal, C, Fortran и т. П. ;

Как отдельное направление следует выделить языка программирования баз данных, предназначенные для манипуляции большими централизованными массивами данных и получения с них информации. Многие из этих языков (Access, FoxPro, 4GL и др.) Имеют развитые процедурные элементы. Фактическим стандартом стала язык запросов к базам данных SQL

Читать  Методика изучения языка программирования | Классификация языков программирования

Языки программирования низкого уровня ориентированы на конкретный тип процессора и учитывают его особенности.

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

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

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

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

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

 

1.3 поколение как программирования

1 поколения — 1GL (First Generation Languages):

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

2 поколения — 2GL

Конец 1950-х — начало 1960-х гг — разработан символьный асемб- лер, в котором появилось понятие переменной. Это первая полноценная речь про- вания. Программы применяются для создания драйверов оборудования комп обслуживание компьютеров.

Читать  Создание макроса в Word – Использование символов, которые невозможно ввести с клавиатуры

3 поколения — 3GL

1960-е гг — языки программирования высокого уровня. Их характеристики:

— относительная простота;

— независимость от конкретного компьютера;

— возможность использования мощных синтаксических конструкций.

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

 

4 поколения — 4GL

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

5 поколения — 5GL

С середины 1990-х гг — до настоящего времени систем программирования, назначение которых заключается в превращении инструкций на тексты программ уни версальною языке программирования.

 

1.4 парадигмы программирования

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

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

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

функциональное программирование

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

логическое программирование

В основе выполнения программы лежит механизм автоматического дове- дения теорем на основе логического вывода. Наиболее известный пред- ник — Пролог.

Объектно-ориентированное программирование

Эта парадигма является на сегодня наиболее популярной и стремительно развивают ется. Объектная программа рассматривается как совокупность параллельно существующих сущностей (объектов), которые взаимодействуют между собой. Каждый объект умеет вы- ваты определенные операции и характеризуется определенным поведением. Исторически пер- вой объектной языком считается Smalltalk. Наиболее известными пред- ми этой парадигмы является C ++, Object Pascal, лежащий в основе системы из- зуального программирования Delphi, Java.

Читать  Учебно-методическое обеспечение

обобщенное программирование

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

 

1.5 интегрированные системы программирования

Для того, чтобы компьютер мог выполнять программу, ее нужно перек- ласты на машинный язык. Для этого используют специальные программы-трансляторы.

Транслятор — это программа, предназначенная для перевода текста программы с одного языка программирования на другой.Процесс перекладывания называется трансляцией.

Различают два типа трансляторов — компиляторы и интерпретаторы.

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

Процесс такого перекладывания называется компиляцией.

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

Интерпретатор — это программа, которая предназначена для повказивкових тра- нсляций и выполнения исходной программы.Такой процесс называется интерп- ретациею.

В процессе трансляции происходит проверка текста программы на со- проводимость правилам языка, которая использовалась для ее описания. Если в про- грамме найдено ошибки, транслятор выводит сообщение о них на при- строй вывода. Интерпретатор сообщает о найденных ошибках после транс- сляции каждой указания программы. Это в значительной степени облегчает процесс пошу- ку и исправление ошибок, но существенно увеличивает время трансляции. компилятор

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

Читать  Эволюция HTML – История языка и перспективы развития

Как правило, программы компиляторы и интерпретаторы называются так же, как и языки, для перевода из которых они предназначены.

Интегрированная среда программирования — это система программирования, сочетающий редактор для удобного ввода и редактирования программы, тра- нслятор и отладчик ошибок.

Рассмотрим основные этапы обработки компилятором программы на языке Pas-

cal.

1) Компилятор анализирует, какие внешние библиотеки нужно подключить,

разбирает текст программы на составляющие элементы, проверяет синтаксические поми- ЛКИ и в случае их отсутствия формирует объектный код (в Windows — файл с расширением .obj, в Linux — файл с расширением .o). Полученный на этом этапе двоичный файл (объектный код) не включает в себя объектные коды подключаемых библиотек.

2) На втором этапе компоновщик подключает объектного кода программы объектные коды библиотек и генерирует исполняемый код программы.Этот этап называется компоновкой или составлением программы.Полученный на этом этапе исполняемый код программы можно запускать на выполнения.

 

1.6 структура Pascal-программы

Язык программирования Free Pascal берет свое начало от классического языка Pascal, которая была разработана в конце 60-х годов XX века Никлаус Вер- том. Н. Вирт разрабатывал этот язык как учебный для своих студентов. С тех пор Pascal, сохранив простоту и структуру языка, превратился в мощное средство программирования. С помощью современного языка Pascal можно выполнять прос те расчеты, разрабатывать программы для проведения сложных инженерных и экономических вычислений.

На сегодняшний день существует множество компиляторов языка Pascal, среди которых можно выделить Borland Pascal, Delphi, а также свободно распространяемый кроссплатформенный компилятор языка — Free Pascal ( «свободный аналог» Turbo Pascal) и среда визуального программирования — Lazarus ( «свободный аналог» Delphi).

Ссылка для скачивания:

Free Pascal http://www.freepascal.org/download.var Lazarus

http://www.lazarus.freepascal.org/index.php?page=downloads

Для начала напомним основы программирования в Pascal, дальше попробуем приобретенные навыки визуализировать.

Рассмотрим структуру Pascal-программы в общем случае. Заува- жимо, что после символа // пишутся объяснения, которые не влияют на работу программы, а в квадратных скобках — необязательные элементы программы.

Читать  Информатика Конспект лекций Для студентов – Windows, язык программирования Turbo Pascal 7

// Раздел описаний и согласований

[Program имя программы;]

[{$ …}]              // Описание глобальных директив компилятора

[Uses модуль1, …, модульN; ] // Подключение модулей и библиотек

[Label митка1 …, миткаN; ] // Раздел описания меток

[Const имья1 = знач1; …; имьяM = значM; ] // Раздел описания постоянных [type имья_типу = описание типа;] {Раздел описания типов пользователя} [var переменная: тип, ] // раздел описания переменных

// Раздел текстов процедур и функций [procedure описание процедуры;] [function описание функции;]

// Основной блок программы

begin

// текст программы

end. // точка обязательно

То есть самая возможная программа, которая однако ничего не выполняет, но компилируется, является такова:

begin end.

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

1.7 контрольные вопрос

1.1 Чем характерен каждый из этапов создания программного обес- печения?

1.2 На основе каких признаков возможные классификации языков программирования?

1.3 Охарактеризуйте особенности языков низкого уровня.

1.4 Охарактеризуйте особенности языков высокого уровня.

1.5 Какие основные парадигмы программирования и в чем их суть?

1.6 Сколько насчитывают поколений языков программирования и их особенности?

1.7 Что такое транслятор, ?

1.8 Какая разница между компилятором и интерпретатором?

1.9 Каково назначение отладчика?

1.10 Что такое ингтеровани среды программирования?

1.11 Чем особые Free Pascal и Lazarus?

1.12 Обязательные элементы программы на языке Free Pascal?

1.13 Приведите пример простейшей программы на языке Free Pascal.

1.8 Вопросы для самостоятельной работы

1.1 Понятие алгоритма и его основные характеристики.

1.2 способы описания алгоритмов.

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

1.4 Обзор языков программирования низкого уровня.

1.5 Обзор языков программирования высокого уровня.

1.6 Анализ структурного и объектно-ориентированного подходов к программу- ния.

1.7 История развития языка Pascal.

1.8 Особенности работы в текстовом редакторе Free Pascal.

1.9 Консольное приложение среды Lazarus.

[Всего голосов: 3    Средний: 5/5]