 
        
        Программирование – процесс создания программы.
Язык Паскаль – средство записи алгоритмов или программ.
Практика.
Обязательные темы и контрольные работы.
Тема 1.
Программа. Структура программы.
Вызов процедуры как инструкция.
Объявление констант и переменных.
Тип переменных – целый.
Тип переменных – диапазон.
Тип переменных – перечисляемый.
Инструкция присваивания.
Тип переменных – вещественный.
Программа. Структура программы.
Что спрашивать у студента из теории?
Программа
- 
	Программа – точный и однозначный набор инструкций, по обработке информации предназначенный исполнителю, который за конечный интервал времени их выполнения получит конкретный результат. Язык программирования – средство записи программ. 
Свойства алгоритмов и программ:
- Массовости (выдает результат при различных входных данных) 
- Однозначности (тот же результат при одинаковых входных данных); 
- Достижимости результата (за конечное время); 
Структура программы
 
Программы с линейной структурой.
- 
		program Zadanie1; {раздел объявлений} begin {инструкция}; {инструкция}; … {инструкция} end . program MyProgram25; {раздел объявлений} begin {инструкция}; {инструкция сложная}; … {инструкция} end . 
Все инструкции выполняются друг за другом до конца (шаг за шагом).
Инструкции могут быть простыми (присваивания) и сложными (вызов процедуры, повторения, ветвления, блок инструкций). В языке программирования любая сложная инструкция воспринимается как одна инструкция, выполняемая за один шаг.
Пример реальной программы:
| program MyProgram1; uses Crt ; {объявление о необходимости подключения модуля Crt } | 
| Begin {инструкции} ClrScr ; {инструкция сложная} (объяснить) Readkey {инструкция сложная} end . | 
Вызов процедуры как инструкция.
 
ClrScr, ReadKey – процедуры без параметров.
Read (x, y, z), Write (min,max) – процедуры с параметрами.
Понятие переменной и её значения. Понятие типа.
Некоторые понятия из математики и программирования:
- Математическая константа — неизменное числовое значение; 
- Математическая переменная — имя, заменяющее значение; 
- Программная константа — имя места в памяти компьютера, ассоциированное с неизменяемым значением. 
- Программная переменная — имя места в памяти компьютера, ассоциированное с любым возможным её значением. Объявить переменную в программе, значит забронировать место в памяти для хранения её значения и дать имя этому месту. 
- Тип в программировании — дискретный упорядоченный набор значений или дискретное множество значений и множество операций над ними. В понятие «тип» еще входит форма компьютерного представления значения (объем памяти для хранения значения, способ его кодирования). 
Объявление констант и переменных.
Объявление константа:
 
Например: const С = 299792456; g = 2012; pi=3.1415926535;
О бъявление
бъявление
переменных
Например: var N, Max : integer; {объявления двух переменных}
( integer – тип и его имя)
Тип переменных – целый.
Объявление переменных.
| Имена типа | Диапазон значений | 
| byte | 0…255 | 
| word | 0…65535 | 
| shortInt | -128…+127 | 
| integer | -32768…+32767 | 
| longInt | -2147483648…+2147483647 | 
Пример:
| program MyProgram1; uses Crt ; {объявление о необходимости подключения модуля Crt } var N, M : integer; {объявления двух переменных} | 
| Begin {инструкции} ClrScr ; Write (‘ введи два числа N, M ’) ; Read (N, M) ; Writeln (‘N=’, N:1); Writeln (‘M=’, N:15); Readkey end . | 
Тип переменных – диапазон.
Конструктор типа диапазон:
 
Пример:
| program MyProgram1; uses Crt ; {объявление о необходимости подключения модуля Crt } var N, M : -10..10; {объявления двух переменных} | 
| Begin {инструкции} ClrScr ; Write (‘ введи два числа N, M ’) ; Read (N, M) ; Writeln (‘N=’, N:1); Writeln (‘M=’, N:15); Readkey end . | 
Тип переменных – перечисляемый.
Конструктор перечисляемого типа:
 
Примеры программы:
| program MyProgram1; uses Crt ; {объявление о необходимости подключения модуля Crt } var N, M : (-9, -7, -5, -3, -1, 0, 2, 4, 6, 8 ); {объявления двух переменных} | 
| Begin {инструкции} ClrScr ; Write (‘ введи два числа N, M ’) ; Read (N, M) ; Writeln (‘N=’, N:1); Writeln (‘M=’, N:15); Readkey end . | 
Инструкция присваивания.
 
Задачи для классной и домашней работы (не менее 4-6 в классе и 5-10 дома) 1.18 – 1.37. В домашнюю работу включить задачи. 1.1 – 1.17.
В качестве примера написать на доске программу для задач 1.18, 1.25.
Задача 1.18.
| program MyProgram1; uses Crt ; {объявление о необходимости подключения модуля Crt } var N, M, K, R : shortint; {объявления трех переменных} | 
| Begin {инструкции} ClrScr ; Write (‘ введи три числа N, M, K ’) ; Read (N, M, K) ; R:= N-M Writeln (‘N+M=’, R:3); R:= N+M+K; Writeln (‘N+M+K=’, R:3); R:= N*M*K; Writeln (‘N*M*K=’, R:3); Readkey end . | 
Объяснить отсутствие операции «/». Проверить на практике.
Объяснить операции «div» и «mod.
Задачи для классной и домашней работы (не менее 4-6 в классе и 5-10 дома). 2.17 – 2.25, 2.28, 2.31-2.34, 2.36-2.48, 2.50-2.52. В домашнюю работу включить задачи. 2.1 – 2.16.
Функции для целого типа.
| Обращение | Описание | 
| Abs(x) | Модуль значения х | 
| Dec(x ) | x – 1 ( Dec(x, i) − x - i ) | 
| Inc(x ) | x + 1 ( Inc(x, i) − x + i ) | 
| Sqr(x) | Возведение в степень 2 (квадрат значения) | 
| Random(x) | Случайное число из диапазона 0…x-1 | 
Освоить все функции (придумать задачи).
Тип переменных – вещественный. Объявление переменных.
| Имена типа | Диапазон значений (по модулю) | Точность (знаков) | 
| real | 2.9*10-39…1.7*1038 | 11 | 
| single | 1.5*10-45…3.4*1038 | 7 | 
| double | 5.0*10-324…1.7*10308 | 15 | 
| extended | 3.4*10-4932…1.1*104932 | 19 | 
Функции для вещественного типа.
- 
			Обращение Описание abs(x) Модуль числа arctan(x) Арктангенс cos(x) Косинус exp(x) Экспонента в степени int(x) Целая часть ln(x) Логарифм натуральный round(x) Округление до целого числа sin(x) Синус sqr(x) Возведение в степень 2 sqrt(x) Корень квадратный trunc(x) Целая часть frac(x) Дробная часть aX Функции нет. aX = Exp(x Ln(a)) log a (x) Функции нет. log a (x) = ln(x)/ ln(a) 
- 
			Функции без аргументов Обращение Описание Pi 3.14159265359… Random Случайное число из диапазона 0…1 (Дополнением этой функции является процедура Randomize – инициатор неповторяющихся, случайных чисел) 
Извлечь корень из отрицательного значения.
Задачи для классной и домашней работы (не менее 4-6 в классе и 5-10 дома) 3.15 – 3.40. В домашнюю работу включить задачи. 3.1 – 3.14.
Заострить внимание на погрешностях вычислений. Придумать примеры.
Итог. Контрольная работа по всем разделам темы.
