- •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 с параметром
- •Вложенные циклы
- •Взаимозаменяемость циклов различных видов
- •Дополнительные конструкции переходов для циклов
- •«Вечные» циклы
- •Простейшие алгоритмы
- •Вычисление суммы и произведения
- •Организация счетчика
- •Нахождение наибольшего и наименьшего значений
- •Рекуррентные последовательности
- •Итерационные алгоритмы
- •Подпрограммы (процедуры и функции)
- •Понятие подпрограммы, ее описания и вызова
- •Цели введения подпрограмм
- •Способы передачи параметров. Виды параметров
- •Параметры-значения
- •Параметры-переменные
- •Параметры-константы
- •Корректность передачи параметров
- •Досрочное завершение работы программы и подпрограммы
- •Реализация вызова подпрограммы
- •Область действия и время жизни идентификаторов
- •Правила видимости
- •Время жизни идентификаторов
- •Побочный эффект функции
- •Массивы
- •Описание переменных-массивов
- •Обозначение элементов массива
- •Двумерные массивы – матрицы
- •Трехмерные массивы
- •Типизированные константы-массивы
- •Операции над массивами
- •Именная эквивалентность типов
- •Передача массива в качестве параметра
- •Открытые массивы
- •Типичные задачи для одномерных массивов
- •Поиск заданного элемента в массиве
- •Анализ методов поиска по количеству операций сравнения
- •Двумерные массивы – матрицы
- •Трехмерные массивы
- •Сортировки массивов
- •Понятие сортировки
- •Параметры оценки алгоритмов
- •Сортировка простым включением (простыми вставками) Принцип сортировки включением
- •Сортировка простым выбором Принцип сортировки выбором
- •Сортировка простым обменом (метод пузырька) Принцип сортировки обменом
- •Сравнение эффективности базовых методов сортировки
- •Использование индексных массивов при сортировке
- •Рекурсия
- •Что такое рекурсия
- •Рекурсивные подпрограммы
- •Прямая и косвенная рекурсия
- •Предварительное (опережающее) описание подпрограммы
- •Опасности рекурсии
- •Бесконечная рекурсия
- •Итерация и рекурсия. Необоснованное применение рекурсии
- •Глубокая рекурсия
- •Когда использовать рекурсию
- •Формы рекурсивных подпрограмм
- •Примеры рекурсивных программ
- •Ввод последовательности целых чисел, заканчивающейся нулем, вывод в обратном порядке
- •Поиск максимального элемента массива
- •Задача о Ханойских башнях
- •Символьные и строковые типы данных
- •Символьные типы данных
- •Представление символов в памяти компьютера
- •Символьные константы и переменные Неименованные символьные константы
- •Стандартные функции над символами
- •Строковые типы данных
- •Строковые типы. Представление строк в памяти компьютера
- •Стандартные функции и процедуры для строк
- •Выделение слов из строки
-
Арифметические выражения
Арифметическое выражение – выражение, в котором над операндами выполняются арифметические операции, и значение выражения имеет числовой тип.
Выражение в математике |
Выражение на языке Pascal |
Тип аргумента x |
Тип значения |
sin x |
sin(x) – Синус x, значение x в радианах |
вещественный |
вещественный |
cos x |
cos(x) – Косинус x, значение x в радианах |
вещественный |
вещественный |
ln x |
ln(x) – Натуральный логарифм x (x > 0) |
вещественный |
вещественный |
ex |
exp(x) |
вещественный |
вещественный |
x2 |
x*x или sqr(x) |
целый или вещественный |
тип x |
xn |
x*x* …*x (n сомножителей) или exp(n*ln(x)) |
целый или вещественный |
|
sqrt(x) |
целый или вещественный |
вещественный |
|
exp(ln(x)/n) |
целый или вещественный |
вещественный |
|
| x | |
abs(x) – абсолютное значение |
целый или вещественный |
тип x |
|
pi – функция без аргумента (читается «пай»), выдает число =3.14159265358… |
|
вещественный |
Например, расстояние на плоскости между двумя точками с координатами (x1,y1) и (x2,y2), равное , вычисляет следующее выражение: sqrt(sqr(x1–x2)+sqr(y1–y2)).
-
Логические выражения
Логическое выражение – выражение, в котором над операндами выполняются логические операции и/или операции отношения. Зннначение логического выражения одно из двух логических значений: либо true, либо false.
Приоритет операций отношения ниже, чем у логических операций, поэтому надо использовать скобки, например:
-
(x>=a) and (x<=b) x принадлежит отрезку [a,b]
-
(x<a) or (x>b) x не принадлежит отрезку [a,b]
-
(x>0) and (y>0) каждое из чисел x и y больше 0
-
(x<>0) or (y<>0) хотя бы одно из чисел x или y не равно 0
-
abs(x) <= A абсолютная величина x меньше или равна A
-
odd(x) целое число x является нечетным x mod 2 <> 0 остаток от деления нацело на 2 не равен 0, т.е. x нечетное число
-
not odd(x) целое число x является четным (x mod 2=0)and(x<>0) остаток от деления нацело на 2 равен 0 и x не равно 0, т.е. x четное число
-
odd(x) = odd(y) целые числа x и y имеют одинаковую четность
-
sqrt(x*x+y*y)<R точка (x,y) лежит внутри круга радиуса R с центром в начале координат.
-
Операторы
-
Оператор присваивания
-
Он предназначен для вычисления нового значения некоторой переменной:
переменная := выражение
Присваивание допускается для всех простых типов, а также для структурированных типов массив, строка, запись.
Тип выражения должен быть совместим по присваиванию с типом переменной, а именно:
-
выражение и переменная имеют один и тот же тип;
-
тип переменной – вещественный, тип выражения – целый;
-
тип переменной – строковый, тип выражения символьный.
Если типы совместимы по присваиванию, но не совпадают, происходит неявное преобразование типов.