- •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 с параметром
- •Вложенные циклы
- •Взаимозаменяемость циклов различных видов
- •Дополнительные конструкции переходов для циклов
- •«Вечные» циклы
- •Простейшие алгоритмы
- •Вычисление суммы и произведения
- •Организация счетчика
- •Нахождение наибольшего и наименьшего значений
- •Рекуррентные последовательности
- •Итерационные алгоритмы
- •Подпрограммы (процедуры и функции)
- •Понятие подпрограммы, ее описания и вызова
- •Цели введения подпрограмм
- •Способы передачи параметров. Виды параметров
- •Параметры-значения
- •Параметры-переменные
- •Параметры-константы
- •Корректность передачи параметров
- •Досрочное завершение работы программы и подпрограммы
- •Реализация вызова подпрограммы
- •Область действия и время жизни идентификаторов
- •Правила видимости
- •Время жизни идентификаторов
- •Побочный эффект функции
- •Массивы
- •Описание переменных-массивов
- •Обозначение элементов массива
- •Двумерные массивы – матрицы
- •Трехмерные массивы
- •Типизированные константы-массивы
- •Операции над массивами
- •Именная эквивалентность типов
- •Передача массива в качестве параметра
- •Открытые массивы
- •Типичные задачи для одномерных массивов
- •Поиск заданного элемента в массиве
- •Анализ методов поиска по количеству операций сравнения
- •Двумерные массивы – матрицы
- •Трехмерные массивы
- •Сортировки массивов
- •Понятие сортировки
- •Параметры оценки алгоритмов
- •Сортировка простым включением (простыми вставками) Принцип сортировки включением
- •Сортировка простым выбором Принцип сортировки выбором
- •Сортировка простым обменом (метод пузырька) Принцип сортировки обменом
- •Сравнение эффективности базовых методов сортировки
- •Использование индексных массивов при сортировке
- •Рекурсия
- •Что такое рекурсия
- •Рекурсивные подпрограммы
- •Прямая и косвенная рекурсия
- •Предварительное (опережающее) описание подпрограммы
- •Опасности рекурсии
- •Бесконечная рекурсия
- •Итерация и рекурсия. Необоснованное применение рекурсии
- •Глубокая рекурсия
- •Когда использовать рекурсию
- •Формы рекурсивных подпрограмм
- •Примеры рекурсивных программ
- •Ввод последовательности целых чисел, заканчивающейся нулем, вывод в обратном порядке
- •Поиск максимального элемента массива
- •Задача о Ханойских башнях
- •Символьные и строковые типы данных
- •Символьные типы данных
- •Представление символов в памяти компьютера
- •Символьные константы и переменные Неименованные символьные константы
- •Стандартные функции над символами
- •Строковые типы данных
- •Строковые типы. Представление строк в памяти компьютера
- •Стандартные функции и процедуры для строк
- •Выделение слов из строки
-
Основные понятия
-
«Алгоритм это всякая система вычислений, выполняемых по строго определённым правилам, которая после какого-либо числа шагов заведомо приводит к решению поставленной задачи». (А. Колмогоров) «Алгоритм это точное предписание, определяющее вычислительный процесс, идущий от варьируемых исходных данных к искомому результату». (А. Марков)
-
Исполнитель алгоритма универсальным исполнителем алгоритмов является компьютер, который автоматически исполняет алгоритмы, записанные на языке программирования.
-
Способы описания алгоритма:
-
Словесно-формульный способ записи алгоритмов – описание на естественном языке с использованием формул. Данный способ страдает многословностью, допускает неоднозначность толкования отдельных предписаний.
-
Псевдокод – условный алгоритмический язык, включающий в себя как элементы языка программирования, так и фразы естественного языка, общепринятые математические обозначения и др. С одной стороны, он близок к обычному естественному языку, поэтому алгоритмы могут на нем записываться и читаться как обычный текст. С другой стороны, в псевдокоде используются математическая символика, а также служебные слова, смысл которых определен раз и навсегда.
-
Блок-схема – графическое описание алгоритма, преимущество – в наглядности. Каждая фигура блок-схемы обозначает один этап решения задачи и называется блоком. Порядок выполнения этапов указывается стрелками, соединяющими блоки.
-
Язык программирования формальная знаковая система, которая определяет набор лексических, синтаксических и семантических правил, используемых при составлении компьютерной программы.
-
-
Алфавит это фиксированный для данного языка набор основных символов, т.е. «букв алфавита», из которых должен состоять любой текст на этом языке, никакие другие символы в тексте не допускаются.
-
Синтаксис это совокупность правил образования правильных (допустимых) конструкций языка.
-
Семантика это совокупность правил, определяющих смысловое значение предложений языка. Семантика алгоритмического языка устанавливает, какой алгоритм определен данным текстом.
Система программирования программная система для разработки новых программ на конкретном языке программирования. Современные системы программирования обычно включают в себя текстовый редактор, компилятор или интерпретатор, редактор связей, отладчик, справочную службу, библиотеки стандартных подпрограмм.
Исходный код (исходный текст) – созданный и редактируемый в окне текстового редактора текст компьютерной программы на языке программирования.
Компилятор программа, выполняющая преобразование исходного текста программы в объектный модуль.
Компоновщик подключает к объектному модулю объектные коды библиотечных подпрограмм и генерирует исполняемый код (исполняемый модуль) программы, который можно запускать на исполнение.
Отладка программы процесс поиска и устранения ошибок в программе, производимый по результатам её компиляции и исполнения на компьютере. Во время компиляции устраняются все синтаксические ошибки в тексте. По результатам исполнения устраняются семантические (смысловые) ошибки и ошибки времени выполнения (runtime error).
Тестирование – проверка соответствия программы требованиям, осуществляемая путем наблюдения за ее работой на специально созданных тестах.