- •Информатика
- •Тверь-2008
- •15 Сентября 2008 г., протокол n1
- •Содержание
- •Глава 1. Языки программирования (яп)…………………………………..8
- •Глава 2. Основы алгоритмизации……………………………………………24
- •Глава 3. Язык и система программирования
- •Глава 4. Объектно-ориентированное программирование (ооп)……….56
- •Глава 5. Лабораторные работы и практические задания ………………..68
- •Введение
- •Глава 5 содержит перечень лабораторных работ (8) по этим темам, а также список индивидуальных заданий для самостоятельного выполнения студентами по желанию или рекомендации преподавателя.
- •Глава 1. Языки программирования (яп)
- •1.1. Эволюция яп (поколения яп)
- •1.2. Элементы яп
- •1.3. Способы описания яп
- •1.4. Типы данных
- •1.5. Краткие сведения о некоторых яп
- •1.5.1. Бейсик (Basic)
- •1.5.2. Паскаль (Pascal)
- •1.6. Системы программирования
- •Глава 2. Основы алгоритмизации
- •2.1. Понятие алгоритма
- •2.2. Свойства алгоритма
- •2.3. Основные этапы решения задачи с помощью эвм
- •2.4. Способы записи алгоритмов
- •2.5. Основные элементы блок-схемы
- •2.6. Типовые структуры алгоритмов
- •2.7. Стандартные алгоритмы
- •2.7.1. Алгоритм накопления суммы (произведения)
- •2.7.2. Алгоритм поиска максимального (минимального) элемента
- •2.7.3. Алгоритмы сортировки
- •2.7.3.1. Метод выбора
- •2.7.3.2. Пузырьковая сортировка
- •Глава 3. Язык и система программирования
- •3.1. Общая характеристика языка и системы программирования vba
- •3.2. Типы данных в языке vba
- •Описание переменных и идентификаторы типов данных
- •3.3. Арифметические и логические выражения
- •3.4 Основные операторы языка vba
- •1. Оператор присваивания.
- •2. Условный оператор.
- •3. Оператор цикла с заданным числом повторений.
- •4. Оператор цикла с незаданным числом повторений.
- •3.5. Разбиение строки программы, несколько операторов в одной строке, задание комментариев в тексте программы
- •3.6. Типы процедур
- •Глава 4. Объектно-ориентированное программирование (ооп)
- •4.1. Структурное программирование и ооп
- •4.2. Понятие программного объекта
- •4.3. Наследование, инкапсуляция и полиморфизм
- •4.4. Понятие класса объектов
- •4.5. Типы программных компонентов
- •Глава 5. Лабораторные работы и практические задания
- •2) По заданным значениям сторон а, в, с найти площадь треугольника по формуле Герона , где р – полупериметр треугольника. (Без проверки условия на существование треугольника.)
- •Лабораторная работа n2 Создание функций пользователя с разветвляющейся структурой алгоритма
- •Практическое задание
- •Лабораторная работа n3 Создание функций пользователя с циклической структурой алгоритма и накоплением суммы (произведения)
- •Практическое задание
- •Лабораторная работа n4 Создание функций пользователя с циклической структурой алгоритма и поиском максимума (минимума)
- •Практическое задание
- •Лабораторная работа n5 Автоматическая запись программы с помощью макрорекодера
- •Практическое задание.
- •Лабораторная работа n6 Создание оконных форм пользователя
- •Практическое задание.
- •Самостоятельное задание к лабораторной работе n6
- •Лабораторная работа n7 Вычисления по разным сценариям
- •Практическое задание.
- •Лабораторная работа n8 Сортировка элементов массива
- •Самостоятельное задание к лабораторной работе n8
- •Список индивидуальных заданий для самостоятельного выполнения
- •Список рекомендуемой литературы
1.6. Системы программирования
При классификации программного обеспечения ПК выделяют отельную группу программ под названием инструментальные программы или системы программирования. Назначение программ данного типа – разработка и создание новых программ, т.е. системы программирования служат как бы инструментом для создания новых программ.
Любая система программирования организует среду, в которой может осуществляться разработка новых программ. По структуре система программирования представляет собой совокупность нескольких компонентов, необходимых в процессе разработки программы. Как правило, это – язык программирования (или несколько ЯП), транслятор, редактор связей, библиотеки подпрограмм, утилиты и обслуживающие программы (например, отладчик и др.). Все вышеперечисленные средства требуются для обеспечения автоматизации процесса составления и отладки программ.
Классификация систем программирования может проводиться по различным признакам, которые приведены в таблице 1.
Таблица 1.
Признак классификации |
Типы |
Набор исходных языков |
Одноязыковые |
Многоязыковые |
|
Возможности расширения |
Замкнутые |
Открытые |
|
Тип транслятора |
Интерпретатор |
Компилятор |
В многоязыковой системе программирования отдельные части (секции, модули или сегменты) программы могут быть подготовлены на различных языках и объединены во время или перед выполнением в единый модуль. В одноязыковой системе все части программы записываются на одном ЯП.
В открытую систему программирования (в отличие от замкнутой системы) может быть введен новый входной язык программирования с транслятором, при этом не потребуется внесения изменений в саму систему программирования.
Транслятором называют специальную программу, которая осуществляет автоматический перевод программы, записанной на алгоритмическом языке высокого уровня, на язык машинных кодов. Процесс такого перевода соответственно называется трансляцией (to translate – в переводе с англ. «переводить») программы. Различают трансляторы двух типов: интерпретатор и компилятор. Существуют также трансляторы-гибриды.
В интерпретирующей системе программирования, т.е. использующей транслятор типа интерпретатор, осуществляется покомандный перевод и выполнение инструкций программы, при чем только в среде данной системы программирования. Таким образом, при интерпретации процесс трансляции (перевода) команды программы совмещается с ее выполнением.
В компилирующей системе программирования, в которой для трансляции программы используется компилятор, осуществляется перевод сразу всей программы и подготавливается результирующий модуль (например, в виде файла типа .exe), который далее может выполняться на ЭВМ вне среды программирования.
Для ПК типа IBM PC с момента их появления и до настоящего времени было разработано большое количество систем программирования, возможности которых менялись и прогрессировали параллельно с улучшением самих ПК этого типа. В первую очередь следует отметить системы программирования для таких классических ЯП как Бейсик, Паскаль, Си, Си++. Хотя первые версии этих ЯП появились еще в период господства больших ЭВМ (60-70-е гг. ХХ в.), они оказались настолько популярными, что системы программирования для них стали выпускаться и для ПК (сначала под DOS, потом под Windows).
Среди наиболее известных в свое время систем программирования под DOS нужно отметить Quick Basic, Microsoft C, Microsoft C++ фирмы Microsoft; Turbo Basic, Turbo C++, Turbo Pascal фирмы Borland. Позднее были разработаны сиcтемы программирования под Windows: Visual Basic, Visual C++ фирмы Microsoft; Delphi (для языка Object Pascal) фирмы Borland.
Для языка Лисп можно упомянуть системы программирования Common Lisp, Expert Lisp; для языка Пролог – Turbo Prolog, Visual Prolog.
Контрольные вопросы
1. Сколько поколений ЯП принято выделять в настоящее время?
2. В чем особенность ЯП I-го поколения?
3. В чем особенность ЯП II-го поколения?
4. В чем главное отличие ЯП III-го поколения от ЯП I-го и II-го поколений?
5. В чем особенность ЯП IV-го поколения?
6. Какие тенденции развития ЯП непроцедурного типа можно выделить?
7. Какие ЯП традиционно относят к языкам V-го поколения?
8. На каких уровнях можно рассматривать элементы ЯП?
9. Какие 2 способа описания ЯП наиболее известны?
10. Какие из известных ЯП описываются с помощью нотации Бэкуса, а какие – с помощью нотации IBM?
11. Какая из нотаций может содержать рекурсию в описании?
12. Что такое данные?
13. Какие данные называют исходными, промежуточными и выходными?
14. Чем отличается переменная от константы?
15. Что такое идентификатор?
16. Что такое тип данных?
17. Какие типы данных являются простыми (базовыми)?
18. Какие типы данных относят к структурированным?
19. В чем отличие переменных простого типа от переменных структурированного типа?
20. Что такое массив? Как осуществляется обращение к элементу массива?
21. Что такое запись? Как осуществляется обращение к элементу записи?
22. Что такое файл как тип данных?
23. Какие типы файлов различают?
24. Что объединяет классические ЯП Бейсик и Паскаль и, тем самым, отличает от языка Си?
25. Какие программы называют системами программирования?
26. Способы классификации систем программирования.
27. Какие системы программирования наиболее известны для программирования под Windows?
