- •35 Жегуло а.И. Компьютерные науки 2010-2011 гг. Компьютерные науки Лекции для студентов 1 курса, 2010-2011 уч. Г., семестр 1
- •1. Основные понятия 3
- •2. Введение в язык программирования Pascal 3
- •7. Массивы 16
- •8. Сортировки массивов 22
- •9. Рекурсия 25
- •1. Символьные и строковые типы данных 31
- •Основные понятия
- •Способы описания алгоритма:
- •Введение в язык программирования Pascal
- •Структура программы на языке Pascal
- •Правила записи программ
- •Стиль программирования
- •Переменные и константы. Понятие типа данных
- •Классификация типов данных
- •Стандартные простые типы данных
- •Целые типы
- •Вещественные типы
- •Логические (булевские) типы
- •Перечисляемые типы
- •Интервальные типы
- •Порядковые типы
- •Описание данных
- •Описание переменных
- •Описание констант
- •Описание типизированных констант
- •Выражения
- •Операции отношения
- •Приоритеты операций
- •Арифметические выражения
- •Логические выражения
- •Операторы
- •Оператор присваивания
- •Оператор ввода с клавиатуры
- •Оператор вывода на экран монитора
- •Форматный вывод
- •Условный оператор (оператор альтернативы)
- •Составной оператор
- •Оператор выбора
- •Оператор цикла с предусловием while
- •Оператор цикла с постусловием repeat
- •Оператор цикла for с параметром
- •Вложенные циклы
- •Взаимозаменяемость циклов различных видов
- •Дополнительные конструкции переходов для циклов
- •«Вечные» циклы
- •Простейшие алгоритмы
- •Вычисление суммы и произведения
- •Организация счетчика
- •Нахождение наибольшего и наименьшего значений
- •Рекуррентные последовательности
- •Итерационные алгоритмы
- •Подпрограммы (процедуры и функции)
- •Понятие подпрограммы, ее описания и вызова
- •Цели введения подпрограмм
- •Способы передачи параметров. Виды параметров
- •Параметры-значения
- •Параметры-переменные
- •Параметры-константы
- •Корректность передачи параметров
- •Досрочное завершение работы программы и подпрограммы
- •Реализация вызова подпрограммы
- •Область действия и время жизни идентификаторов
- •Правила видимости
- •Время жизни идентификаторов
- •Побочный эффект функции
- •Массивы
- •Описание переменных-массивов
- •Обозначение элементов массива
- •Двумерные массивы – матрицы
- •Трехмерные массивы
- •Типизированные константы-массивы
- •Операции над массивами
- •Именная эквивалентность типов
- •Передача массива в качестве параметра
- •Открытые массивы
- •Типичные задачи для одномерных массивов
- •Поиск заданного элемента в массиве
- •Анализ методов поиска по количеству операций сравнения
- •Двумерные массивы – матрицы
- •Трехмерные массивы
- •Сортировки массивов
- •Понятие сортировки
- •Параметры оценки алгоритмов
- •Сортировка простым включением (простыми вставками) Принцип сортировки включением
- •Сортировка простым выбором Принцип сортировки выбором
- •Сортировка простым обменом (метод пузырька) Принцип сортировки обменом
- •Сравнение эффективности базовых методов сортировки
- •Использование индексных массивов при сортировке
- •Рекурсия
- •Что такое рекурсия
- •Рекурсивные подпрограммы
- •Прямая и косвенная рекурсия
- •Предварительное (опережающее) описание подпрограммы
- •Опасности рекурсии
- •Бесконечная рекурсия
- •Итерация и рекурсия. Необоснованное применение рекурсии
- •Глубокая рекурсия
- •Когда использовать рекурсию
- •Формы рекурсивных подпрограмм
- •Примеры рекурсивных программ
- •Ввод последовательности целых чисел, заканчивающейся нулем, вывод в обратном порядке
- •Поиск максимального элемента массива
- •Задача о Ханойских башнях
- •Символьные и строковые типы данных
- •Символьные типы данных
- •Представление символов в памяти компьютера
- •Символьные константы и переменные Неименованные символьные константы
- •Стандартные функции над символами
- •Строковые типы данных
- •Строковые типы. Представление строк в памяти компьютера
- •Стандартные функции и процедуры для строк
- •Выделение слов из строки
35 Жегуло а.И. Компьютерные науки 2010-2011 гг. Компьютерные науки Лекции для студентов 1 курса, 2010-2011 уч. Г., семестр 1
1. Основные понятия 3
2. Введение в язык программирования Pascal 3
2.1. Структура программы на языке Pascal 3
2.2. Правила записи программ 4
2.3. Стиль программирования 4
2.4. Переменные и константы. Понятие типа данных 4
2.5. Классификация типов данных 4
2.6. Стандартные простые типы данных 5
2.7. Перечисляемые типы 6
2.8. Интервальные типы 6
2.9. Порядковые типы 6
2.10. Описание данных 6
2.11. Выражения 7
2.12. Операторы 8
3. Простейшие алгоритмы 11
3.1. Вычисление суммы и произведения 11
3.2. Организация счетчика 11
3.3. Нахождение наибольшего и наименьшего значений 12
4. Рекуррентные последовательности 12
5. Итерационные алгоритмы 12
6. Подпрограммы (процедуры и функции) 13
6.1. Понятие подпрограммы, ее описания и вызова 13
6.2. Цели введения подпрограмм 13
6.3. Процедуры 13
6.4. Функции 13
6.5. Способы передачи параметров. Виды параметров 14
6.6. Корректность передачи параметров 15
6.7. Досрочное завершение работы программы и подпрограммы 15
6.8. Реализация вызова подпрограммы 15
6.9. Область действия и время жизни идентификаторов 16
6.10. Побочный эффект функции 16
7. Массивы 16
7.1. Описание переменных-массивов 16
7.2. Двумерные массивы – матрицы 17
7.3. Трехмерные массивы 17
7.4. Типизированные константы-массивы 17
7.5. Операции над массивами 17
7.6. Именная эквивалентность типов 17
7.7. Передача массива в качестве параметра 18
7.8. Открытые массивы 18
7.9. Типичные задачи для одномерных массивов 18
7.10. Поиск заданного элемента в массиве 20
7.11. Схема Горнера и ее применение для вычисления полиномов 21
7.12. Двумерные массивы – матрицы 21
7.13. Трехмерные массивы 22
8. Сортировки массивов 22
8.1. Понятие сортировки 22
8.2. Параметры оценки алгоритмов 23
8.3. Сортировка простым включением (простыми вставками) 23
8.4. Сортировка простым выбором 23
8.5. Сортировка простым обменом (метод пузырька) 24
8.6. Сравнение эффективности базовых методов сортировки 24
8.7. Использование индексных массивов при сортировке 24
9. Рекурсия 25
9.1. Что такое рекурсия 25
9.2. Рекурсивные подпрограммы 26
9.3. Прямая и косвенная рекурсия 26
9.4. Предварительное (опережающее) описание подпрограммы 26
9.5. Опасности рекурсии 26
9.6. Когда использовать рекурсию 28
9.7. Формы рекурсивных подпрограмм 28
9.8. Примеры рекурсивных программ 28
9.9. Задача о Ханойских башнях 30
1. Символьные и строковые типы данных 31
1.1. Символьные типы данных 31
1.2. Строковые типы данных 32
Программирование – это создание компьютерных программ с помощью языков программирования. В более широком смысле, программирование – это разработка программного обеспечения. Программирование сочетает в себе элементы искусства, науки, математики и инженерии.
Язык Pascal создал в 1970 г. Никлаус Вирт – профессор Швейцарского Федерального технологического института, за что в 1984 г. был удостоен премии им. Тьюринга (аналог Нобелевской, означает высшую почесть в информатике).
Н. Вирт затем разработал языки Modula, Modula-2, Oberon, Oberon-2, Oberon-SA с новыми идеями программирования.
Фирма Borland создала наиболее известную систему программирования – Turbo Pascal, которая переросла в Borland Pascal, а затем а Delphi.
Появились свободные реализации – Free Pascal и GNU Pascal, которые обеспечили переносимость написанных на языке Pascal программ на различные платформы, работающие под управлением более чем 10 различных операционных систем.
Delphi – язык программирования, который используется в одноимённой среде разработки. Сначала язык назывался Object Pascal. Начиная со среды разработки Delphi 7.0, в официальных документах Borland стала использовать название Delphi для обозначения языка Object Pascal.
Lazarus – свободный аналог среды программирования Delphi. Позволяет разрабатывать приложения в Delphi-подобном окружении и достаточно несложно переносить Delphi-программы с графическим интерфейсом в различные операционные системы.
PascalABC.NET – разрабатываемая на факультете математики, механики и компьютерных наук ЮФУ система программирования, реализующая язык Object Pascal для платформы Microsoft.NET. Одной из основных идей Microsoft.NET является совместимость программных частей, написанных на разных языках.