
- •Тема 1. Основы работы в среде. Типы данных. Ввод и вывод информации. Оператор присваивания. Линейные алгоритмы
- •Урок 1. Основы работы в среде. Типы данных. Ввод и вывод информации. Оператор присваивания. Линейные алгоритмы Цель
- •Основные понятия
- •Задания Задачи сложности а
- •Задачи сложности в
- •Задачи сложности с
- •Контрольные вопросы
- •Д ополнительное задание
- •Урок 2 Операторы ветвления Цель
- •Задачи сложности b
- •Задачи сложности с
- •Контрольные вопросы
- •Д ополнительное задание
- •II.Условный оператор case Основные понятия
- •Задания Задачи сложности a
- •Задачи сложности b
- •Задачи сложности c
- •Контрольные вопросы
- •I. Оператор цикла с заданными параметрами for Основные понятия
- •Задания Задача сложности a
- •Задача сложности b
- •Задача сложности c
- •Контрольные вопросы
- •Дополнительное задание
- •2. Какое значение примет переменная х в результате выполнения следующих фрагментов программ?
- •Д ополнительное задание
- •2. Какое значение примет переменная х в результате выполнения следующих фрагментов программ?
- •Д ополнительное задание
- •Задача сложности с
- •Контрольные вопросы
- •Контрольные вопросы
- •Дополнительное задание
- •Основные понятия
- •Задания Задачи сложности a
- •Задача сложности b
- •Задача сложности c
- •Контрольные вопросы
- •Дополнительное задание
- •(F1,(f2),’ путь- место положения файлов на диске ‘);
- •Дополнительные задания
- •Основные понятия
- •Контрольные вопросы
Дополнительные задания
1.Заданы пять значений количества заболевших гриппом в классе за последние 5 лет : (2001),(2002),(2003),(2004) , (2005) . С помощью Bar3D постройте диаграмму , отражающую динамику (в высоте столбца ) заболеваемости. Под каждым столбцом укажите год. Исходные данные опишите в типизированном массиве.
Урок 9 Процедуры и функции
Цель
Научиться использовать процедуры и функции.
Задачи
Дать основное понятие назначения подпрограммы и её виды в Pascal (процедура, функция), знать принцип работы подпрограмм и их описание в самой программе.
Определиться в принципиальном отличии в:
назначении; описании; вызове процедуры и функции.
Дать понятие глобальным и локальным переменным.
Разобраться в механизме передачи данных между программой и подпрограммой.
Научиться описывать переменные, как в процедурах, так и в функциях.
Основные понятия
Описание
процедуры:
procedure<имя>(<список
формальных переменных>);
var{раздел
описания переменных}
begin
{операторы} end;
Пример procedure
r (xa,ya,xb,yb:real; var d:real); begin
d:=sqrt(sqr(xa-xb)+(ya-yb)); end;
Описание
функции:
function<имя>
(<список формальных переменных>
:<тип>) :тип);
begin
<имя
функции>:=<выражение>;
end;
Пример fuction
r (xa,ya,xb,yb:real;)real);
begin
r:=
sqrt(sqr(xa-xb)+(ya-yb)); end;
Задания
Задачи сложности А
1.Написать процедуру ввода элементов матрицы Т.
2. Написать функцию, которая из двух целых чисел выбирает наименьшее число.
3.Написать программу упорядочивание значений трех переменных a , b , c. Алгоритм упорядочивания написать процедурой.
Задачи сложности B
1Написать процедуру ввода и вывода элементов матрицы Т.
2.Написать функцию, которая находит сумму цифр целого числа.
3.Вычислить сумму 1!+2!. . . +n! , используя подпрограмму вычисления факториала.
Задачи сложности С
1.Составьте программу вычисления числа сочетаний из N по M. Число сочетаний определяется по формуле : N!/(M!*(N-M)!, где N-количество перебора. Используйте подпрограмму вычисления факториала.
2.Написать функцию, которая находит цифровой корень целого числа.( цифровой корень находится суммой через сумму цифр до тех пор, пока эта сумма не станет цифрой . Например 9999999 цифровой корень находится так:
9+9+9+9+9+9+9=63
6+3=9
3.Написать программу вычисления значения. Создать функцию Step которая бы позволяла находить степень числа.
Контрольные вопросы
1.Что называют подпрограммой? В чем состоит сходство и различие процедур и функций?
2.В чем различие между стандартными и нестандартными процедурами? Можно привести пример.
3.Опишите последовательность событий при вызове процедуры или функции?
4.Чем отличаются локальные и глобальные переменные. Какова область их действия?
5.Формальные и фактические переменные ? их взаимосвязь?
6. Рассмотрите нижеследующие примеры подпрограмм. Определите, какие из них относятся к функциям и какие – к процедурам. Вставьте соответствующие служебные слова.
_________ Sum(a,b:integer; var c:integer);
begin
c:=a+b;
end;
__________ Sum(a,b:integer):integer;
begin
Sum:=a+b;
end;
___________ MIN(a,b:integer):integer;
begin
if a>b then MIN:=a
else MIN:=b;
end;
_____________ MIN(a,b:integer);
begin
if a>b then write(a)
else write(b);
end;
Дополнительные задания
1.Составить программу перевода двоичной записи числа в десятичную
Урок 10 Множественный тип данных. Комбинированный тип данных (Записи)
Цель
Научиться владеть принципом описания и применения множественного и комбинированного типа данных.
Задачи
Дать основное понятие множественного типа и его описание, а также разобрать работу операций над множествами.
Дать основное понятие комбинированного типа и его описание.
Дать анализ применения.
Основные понятия
Структура описания множественного типа:
var
<идентификатор >: set of <элемент1,…..,элемент n >;
Структура описания комбинированного типа:
Type
< имя типа > = record
<идентификатор поля >:< типа компонента >;
end;
var
<идентификатор>:<имя типа>;
Задания
Задачи сложности А
1.Написать программу, демонстрирующую все возможные операции над множествами.
Задачи сложности B
1.Написать программу, позволяющую удалять из диапазона чисел от 1 до 25, числа кратные 2.
Задачи сложности С
1.В массиве хранятся данные об учениках класса: фамилия, имя, отчество, адрес ( улица, дом, квартира,) и домашний телефон ( если есть).Вывести список учеников, до которых нельзя дозвониться.
Стандартные библиотечные модули
-
Crt
Содержит средства управлением дисплеем и клавиатурой.
Graph
Содержит пакет графических средств.
Арифметические процедуры и функции
-
Abs(x)
Функция определения модуля числа x , где x переменная целого или вещественного типа, значение совпадают с типом аргумента.
ArcTan(x)
Вычисление угла, тангенс которого равен x радиан.
Cos(x)
Вычисление косинуса X параметр задает значение угла в радианах.
Exp(x)
Экспонента в степени x , аргумент и значение всегда вещественного типа.
Frac(x)
Вычисление дробной части X.
Int(x)
Вычисление целой части X.
Ln(x)
Натуральный логарифм x , аргумент и значение вещественного типа.
Pi
Возвращает значение числа Пи.
Sin(x)
Вычисление синуса X. Параметр задает значение угла в радианах .
Sqr(x)
Возведения в квадрат, где x- переменная целого или вещественного типа, значение функции совпадает с типом аргумента.
Sqrt(x)
Извлечения квадратного корня ,где x - переменная целого или вещественного типа, значение функции всегда вещественного типа.
Random
Генерирует значение случайного числа из данного диапазона.
Randomize
Изменение базы случайного числа.
Mod
Вычисляет целую часть от частного, дробная откидывается.
Div
Целочисленное деление.
Скалярные процедуры и функции
-
Dec(x,{n})
Процедура уменьшает значение целочисленной переменной X на величину N.
Inc(x,{n})
Процедура увеличивает значение целочисленной переменной X на N.
Pred(s)
Функция возвращает элемент предшествующий S в списке значений
(например ,pred(‘9’)=’8’).
Succ(s)
Возвращает значение , следующее за S ( например, succ(‘b’)=’a’).
Odd(I:integer):boolean
Возвращает True если I нечетное и False если Iчетное.
Функции преобразования типов
-
Ord(c)
(С-переменная символьного типа) вычисляет порядковый номер символа c ( например, ord('r')=82 ).
Chr(i)
(i-переменная целого типа) выдает символ с порядковым номером I (например 1, chr(68=’d’).
Trunc(x)
Отбрасывание вещественной части x, x- вещественное значение trunc(5.67)=5
Round(x)
Операция округления вещественного числа x до ближайшего целого
round(5.67)=6;
round(5.47)=5;
Frac(x)
Получение дробной части вещественного числа Frac(5.67)=0.67.
Процедуры управления программой
-
Delay(i:word)
Задержка выполнения программы на 1 Мсек.
Exit
Выход в окружающую среду.
AssignCrt(F)
Связывает текстовый файл F с устройством Crt.
Строковые процедуры и функции
-
Delete(st,poz,n)
Удаление N символа строки St начиная с позиции Poz.
Insert(str1,str2,poz)
Вставка строки str1 в строку str2 начиная с позиции poz.
Str(ibr,st)
Преобразование числового значения величины ibr и помещение результата в строку st.
Val(St,ibr, code)
Преобразует значение St в величину целочисленного или вещественного типа и помещает результат ibr.
Copy(st,poz,n)
Выделяет из st подстроку длиной n символов, начиная с позиции poz.
Concant(Str1,str2..strn)
Выполняет сцепление строк Str1,str2..strn в том порядке в каком они указаны в списке параметров.
Length(St)
Вычисляет текущую длину в символах строки St . Результат имеет целочисленный тип.
Pos(Str1,Str2)
Обнаруживает первое появление в строке Str2подстроки Str1.
UpCsae(Ch)
Преобразует строчную букву в прописную.
-
Операции отношения
A=b
Числа равны.
A<>b
Числа не равны
a>b
Первое число больше второго.
a>=b
Первое число меньше второго.
A<b
Первое число меньше второго.
A<=b
Первое число не больше второго.
Логические выражения
Or
Логическое сложение (ИЛИ).
And
Логическое умножение (И).
Not
Логическое отрицание (НЕ).
Процедуры задания режимов работы
-
TextMode(t)
Задание текстового режима.
HighVideo
Устанавливает высокую яркость символов (заменяет цвета 0-7 на цвета 8-15), выводимых далее на экран.
LowVideo
Устанавливает малую яркость символов.
NormVideo
Устанавливает первоначальную яркость символов, выводимых далее на экран
TextBackGround(color) TextColor(color)
Задаёт цвет фона. Color может принимать значение только 0-7
Процедуры работы с экраном
-
ClrEol
Удаляет все символы от курсора (включительно) до конца строки, заполняя этот участок текущим цветом фона.
ClrScr
Очищает текущее окно, заполняя его текущим цветом фона, и помещает курсор в его верхний левый угол с координатами (1,1).
DelLine
Удаляет строку, в которой находится курсор.
GotoXY(X,Y)
Перемещает курсор к элементу окна с заданными координатами. Если хотя бы одна из координат недопустима, процедура не выполняется.
InsLine
Вставляет пустую строку на экране в месте расположения курсора и заполняет её текущим цветом фона.
Window(X1,Y1,X2,Y2)
Задаёт размеры окна на экране и помещает курсор в левый верхний угол окна с координатами (1,1). Если хотя бы одна из координат недопустима, процедура не выполняется
.
Функции работы с экраном.
-
WhereX :integer
Возвращает текущую координату X курсора.
WhereY :integer
Возвращает текущую координату Y курсора.
Функции работы с клавиатурой.
-
ReadKey :char
Считывает символ с клавиатуры и освобождает буфер клавиатуры от считанного символа.
Процедуры управления звуком.
-
Sound(Hz)
Запускает источник звука с частотой Hz герц.
NoSound
Выключает источник звука.
Обратите внимание!
* в конце каждого оператора ставится знак ;
* читаемые строки заключаются в ‘ ‘
Пример программы, которая считает сумму двух целых чисел.
Var
x1, x2, sum : integer;
Begin
x1 := 3;
x2 := 7;
sum := x1 + x2;
writeln(‘ вывод результата сумму двух целых чисел X1 и Y2 ’, sum);
End.
Для того, чтобы запустить программу необходимо нажать сочетание клавиш Ctrl+F9.
В результате выполнения данной программы в переменную sum присвоили сумму двух чисел x1 и x2, таким образом, в переменной sum теперь хранится число 10.
Чтобы увидеть результат:
нажать Alt+F5 (переход в пользовательский экран Debug → User Screen)
Чтобы всегда видеть результат:
выполнить Debug → Output;
выполнить Window → Tile.
Выполнить программу несколько раз, затем, добавляя строки в код, проанализировать результаты:
Сохранение:
F2 или File → Save
Автоматическое сохранение при запуске программы:
Options → Environment → Preferences, в разделе Auto save включить Editor files