- •Основные элементы языка. История создания и развитие языка программирования
- •Структурная схема программы на алгоритмическом языке.
- •Лексика языка. Типы данных.
- •Типы данных
- •Переменные и константы.
- •Выражения и операции.
- •Операторы языка. Синтаксис операторов присваивания.
- •Синтаксис операторов ввода-вывода.
- •Операторы Write и WriteLn
- •Операторы Read и ReadLn
- •Составление программ линейной структуры.
- •Синтаксис операторов безусловного и условного переходов.
- •Составной оператор.
- •Вложенные условные операторы.
- •Составление программ разветвляющейся структуры. Выберите из предложенного ниже списка задачи для самостоятельного решения.
- •Составление программ сложной разветвляющейся структуры.
- •Оператор case. Оператор выбора case. Решение задач.
- •Оператор goto.
- •Синтаксис операторов циклов.
- •Циклические конструкции.
- •Циклы с предусловием.
- •Задачи для самостоятельного решения:
- •Циклы со счетчиком.
- •Общая форма записи цикла со счетчиком
- •Циклы с постусловием.
- •Задачи для самостоятельного решения:
- •Составление программ циклической структуры.
- •Проверьте себя, ответив на вопросы:
- •Доступ к элементам массива.
- •Изменение значения некоторых элементов
- •Нахождение номеров элементов с заданным свойством
- •Нахождение количества элементов с заданным свойством
- •Задачи для самостоятельного решения
- •Вставка элементов в одномерный массив. Вставка одного элемента
- •Вставка нескольких элементов
- •Задачи для самостоятельного решения
- •Перестановка двух элементов
- •Перестановка части массива
- •Работа с несколькими массивами
- •Задачи на использование одномерных массивов
- •Самостоятельное решение задач.
- •Формирование значений элементов массива случайным образом и с клавиатуры и вывод их на экран
- •Нахождение количества элементов с данным свойством
- •Определить, отвечает ли заданный массив некоторым требованиям
- •Изменение значений некоторых элементов, удовлетворяющих заданному свойству
- •Заполнение массива по правилу
- •Задачи для самостоятельного решения
- •Вставка строк и столбцов
- •Удаление строк и столбцов
- •Задачи для самостоятельного решения Задачи на вставку элементов:
- •Задачи на удаление элементов:
- •Задачи для самостоятельного решения
- •Задачи на использованиедвумерных массивов
- •I. Заполнение и анализ элементов массива
- •II. Работа с одномерным и двумерным массивами
- •Дополнительные задачи (на усмотрение учителя)
- •Для любопытных Графические программы с применением массивов.
- •Сортировка выбором
- •Сортировка массива с помощью рекурсии
- •Рекурсивная сортировка слиянием (для любопытных)
- •Строка. Тип данных string. Строковые переменные, их описание. Длина строки. Операции над строками.
- •Задачи для самостоятельного решения
- •Задачи для дополнительного решения (на усмотрение учителя)
- •Стандартные функции для работы со строками (concat,copy,length, pos,upcase). Функция Length
- •Функция Upcase
- •Функция Copy
- •Функция Pos
- •Функция Concat
- •Задачи для самостоятельного решения
- •Стандартные процедуры для работы со строками (delete, insert,str,val).
- •Задачи для самостоятельного решения
- •Задачи для дополнительного решения (на усмотрение учителя)
- •Контрольная работа.
- •Сформулируйте тексты решенных ниже задач
- •Выберите с учителем задачи для самостоятельного решения:
- •Решение задач.
- •Бегущая строка. Пример программы осыпающихся букв. Строки в графическом режиме (для увлеченных программированием).
- •Тип данных char. Операции над символами.
- •1.Организовать ввод фио только на русском языке.
- •2.Вывести все совершенные числа в данном диапазоне.
- •3.Введенное число - полиндром?
- •2.Найти факториал числа с помощью рекурсии.
- •Задачи на построение процедур и функций
- •Самостоятельное решение задач.
- •I Выберите с учителем одну из предложенных ниже задач (тип Integer, real)
- •II Выберите с учителем одну из предложенных ниже задач (тип char)
- •III Выберите с учителем одну из предложенных ниже задач (тип string)
- •IV Выберите с учителем одну из предложенных ниже задач (тип record)
- •Текстовые файлы
- •Компонентные файлы
- •Бестиповые файлы
- •Последовательный и прямой доступ
- •Задачи на работу с файлами
- •Использование библиотеки crt
- •Программирование клавиатуры
- •Текстовый вывод на экран
- •Программирование звукового генератора
- •Использование библиотеки Graph
- •Переход в графический режим и возврат в текстовый
- •Краткая характеристика графических режимов работы дисплейных адаптеров
- •Процедуры и функции
- •Координаты, окна, страницы
Выражения и операции.
ВЫРАЖЕНИЯ
Выражение состоит из констант, переменных, указателей функций, знаков операций и скобок. Выражение задает правило вычисления некоторого значения. Порядок вычисления определяется старшинством (приоритетом) содержащихся в нем операций. В языке Паскаль принят следующий приоритет операций:
1. Унарная операция not, унарный минус –, взятие адреса @. Например,
not Done { отрицание булевской переменной }
@Х { указатель на переменную }
-15 { константа со знаком }
2. Операции типа умножения: *, /, div, mod, and, shl, shr. Например,
Х * Y
Z / (1 - Z)
i mod j = i - (i div j) * j
3. Операции типа сложения: +, –, or, xor. Например,
Done or Error
(Х+Y+Z)
4. Операции отношения: =, <>, <, >, <= ,> =, in. Например,
(Х <= Y) and (Y < Z)
Выражения входят в состав многих операторов языка Паскаль, а также могут быть аргументами встроенных функций. Например,
SIN(Х/2) { вызов функции }
['0..'9','А'..'Z'] { описатель множества }
сhar(Digit+48) { назначение типа }
Битовая арифметика
Битовая или поразрядная арифметика введена в Паскале для обеспечения возможности работы с двоичными разрядами (битами). Операции битовой арифметики применимы только к целым типам.
Первая группа операций – логические операции not, and, or и xor.
Операция not является одноместной, она изменяет каждый бит целого числа на обратный.
Операции and, or и xor – двуместные, операнды этих операций – целые величины одинаковой длины. Операции выполняются попарно над всеми двоичными разрядами операндов.
Вторая группа операций – это операции сдвига влево shl и сдвига вправо shr:
I shl N
I shr N.
Эти операции сдвигают двоичную последовательность значения I влево или вправо на N двоичных разрядов. При этом биты, уходящие за пределы разрядной сетки, теряются, а освободившиеся двоичные разряды заполняются нулями. При сдвиге вправо отрицательных значений освободившиеся разряды заполняются единицами.
Операторы языка. Синтаксис операторов присваивания.
Наиболее простым и часто используемым оператором языка является оператор
присваивания:
<переменная> : = <выражение>;
Выражение – это формула для вычисления значения. Она образуется из операн-
дов, соединенных знаками операций и круглыми скобками. В качестве операндов могут
выступать переменные, константы, указатели функций.
Тип переменной в левой части оператора присваивания обычно должен совпадать с
типом значения выражения в правой части. Возможны случаи несовпадения типов, на-
пример, когда слева переменная вещественного типа, а справа выражение целого типа.
Выражения являются составной частью операторов.
В Паскале приоритеты выполнения операций следующие (в порядке убывания):
одноместный минус;
операция NOT;
операции типа умножения ;
операции типа сложения;
операции сравнения (отношения).
Одноместный минус применим к операндам арифметического типа. Операция NOT
– к операндам логических и целых типов. Если в одном выражении несколько операций
одного приоритета, то они выполняются, начиная слева. Приоритеты можно изменить, по-
ставив скобки. В логических выражениях необходимы скобки во избежание конфликта
типа по приоритету.
Например, если в выражении … (X > 5) AND (Y > 10) … не поставить скобки, то
будет синтаксическая ошибка, так как приоритет операции AND выше приоритета опера-
ций сравнения >.
<операции типа умножения> :: = * | / | div | mod | and
<операции типа сложения> :: = + | – | or | xor
<операции сравнения> :: = = | <> | < | > | <= | >= | in
Операции сравнения применимы для всех стандартных простых типов. Причем в
одном выражении возможно использование операндов различных типов. Результат срав-
нения всегда имеет логический тип.
Например, (5 + 6) < (5 – 6) = TRUE в результате даст FALSE, а NOT(8.5 < 4) будет
равно TRUE.
Сравнение строк символов выполняется слева направо посимвольно. Более корот-
кие строки дополняются пробелами справа.