- •Тема 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 I: char;
RR : STRING;
L : INTEGER;
BEGIN
RR := ";
FOR L := 1 TO 17 DO
BEGIN
I := READKEY;
RR := RR+I
END;
WRITELN('COДЕРЖИMOE БУФЕРА КЛАВИАТУРЫ');
WRITELN(RR)
END.
Рассмотрим несколько примеров использования модуля CRT. результаты работы этих программ приведены на цветной вкладке.
Задача 10.1 На экране несколько раз разными цветами напечатать фразу ONE MOMENT, PLEASE.., расположив эти надписи лесенкой.
Для решения этой задачи необходимо установить цвет экрана, затем определить, в каких пределах должен изменяться цвет надписей на экране, чтобы не сливаться с фоном. После вывода первой фразы оператором WRITELN('ONE MOMENT, PLEASE... '); курсор автоматически сдвигается на следующую строку. Поэтому для того, чтобы надписи располагались лесенкой, нужно перед выводом самой фразы напечатать несколько пробелов оператором WRITE(' ': 2*I);
Вывод надписей на экране необходимо сопровождать временной задержкой DELAY(1500), чтобы человеческий глаз мог зафиксировать их последовательное появление на экране. С помощью задержки создается эффект мультипликации.
PROGRAM PRG10-1;
USES CRT;
Var I:integer;
BEGIN
TEXTBACKGROUND(2);
CLRSCR;
DELAY(IOOO);
TEXTCOLOR(O);
FOR I:=1 TO 11 DO
BEGIN
TEXTC0L0R(l+4);
WRITELN;
WRITE(' ':2*I);
WRITELN('ONE MOMENT, PLEASE...');
DELAY( 1500);
END;
READLN;
TEXTBACKGROUND(I);
CLRSCR
END.
Для решения задачи:
- формируем тело программы и описываем переменные;
- устанавливаем зеленый цвет экрана и черный цвет первой надписи;
- организуем цикл, в котором меняем цвет надписей и выводим их лесенкой;
- по окончании вывода оператором READLN фиксируем надписи на экране до тех пор, пока не будет нажата любая клавиша.
Переменные:
I - переменная цикла.
Задача 10.2 Построить семейство разноцветных прямоугольников, расположенных по горизонтали, в каждом из которых стоит знак вопроса.
Для решения данной задачи необходимо прорезать разноцветные текстовые окна, у которых меняется только координата X, a Y остается без изменения.
ROGRAM PRG10_2;
USES CRT;
Var X, I: integer;
Begin
textbackground(i);
CLRSCR;
X := 1;
DELAY(1000);
TEXTCOLOR(O);
FOR I := 1 TO 11 DO
BEGIN
IF (K>1) AND (l<>9) THEN TEXTBACKGROUND(I)
ELSE TEXTBACKGROUND(l+4) ;
WINDOW(X, 9, X+5, 14);
CLRSCR;
WRITELN;
WRITELN('?');
DELAY(1500);
X := X+7;
END;
READLN;
TEXTBACKGROUND(I);
CLRSCR
END.
Для решения задачи:
- формируем тело программы и описываем переменные;
- устанавливаем голубой цвет экрана и черный цвет надписи;
- организуем цикл, в котором прорезаем разноцветные окна и выводим в них черный знак вопроса;
- по окончании вывода оператором READLN фиксируем надписи на экране до тех пор, пока не будет нажата любая клавиша.
Переменные:
X - координата левого верхнего угла окна;
I - переменная цикла.
Задача 10.3 Нарисовать на экране несколько вложенных друг в друга разноцветных прямоугольников.
PROGRAM PRG10_3;
USES CRT;
Var I: integer;
BEGIN
TEXTBACKGROUND(2);
CLRSCR;
DELAY(IOOO);
FOR I := 1 TO 15 DO
BEGIN
TEXTBACKGROUND( 1+RANDOM(15));
WINDOW(2*I, I, 80-2*1, 26-1);
CLRSCR;
DELAY(1500);
END;
READLN;
TEXTBACKGROUND(2);
CLRSCR
END.
Для решения задачи:
- формируем тело программы и описываем переменные;
- устанавливаем зеленый цвет экрана;
- организуем цикл, в котором прорезаем окна, каждое последующее меньше предыдущего, и закрашиваем их случайно определенным цветом;
- по окончании вывода оператором READLN фиксируем надписи на экране до тех пор, пока не будет нажата любая клавиша.
Переменные:
I - переменная цикла.
Задача 10.4 Нарисовать на экране прямоугольник и заставить его двигаться по горизонтали, сопровождая движение звуком.
Для решения этой задачи необходимо математически описать движение прямоугольника по горизонтали (рис. 10.2).
Координаты Y1 и Y2 при таком движении не изменяются, наблюдается приращение только по оси Y. При этом выполняются условия Х3 - XI > Х2 > XI и Х2 - XI = Х4 – Х3 =... = XN - XN-1.
Само движение может быть описано так:
- прорезаем окно контрастного цвета;
- держим его на экране с помощью DELAY(500);
- закрашиваем окно цветом фона;
- вводим вторую задержку;
- прорезаем следующее окно со смещением вправо, например X := Х+2.
Программирование звука осуществляется процедурой SOUND(300) с частотой звучания 300 герц, а затем оно выключается процедурой NOSOUND.
Рис. 10.2. Движение по горизонтали
PROGRAM PRG10_4;
USES CRT;