- •Тема I Основные понятия языка pascal 7.0
- •1.1. Алфавит и структура программы
- •Алфавит
- •Структура программы
- •I, j : integer;
- •1.2. Структура данных
- •Простые типы данных
- •Структурированные типы данных
- •Указатели
- •Процедурные типы
- •Объекты
- •Преобразование типов данных
- •1.3. Операторы языка
- •Простые операторы
- •Структурированные операторы
- •1.4. Процедуры ввода-вывода
- •Var I, j : integer;
- •Практические задания
- •Тема 2 Производящие функции и ряды
- •Var n, I: integer;
- •Var I, n, f : integer;
- •Var I, n, f, j, r, m : integer;
- •Var I, n, f, j, r, m : integer;
- •Var I, n, f, j : integer;
- •Var I, n, sum : integer;
- •Var I, n, m, к : integer;
- •If flag then
- •Var I, n, m, k, nod : integer;
- •Var I, n, m, k, nod, nok : integer;
- •Var n, r, m : integer;
- •Var n, r, м, к, I : integer;
- •If f then writeln('число', n, ' he палиндром')
- •Var X, y, z:real; I, n : integer;
- •Var X, y, z : real;
- •Var X,y. Z, е : real;
- •I: integer;
- •Var X, y, z, e : real;
- •I: integer;
- •Var X, y, z : real;
- •Практические задания
- •Тема 3 Обработка числовых последовательностей
- •Var n, X, sum, I: integer;
- •Var n, X, к, I: integer;
- •Var n, X, max, I: integer;
- •Var n, X, max, I: integer;
- •Var X, min1, min2 : integer;
- •Var old, new : real;
- •If f then
- •Var old, new : real; к : integer;
- •Var old, new, f : real;
- •Var old, new : real;
- •If f then
- •Var old, new : real;
- •If f then
- •Var poroda : string;
- •I, к, n : integer;
- •Var pol : string;
- •I, к, n : integer;
- •Практические задания
- •Тема 4 Символьные переменные и строки
- •Var I: char;
- •Var I: char;
- •Var I, l : char;
- •Var str: string;
- •If not(str[I] in m) then write(str[I])
- •Var str : string;
- •If not(str[I] in m) then write(str[I]);
- •Var str : string;
- •If (str[I] - '!') then write(V)
- •Var str : string;
- •Var str : string;
- •Тема 5 Обработка строк
- •Var str, wrd : string;
- •I, l : integer;
- •Var s1, str : string;
- •I: integer;
- •Var s1, str: string;
- •Var s1: string;
- •Var s1 : string;
- •Var s1 : string;
- •X : char;
- •Var s1 : string;
- •Var м, к, I, j : integer;
- •Var I, к : integer;
- •Var I, к : integer;
- •Var I, к : integer;
- •Var I, l : integer;
- •1234567890 Ааааааа .
- •Var I, l : integer;
- •If f then writeln('палиндром')
- •1234567890 Ааааааа .
- •Практические задания
- •Тема 6 Одномерные массивы
- •Var mas : array[1..M] of integer;
- •I, max, k, n : integer;
- •Var mas : array[1..M] of integer;
- •I, k, n : integer;
- •Var mas : array[1..M] of integer;
- •I, k, new, n : integer;
- •Var mas : array[1..M] of integer;
- •I, j, k, new, n : integer;
- •Var mas : array[1..M] of real;
- •I, n : integer;
- •Var mas : array[1..M) of real;
- •I: integer;
- •Var mas, num2, num5 : array[1..M] of integer;
- •Практические задания
- •Тема 2 Двумерные массивы
- •Var a : array[1..T, 1..S] of integer;
- •Var а : array[1..T, 1..S] of integer;
- •Var a : array[1..T, 1..S] of integer;
- •Var a : array[1..T, 1..S] of integer;
- •Var a : array[1..T, 1..S] of char;
- •Var a : array[1..T, 1..T] of integer;
- •Var а, в : array[1..N, 1..N] of integer;
- •Var а, в : array[1..N, 1..N] of integer;
- •Var а, в : array[1..N, 1..N] of integer;
- •Var а, в : array[1..N, 1..N] of integer;
- •Var а, в : array[1..N, 1..N] of integer;
- •Var а, в : array[1..N, 1..N] of integer;
- •Var а, в : array[1..N, 1..N] of integer;
- •Практические задания
- •Тема 8 Работа с файлами
- •Var f1, f2 : text;
- •X : char;
- •International
- •Var f1, f2 : text;
- •X : char;
- •International
- •Var Fl : text;
- •X: char;
- •International
- •Var f1 : text;
- •X : char;
- •International
- •Var f1 : file of char;
- •X : char;
- •I: integer;
- •International
- •Var f1 : file of char;
- •X : char;
- •International
- •Var f1 : file of char;
- •X : char;
- •International
- •Var f1 : file of char;
- •X : char;
- •International
- •Тема 9 Процедуры и функции
- •Var I, j : integer;
- •Var n, m : integer;
- •Var I, j : integer;
- •Var n, m : integer;
- •Var I, j : integer;
- •Var I, j : integer;
- •Var s : string;
- •Var I: integer;
- •Var I, j : integer;
- •Var I, j : integer;
- •Var n : longint;
- •Var s : integer;
- •Var n : longint;
- •Var s : integer;
- •Var а, в, d, к, X, y : integer;
- •Var а, в, d, к, X, y : integer;
- •Var а, в : integer;
- •Var к: integer;
- •Var I : integer;
- •Var n : longint;
- •Var s : integer;
- •Var а, в, X, d, y : integer;
- •Var а, в : integer;
- •Var к: integer;
- •Практические задания
- •Тема 10 Работа с текстом. Модуль crt
- •Var I: char;
- •Var I:integer;
- •Var X, I: integer;
- •Var I: integer;
- •Var X, y, I: integer;
- •Var X, y, I: integer;
- •Var X, y, I: integer;
- •Практические задания
- •Тема 11 Графика. Модуль Graph
- •Initgraph(driver, mode,' ');
- •Var driver, mode : integer;
- •Var driver, mode,
- •X, y : integer;
- •Var driver, mode,
- •X, y : integer;
- •Var driver, mode, X, y : integer ;
- •Var driver, mode, X, y : integer;
- •Var driver, mode, X, y : integer;
- •Var driver, mode, X, y, I: integer;
- •Var driver, mode, X, y, I, t : integer;
- •Var driver, mode, X, y, I, t : integer;
- •Var driver, mode, X, y, I, t : integer;
- •Var driver, mode, X, y, I, t, y0 : integer ;
- •Var driver, mode, X, y, I, t, xo : integer;
- •Var driver, mode, X, y, r : integer;
- •Var driver, mode, X, y, x1, y1, r : integer;
- •Var driver, mode, X, y, r, I: integer ;
- •Var driver, mode, X, y, r, rx, ry, lx, ly, I, size : integer;
- •Var driver, mode, X, y, r : integer;
- •Практические задания
- •Тема I 3 Разные задачи
- •Var f1:file of nn;
- •I:integer;
- •Var I:integer;
- •Var I, min,max:integer;
- •Var I,j:integer;
- •Var I,j:integer;
- •In_metr;
- •I,n:integer;
- •Var I:integer;
- •If I in s1 then
- •Приложение Зарезервированные слова borland pascal 7.0
- •Литература
- •Оглавление
- •1.1. Алфавит и структура программы
- •Тема 13 разные задачи
Var driver, mode, X, y, r, I: integer ;
BEGIN
R:= 40;
X:= R*5;
Y:= R*2;
DRIVER := DETECT;
INITGRAPH(DRIVER, MODE, 'C : \BP\BGI');
SETCOLOR(3);
FOR I := 1 TO 600 DO
PUTPIXEL(RANDOM(I), RANDOM(I), I);
REPEAT
ELLIPSE(X, Y, 0, 360, R, (R DIV 3)+2);
ELLIPSE(X, Y-4, 190, 357, R, R DIV 3);
LINE(X-17, Y-16, X-25, Y-22);
LINE(X+17, Y-16, X+25, Y-22);
CIRCLE(X+25, Y-25, 2);
CIRCLE(X-25, Y-25, 2);
SETFILLSTYLE(1, 3);
FLOODFILL(X+1, Y+4, 3);
DELAY(150);
CLEARDEVICE;
FOR I := 1 TO 600 DO
PUTPIXEL(RANDOM(I), RANDOM(I), I);
X := X+RANDOM(10);
Y := Y+RANDOM(10);
UNTIL (KEYPRESSED);
CLOSEGRAPH
END.
Для решения задачи:
- формируем тело программы и описываем переменные;
- инициируем модуль GRAPH;
- организуем безусловный цикл по переменной I и рисуем звездное небо;
- организуем цикл до тех пор, пока не будет нажата любая клавиша;
- в этом цикле рисуем НЛО с помощью двух эллипсов, двух линий и двух маленьких кружочков, держим его на экране, затем стираем изображение процедурой CLEARDEVICE;
- опять рисуем звездное небо;
- определяем случайным образом координаты следующего изображения НЛО;
- после нажатия любой клавиши закрьшаем графический режим.
Переменные:
X, Y - случайные координаты;
R - радиус;
I - переменная цикла;
DRIVER - тип графического драйвера;
MODE - режим работы графического адаптера.
Та же самая программа может быть написана с использованием пары процедур GETIMAGE(LX, LY, RX, RY, SAUCER") и PUTIMAGE(X, Y, SAUCER", XORPUT) [4].
Процедура GETIMAGE(LX, LY, RX, RY, SAUCER") помещает изображение в буфер, a PUTIMAGE(X, Y, SAUCER", XORPUT) выводит в заданное место изображение. Параметр XORPUT определяет способ вывода на экран - исключающее ИЛИ. Например, операторами
GETIMAGE(LX, LY, RX, RY, SAUCER*);
READLN;
PUTIMAGE(LX, LY, SAUCERS, XORPUT); мы выводим изображение на экран и после нажатия любой клавиши стираем его.
Можно использовать другие способы вывода изображения на экран, например:
NORMALPUT - стирается часть экрана, и на это место выводится изображение;
NOTPUT - делает то же самое, но изображение инвертируется;
ORPUT - дописывает новое изображение.
PROGRAM PRG11_NLOA;
USES GRAPH, CRT;
Var driver, mode, X, y, r, rx, ry, lx, ly, I, size : integer;
SAUCER: POINTER;
BEGIN
R:=20;
X := R*5;
Y:=R*2;
DRIVER := DETECT;
INITGRAPH(DRIVER, MODE,'C : \BP\BGI');
SETCOLOR(3);
ELLIPSE(X, Y, 0, 360, R, (R DIV 3)+2);
ELLIPSES(X, Y-4, 190, 357, R, R DIV 3);
LINE(X-7, Y-6, X-10, Y-12);
LINE(X+7, Y-6, X+10, Y-12);
CIRCLE(X+10, Y-12, 2);
CIRCLE(X-10, Y-12, 2); SETFILLSTYLE( 1,3);
FLOODFILL(X+1, Y+4, 3);
LX := X-R-1;
LY := Y-14;
RX := X+R+1;
RY := Y+R DIV 3+3;
SIZE := IMAGESIZE(LX, LY, RX, RY);
GETMEM(SAUCER, SIZE);
GETIMAGE(LX, LY, RX, RY, SAUCER^);
READLN;
PUTIMAGE(LX, LY, SAUCER^, XORPUT);
FOR I := 1 TO 600 DO
PUTPIXEL(RANDOM(I), RANDOM(I), I);
REPEAT
PUTIMAGE(X, Y, SAUCER^, XORPUT);
DELAY(150);
PUTIMAGE(X, Y, SAUCER^, XORPUT);
X := X+RANDOM(10);
Y := Y+RANDOM(10);
UNTIL (KEYPRESSED);
READLN;
CLOSEGRAPH;
END.
Для решения задачи:
- формируем тело программы и описываем переменные;
- инициируем модуль GRAPH;
- рисуем НЛО с помощью двух эллипсов, двух линий и двух маленьких кружочков, держим его на экране, затем стираем изображение процедурой CLEARDEVICE;
- определяем размер буфера и помещаем в него изображение;
- организуем безусловный цикл по переменной I и рисуем звездное небо;
- организуем цикл до тех пор, пока не будет нажата любая клавиша;
- в этом цикле помещаем изображение из буфера на экран, держим его на экране, затем стираем изображение;
- определяем случайным образом координаты следующего изображения НЛО;
- после нажатия любой клавиши закрьшаем графический режим.
Переменные:
X, Y - случайные координаты;
R - радиус;
I - переменная цикла;
SAUCER - указатель буфера хранения изображения;
DRIVER - тип графического драйвера;
MODE - режим работы графического адаптера.
Задача 11.14 Написать систему ниспадающих меню, которая в зависимости от выбора пользователя выводит на экран круг, квадрат или треугольник.
PROGRAM PRG11_14;
USES GRAPH, CRT;