- •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 с параметром
- •Вложенные циклы
- •Взаимозаменяемость циклов различных видов
- •Дополнительные конструкции переходов для циклов
- •«Вечные» циклы
- •Простейшие алгоритмы
- •Вычисление суммы и произведения
- •Организация счетчика
- •Нахождение наибольшего и наименьшего значений
- •Рекуррентные последовательности
- •Итерационные алгоритмы
- •Подпрограммы (процедуры и функции)
- •Понятие подпрограммы, ее описания и вызова
- •Цели введения подпрограмм
- •Способы передачи параметров. Виды параметров
- •Параметры-значения
- •Параметры-переменные
- •Параметры-константы
- •Корректность передачи параметров
- •Досрочное завершение работы программы и подпрограммы
- •Реализация вызова подпрограммы
- •Область действия и время жизни идентификаторов
- •Правила видимости
- •Время жизни идентификаторов
- •Побочный эффект функции
- •Массивы
- •Описание переменных-массивов
- •Обозначение элементов массива
- •Двумерные массивы – матрицы
- •Трехмерные массивы
- •Типизированные константы-массивы
- •Операции над массивами
- •Именная эквивалентность типов
- •Передача массива в качестве параметра
- •Открытые массивы
- •Типичные задачи для одномерных массивов
- •Поиск заданного элемента в массиве
- •Анализ методов поиска по количеству операций сравнения
- •Двумерные массивы – матрицы
- •Трехмерные массивы
- •Сортировки массивов
- •Понятие сортировки
- •Параметры оценки алгоритмов
- •Сортировка простым включением (простыми вставками) Принцип сортировки включением
- •Сортировка простым выбором Принцип сортировки выбором
- •Сортировка простым обменом (метод пузырька) Принцип сортировки обменом
- •Сравнение эффективности базовых методов сортировки
- •Использование индексных массивов при сортировке
- •Рекурсия
- •Что такое рекурсия
- •Рекурсивные подпрограммы
- •Прямая и косвенная рекурсия
- •Предварительное (опережающее) описание подпрограммы
- •Опасности рекурсии
- •Бесконечная рекурсия
- •Итерация и рекурсия. Необоснованное применение рекурсии
- •Глубокая рекурсия
- •Когда использовать рекурсию
- •Формы рекурсивных подпрограмм
- •Примеры рекурсивных программ
- •Ввод последовательности целых чисел, заканчивающейся нулем, вывод в обратном порядке
- •Поиск максимального элемента массива
- •Задача о Ханойских башнях
- •Символьные и строковые типы данных
- •Символьные типы данных
- •Представление символов в памяти компьютера
- •Символьные константы и переменные Неименованные символьные константы
- •Стандартные функции над символами
- •Строковые типы данных
- •Строковые типы. Представление строк в памяти компьютера
- •Стандартные функции и процедуры для строк
- •Выделение слов из строки
-
Стандартные простые типы данных
-
Целые типы
-
Целые типы образуют группу типов для представления целых чисел. Диапазон значений каждого из целых типов зависит от размера выделяемой памяти (от 1 до 8 байт) и от того, учитывается знак числа или числа представляются без знака. Рассмотрим некоторые из них:
Идентификатор типа |
Название |
Диапазон значений |
Длина, байт |
integer |
целое со знаком |
-2 147 483 648 .. +2 147 483 647 |
4 |
byte |
короткое целое без знака |
0 .. 255 |
1 |
word |
целое без знака |
0 .. 65535 |
2 |
int64 |
64 битовое целое число со знаком |
-9*1018...+9*1018 |
8 |
Унарная операция над целыми числами: ‑ перемена знака.
Бинарные операции:
1) + сложение, 2) ‑ вычитание, 3) * умножение,
4) div деление нацело с отбрасыванием дробной части,
5) mod остаток от деления нацело.
6) / деление (результат операции – вещественное число),
Примеры:
1)7/2 дает результат 3.5 (вещественного типа) 2) 7 div 2 дает результат 3 3) 7 mod 2 дает результат 1.
-
Вещественные типы
Произвольное вещественное число в памяти компьютера может быть представлено лишь с некоторой конечной точностью, которая зависит от количества байт, выделяемых для числа. Вещественные типы образуют группу, из которой рассмотрим тип real, диапазон значений которого 5.0*10–324 .. 1.7*10308, число занимают в памяти 8 байт.
Вещественные числа в памяти компьютера представлены в виде мантиссы (значащих цифр числа) и порядка (степени, в которую надо возвести 10).
Вещественные константы могут записываться в форме с фиксированной или с плавающей точкой.
Запись с фиксированной точкой соответствует математической записи десятичных чисел, только запятая заменяется точкой, например: 1234.5 0.0 0.0007.
Запись с плавающей точкой состоит из мантиссы и порядка, разделенных символом E.
1.23450000000000E+003 соответствует 1.2345*103 = 1234.5 с фиксированной точкой
7.00000000000000E‑004 соответствует с фиксированной точкой
Для получения числа с фиксированной точкой из числа с плавающей точкой надо мантиссу умножить на 10 в степени, равной порядку |
Число=мантисса10порядок |
Бинарные операции над значениями группы вещественных типов:
1) + сложение, 2) ‑ вычитание, 3) * умножение, 4) / деление.
Унарная операция: ‑ перемена знака.
Младший значащий разряд результата каждой операции может быть неправильным из-за ошибки округления.
-
Логические (булевские) типы
Логические типы имеет только два значения: true (истина) и false (ложь). Из группы логических типов рассмотрим тип boolean, значения которого занимают 1 байт.
Унарная операция not – логическое отрицание.
Бинарные операции:
-
and логическое умножения, дает результат true тогда и только тогда, когда истинны оба операнда.
-
or логическое сложение, дает результат true, если истинно хотя бы одно из логических слагаемых.
-
xor сложение по модулю 2, дает результат true, если операнды имеют разные значения.
Таблица истинности логических операций
-
Значение операнда
Результат операции
A
B
not A
A and B
A or B
A xor B
true
true
false
false
true
false
true
false
false
true
true
false
false
false
true
true
true
false
false
true
true
false