Технологии программирования. Языки и системы программирования. Язык программирования Паскаль. Структура программы, реализация базовых алгоритмических конструкций ветвления и циклов на языке Паскаль.
Понятие технологии программирования, представители (структурное, объектно-ориентированное и логическое программирование)
Технологией программирования называют совокупность методов и средств, используемых в процессе разработки программного обеспечения. Как любая другая технология, технология программирования представляет собой набор технологических инструкций, включающих:
- указание последовательности выполнения технологических операций;
- перечисление условий, при которых выполняется та или иная операция;
- описания самих операций, где для каждой операции определены исходные данные, результаты, а также инструкции, нормативы, стандарты, критерии и методы оценки и т. п.
Структу?рное программи?рование — методология разработки программного обеспечения, в основе которой лежит представление программы в виде иерархической структуры блоков.
Паскаль является языком структурного программирования.
Объе?ктно-ориенти?рованное программи?рование (ООП) — методология программирования, основанная на представлении программы в виде совокупности объектов, каждый из которых является экземпляром определенного класса[1], а классы образуют иерархию наследования.
Логи?ческое программи?рование — парадигма программирования, основанная на автоматическом доказательстве теорем, а также раздел дискретной математики, изучающий принципы логического вывода информации на основе заданных фактов и правил вывода. Логическое программирование основано на теории и аппарате математической логики с использованием математических принципов резолюций.
Самым известным языком логического программирования является Prolog.
Паради?гма программи?рования — это совокупность идей и понятий, определяющих стиль написания компьютерных программ (подход к программированию).
Что такое язык программирования
Язы?к программи?рования — формальная знаковая система, предназначенная для записи компьютерных программ. Язык программирования определяет набор лексических, синтаксических и семантических правил, определяющих внешний вид программы и действия, которые выполнит исполнитель (обычно — ЭВМ) под её управлением.
Классификация языков программирования
По степени естественности языка:
-низкого уровня
машинные языки и языки символического кодирования: Автокод, Ассемблер. Операторы этого языка – это те же машинные команды, но записанные мнемоническими кодами, а в качестве операндов используются не конкретные адреса, а символические имена. Все языки низкого уровня ориентированы на определенный тип компьютера, т. е. являются машинно–зависимыми.
Машинно–ориентированные языки – это языки, наборы операторов и изобразительные средства которых существенно зависят от особенностей ЭВМ (внутреннего языка, структуры памяти и т.д.).
-высокого уровня
Фортран (переводчик формул – был разработан в середине 50–х годов программистами фирмы IBM и в основном используется для программ, выполняющих естественно – научные и математические расчеты), Алгол, Кобол (коммерческий язык – используется, в первую очередь, для программирования экономических задач), Паскаль, Бейсик (был разработан профессорами Дармутского колледжа Джоном Кемени и Томасом Курцом.), Си (Деннис Ритч – 1972 году), Пролог (в основе языка лежит аппарат математической логики) и т.д.
Программу, написанную на языке программирования высокого уровня, ЭВМ не понимает, поскольку ей доступен только машинный язык. Поэтому для перевода программы с языка программирования на язык машинных кодов используют специальные программы – трансляторы.
Существует три вида транслятора: интерпретаторы (это транслятор, который производит пооператорную обработку и выполнение исходного кода программы), компиляторы(преобразует всю программу в модуль на машинном языке, после чего программа записывается в память компьютера и лишь потом исполняется) и ассемблеры (переводят программу, записанную на языке ассемблера, в программу на машинном языке).
По поколениям:
– языки первого поколения: машинно–ориентированные с ручным управлением памяти на компьютерах первого поколения.
– языки второго поколения: с мнемоническим представлением команд, так называемые автокоды.
– языки третьего поколения: общего назначения, используемые для создания прикладных программ любого типа. Например, Бейсик, Кобол, Си и Паскаль.
– языки четвертого поколения: усовершенствованные, разработанные для создания специальных прикладных программ, для управления базами данных.
– языки программирования пятого поколения: языки декларативные, объектно–ориентированные и визуальные. Например, Пролог, ЛИСП (используется для построения программ с использованием методов искусственного интеллекта), Си++, Visual Basic, Delphi.
По использованию процедур:
-процедурные(есть определенная последовательность действий)
*структурные (одним оператором записываются целые алгоритмические структуры: ветвления, циклы): Паскаль, Си, Ада, ПЛ/1
*операционные (используется несколько операций): Фортран, Бейсик, Фокал.
-непроцедурные
*функциональные(программа описывает вычисление некоторой функции, один из основных элементов функциональных языков – рекурсия. Оператора присваивания и циклов в классических функциональных языках нет.):
*логические(программа вообще не описывает действий. Она задает данные и соотношения между ними):Пролог.
Системы программирования – это комплекс инструментальных программных средств, предназначенных для работы с программами на одном из языков программирования. Системы программирования представляют сервисные возможности программистам для разработки их собственных компьютерных программ.
В настоящее время разработка любого системного и прикладного программного обеспечения осуществляется с помощью систем программирования, в состав которых входят:
- Трансляторы с языков высокого уровня;
- Средства редактирования, компоновки и загрузки программ;
- Макроассемблеры (машинно-ориентированные языки);
- Отладчики машинных программ.
Системы программирования, как правило, включают в себя:
- Текстовый редактор (Edit), осуществляющий функции записи и редактирования исходного текста программы;
- Загрузчик программ(Load), позволяющий выбрать из директория нужный текстовый файл программы;
- Запускатель программ (Run), осуществляющий процесс выполнения программы;
- Компилятор (Compile), предназначенный для компиляции или интерпретации исходного текста программы в машинный код с диагностикой синтаксических и семантических (логических) ошибок;
- Отладчик (Debug), выполняющий сервисные функции по отладке и тестированию программы;
Диспетчер файлов (File), предоставляющий возможность выполнять операции с файлами: сохранение, поиск, уничтожение и т.п.
Если условие AB верно, то выполняется группа операторов ОП.1, в противном случае – группа операторов ОП.2(условный оператор)
IF AB THEN
BEGIN
ОП.1
END
ELSE
BEGIN
ОП.2
END
Пока будет выполнено I? N, выполняется группа операторов ОП.1
(оператор цикла с предусловием, ОП.1 – тело цикла)
WHILE I
BEGIN
ОП.1
END
Выполняется группа опера-торов ОП.1 до тех пор, пока не будет выполнено условие IN.
(оператор цикла с постусловием, ОП.1 – тело цикла)
REPEAT
ОП.1
UNTILIN
Для каждого I от 1 до N выполняется группа операторов ОП.1
(оператор цикла с параметром, I – параметр цикла)
FORI:=1TONDO
BEGIN
ОП.1
END