Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Условия задач.doc
Скачиваний:
8
Добавлен:
18.11.2019
Размер:
253.95 Кб
Скачать

Графика в Pascal

  1. Отобразить точку красного цвета в центре экрана.

  2. Отобразить мигающую точку в центре экрана.

  3. Изобразить на экране звездное небо.

  4. Изобразить на экране множество точек, напоминающих созвездие Большой Медведицы, а также нарисовать Луну.

  5. Изобразить на экране концентрические окружности.

  6. Нарисовать на экране домик с трубой.

  7. Изобразить на экране пять олимпийских колец.

  8. Составить программу, по которой окружность движется по экрану.

  9. Изобразить на экране монитора светофор (с учетом цвета).

  10. Вывести на экран изображение шахматной доски.

  11. Изобразить на экране улыбающуюся рожицу.

Записи

Пример 1. Создайте пользовательский тип данных – запись, описывающий данные человека (Фамилия, Имя, Отчество), опишите в программе массив таких записей, состоящий из пяти элементов. В цикле, при помощи оператора read заполните массив данными ваших товарищей.

Program primer;

Type

Chelovek=Record

Fam: String[15];

Ima: String[15];

Otch: String[15];

End;

Var

Klass:Array[1..5] Of Chelovek;

k:Integer;

Begin

For k:=1 To 5 Do

With Klass[k] Do

Begin

Writeln('Введите фамилию’); Readln(Fam);

Writeln('Введите имя’); Readln(Ima);

Writeln('Введите отчество’); Readln(Otch);

End;

Readln;

End.

  1. Создайте пользовательский тип данных – запись, описывающий адрес (Индекс, Страна, Город, Улица, Номер дома, Номер квартиры), опишите в программе 3 экземпляров такой записи. При помощи оператора присоединения, заполните поля записи адресами.

  2. Известны фамилии и оценки (в баллах) по пяти предметам каждого из двадцати пяти учеников класса. Требуется вычислить среднюю оценку каждого из учеников и выбрать человека, имеющего максимальный средний балл.

Работа с файлами

Пример 1. Составить пргорамму, создающую на жестком диске текстовый файл, добавить в созданный файл данные (ф.и.о., номер школы, класс).

Program primer;

Var f: text;

x, y: real;

begin

assign(f,'prim.txt');

rewrite(f);

write(‘Иванов Иван Иванович, Школа № 1, 1 «а» класс’);

Close(f);

end.

Пример 2. а) Создать файл, содержащий значения функции y= x2 + x (0= x= 2, h= 0,2). б) Вывести на экран данные в виде таблицы.

Program primer;

Var f: file of real;

x, y: real;

begin

assign(f,'prim.txt');

rewrite(f);

x:=0;

repeat

y:=sqr(x)+x;

write(f,y, х);

x:=x+0.2;

until x>2;

Close(f);

reset(f);

while not eof(f) do begin

read(f,y,x); writeln('x=',x:4:2,' y=',y:8:4);

end;

end.

  1. а) Создать файл, содержащий значения функции y= 2x + 5 (0= x= 10, h= 0,5). б) Вывести на экран данные в виде таблицы.

  2. а) Создать файл, содержащий значения функции y= 2x2 + 3x (-2= x= 2, h= 0,2). б) Вывести на экран данные в виде таблицы.

Пример 3. а) Создать файл, содержащий данные:

  • ФИО работника;

  • склад;

  • стаж работы.

б) Просмотреть записи. Определить фамилию работника, имеющего самый большой стаж работы.

Program pr;

Type rabotnik=record

Fio: string [20];

sklad: char;

stag: integer;

End;

Var

X: rabotnik; f: file of rabotnik;

N, i, max: integer;

Name: string [20];

Begin

Assign(f,’pr.txt’);

Rewrite(f);

Write(‘n=’); Readln (n);

For i:=1 to n do

Begin

Write(‘fio:’); Readln(x.fio);

Write(‘sklad:’); Readln(x. sklad);

Write(‘stag:’); Readln(x. stag);

Write(f,x);

End;

Close(f);

{******************}// можно сделать две разные программы

Assign(f,’pr.txt’);

Rewrite(f);

Max:=0;

While Not EOF(f) do

Begin

Readln(f,x);

Writeln(x.fio: 20, x. sklad:3, x. stag:5);

If x. stag >max then

Begin

Max:=x. stag;

Name:=x.fio;

End;

End;

Writeln(‘max stag -‘, max, name);

Close(f);

Readln;

End.

  1. а) Создать файл, содержащий данные:

  • ФИО работника;

  • пол;

  • возраст.

б) Просмотреть записи. Определить средний возраст мужчин.

  1. а) Создать файл, содержащий данные;

  • ФИО ученика;

  • класс;

  • оценка.

б) Просмотреть записи. Определить среднюю оценку в 9-м классе.