Материал: Мансуров. Основы программирования в среде Lazarus. 2010

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Глава 3 Более сложные элементы языка

____________________________________________________________________

LightCyan -ярко-бирюзовый;

LightRed - ярко-красный;

LightMagenta - ярко-малиновый;

Yellow - желтый;

White - белый;

Blink - мерцание (мигание);

Процедура TextBackGround(Color)- устанавливает цвет фона.

Процедура ClrScr - очищает экран, одновременно окрашивая его в цвет установленного фона.

Процедура Window(x1, y1, x2, y2)- определяет на экране окно,

где x1, y1- координаты левого верхнего угла, а x2, y2- координаты пра-

вого нижнего угла окна

Функция KeyPressed - возвращает значение true, если клавиша нажата и false – в противном случае.

Функция readkey – считывает символ с клавиатуры.

Пример.

Написать программу, которая очищает экран и устанавливает синий фон.

Затем выводит текст желтым цветом.

program project1;

uses

CRT, FileUtil;

begin

TextBackGround(Blue);

ClrScr;

GoToXY(6, 6);

TextColor(Yellow);

221

3.5 Модули в Паскале

____________________________________________________________________

writeln(UTF8ToConsole('Привет, Вася!'));

writeln(UTF8ToConsole('Нажмите любую клавишу'));

readkey;

end.

Дальнейшие "игры" с цветами и окнами предоставляю вам самому, ува-

жаемый читатель, а сейчас давайте напишем более серьезную программу.

Пример.

В некой компании по продаже компьютеров имеются менеджеры, фамилии которых, хранятся в массиве Name. В другом массиве имеются данные о коли-

честве проданных компьютеров каждым менеджером за месяц. Написать про-

грамму, которая выводит таблицу, в которой следующие графы: фамилия, ко-

личество проданных компьютеров, сумма выручки, сумма премии. Итоговая строка должна содержать общее количество проданных компанией компьюте-

ров за месяц, общую сумму выручки, сумму премиальных.

Стоимость компьютера принять равной 1000$, размер премии за каждый проданный компьютер 25$

program manager; uses

CRT, FileUtil, SysUtils; var

name: array of string[18]; kol: array of integer;

sum, cost, prem, i, k, n: integer; progprem: integer;

begin

writeln(UTF8ToConsole('Введите количество менеджеров'));

readln(n);

SetLength(name, n);

222

Глава 3 Более сложные элементы языка

____________________________________________________________________

SetLength(kol, n);

for k:= 0 to n - 1 do

begin

writeln(UTF8ToConsole('Введите фамилию'));

readln(name[k]);

writeln(UTF8ToConsole('Введите количество компьютеров'));

readln(kol[k]);

end;

ClrScr;

GoToXY(6,1);

write(UTF8ToConsole('Сведения о реализации компьютеров'));

GoToXY(14,2);

write(UTF8ToConsole('за январь 2010 г.'));

GoToXY(1,3);

 

write('------------------------------------------------

');

GoToXY(1,4);

 

write(UTF8ToConsole('Фамилия

Количество Выручка Премия'));

GoToXY(1,5);

 

write('------------------------------------------------

');

cost:= 1000;

 

progprem:= 25;

 

for k:= 0 to n - 1 do

 

begin

 

sum:= cost * kol[k];

 

prem:= progprem * kol[k];

 

writeln;

 

writeln(name[k]);

 

GoToXY(24, k + 6);

 

write(kol[k]);

 

223

3.5 Модули в Паскале

____________________________________________________________________

GoToXY(32, k + 6);

 

write(sum);

 

GoToXY(40, k + 6);

 

write(prem);

 

end;

 

sum:= 0;

 

i:= 0;

 

for k:= 0 to n - 1 do

 

begin

 

i:= i + kol[k];

 

sum:= i * cost; {Сумма выручки}

 

prem:=i * progprem;

 

end;

 

GoToXY(1, n + 6);

 

write('------------------------------------------------

');

GoToXY(17, n + 7);

 

writeln(UTF8ToConsole('Итого:'));

 

GoToXY(24, n + 7);

 

write(i);

 

GoToXY(32, n + 7);

 

write(sum);

 

GoToXY(40, n + 7);

 

write(prem);

 

GoToXY(1, n + 9);

 

write(UTF8ToConsole('Нажмите любую клавишу')); readkey;

end.

224

Глава 3 Более сложные элементы языка

____________________________________________________________________

3.6. Файлы

Файл – некоторый участок на диске, где хранятся данные. Каждому файлу присваивается уникальное имя, благодаря которому становится возможным об-

ращаться к различным данным на диске. Файлы состоят из отдельных элемен-

тов одного типа. Размер файла зависит от объема того физического устройства,

на котором он хранится.

3.6.1 Тип данных – запись

Запись – совокупность данных, имеющих свои имена и тип, объединенных одним именем. Запись - комбинированный тип данных. Каждая запись состоит из отдельных полей, которые могут иметь разные типы.

Общий вид объявления записи:

type

<имя записи> = record

<имя1>: <тип1>;

<имя2>: <тип2>;

..............

<имяN>: <типN>;

end;

После этого можно объявить переменные с типом запись:

var <имя переменной>: <имя записи>;

Пример. Пусть имеется таблица следующей структуры:

Фамилия

Имя

Отчество

Группа

Год рождения

 

 

 

 

 

Тогда можно объявить запись следующего вида:

type

225

Смотрите также:

11 Горм +
113
14
1433
1511
1632
199
204
2N4264RE
3773