Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
LR11-12.doc
Скачиваний:
18
Добавлен:
10.03.2016
Размер:
262.14 Кб
Скачать

Лабораторная работа №11 Задание

Необходимо выполнить все приведенные ниже задания, а также задания для самостоятельной работы. Задания выполняются не по вариантам. Приветствуется проявление творчества при выполнении заданий.

1. Вводится три числа A, X, Y. Вывести значение A в точке с координатами X, Y.

Program primer1;

Uses crt;

Var a: integer;

X: 1..80; Y: 1..25;

Begin

TextMode(2); {устанавливаем режим экрана черно-белый 80*25}

Readln (a, x, y);

GotoXY (x, y); {устанавливаем курсор в позицию с координатами x,y}

Write(a);

Delay(10000); {устанавливаем время задержки}

End.

Задание для самостоятельной работы: установите цветной режим и выведите значение A заданным цветом, добавьте режим мерцания.

2. Организовать ввод 10 чисел, чтобы запрос на каждое число осуществлялся в центре экрана, а сами числа печатались разным цветом.

Program primer2;

Uses crt;

Var

I, k: integer;

Begin

Clrscr;

TextMode(CO80) {устанавливаем цветной режим экрана 80*25}

For i:=1 to 10 do

Begin

TextColor(i); {устанавливаем цвет символов}

Clrscr;

GotoXY(40,12);

Read(k);

End;

Delay(1000);

End.

Задание для самостоятельной работы: добавьте цвет фона, попробуйте изменять его в цикле, только следите, чтобы цвет фона не совпадал с цветом символов.

3. Самостоятельно организовать вывод чисел от 1 до 100 так, чтобы они выводились в центре экрана через определенные промежутки времени.

4. Заполнить символьный массив так, чтобы каждый вводимый символ отображался на экране, и при этом не нажималась клавиша Enter. Ввод завершить по нажатию клавиши Esc.

Program primer4;

Uses crt;

Var

A: array [1..100] of char;

B: char; i, k: integer;

Begin

I:=0;

Repeat

B:=ReadKey; {читаем символ с клавиатуры без вывода на экран}

K:=ord(b); {определяем код нажатой клавиши}

If k<>27 then begin i:=i+1; a[i]:=b; gotoXY(i,10); write(b); end;

Until k=27; {цикл выполняется пока не будет нажата клавиша Esc, имеющая код 27}

End.

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

5. Организовать движение курсора по экрану под управлением клавиш управления курсором: , , , , а также дополнительных клавиш управления Home, End, PageUp, PageDown.

Замечание: следует учесть, что клавиши управления курсором – функциональные клавиши и при выполнении последовательности команд: b:=readkey; c:=ord(b) переменная c будет иметь значение 0, поэтому определить код нажатой клавиши можно с помощью этой же функции вида ord(readkey).

Program primer5;

Uses crt;

Const {введем предельные значения координат в текстовом режиме}

MinX=1;

MinY=1;

MaxX=80;

MaxY=25;

Var

Ch: char;

Kod: ineger;

X, y: byte;

Begin

Clrscr;

{вычислим координаты середины экрана}

X:=MaxX div 2;

Y:= MaxY div 2;

Repeat

GotoXY (x, y) {установим курсор}

Ch:=readkey;

Kod:=ord(readkey);

{пересчитаем координаты курсора в соответствии с нажатой клавишей}

Case kod of

72: if y>MinY then y:=y-1; {нажата клавиша «вверх»}

80: if y<MaxY then y:=y+1; {нажата клавиша «вниз»}

77: if x<MaxX then x:=x+1; {нажата клавиша «вправо»}

75: if x>MinX then x:=x-1; {нажата клавиша «влево»}

71: x:=MinX; {нажата клавиша Home}

79: x:=MaxX; {нажата клавиша End}

73: y:=MinY; {нажата клавиша PageUp}

81: y:=MaxY; {нажата клавиша PageDown}

end;

until ch=#27 {цикл выполняется, пока не будет нажата клавиша Esc}

end.

Задание для самостоятельной работы: организовать движение какого-либо символа по экрану с помощью клавиш управления.

6. Организовать меню из 3 пунктов: ввод данных, обработка данных, выход из программы. Меню вывести в окне, расположенном в центре экрана. Выбор пункта меню осуществлять по нажатию цифры, соответствующей его номеру. При выборе пункта меню осуществлять обращение к процедуре-заглушке (пустая процедура, не выполняющая никаких алгоритмических действий), после выполнения которой вернуться к меню. Программа должна завершаться при выборе пункта меню «выход из программы».

Program primer6;

uses crt;

var

punkt: char;

procedure punkt1;

begin

textmode(co80); textcolor(13); textbackground(0);

clrscr;

writeln ('Первый пункт меню');

delay (3000);

clrscr;

end;

procedure punkt2;

begin

textmode(co80); textcolor(13); textbackground(0);

clrscr ;

writeln ('Второй пункт меню');

delay (3000);

clrscr;

end;

begin

textmode(co80);

repeat

window(25,8,55,17);

textbackground(11) ;

textcolor(1);

clrscr;

gotoxy(5,2); write('1. Ввод данных ');

gotoxy(5,4); write('2. Обработка данных');

gotoxy(5,6); write('3. Выход из программы');

punkt:=readkey;

case punkt of

'1': punkt1;

'2': punkt2;

end;

until punkt='3';

end.

Задание для самостоятельной работы: Написать программу тестирования. Тест, последовательность вопросов и варианты ответов должны находиться в текстовом файле. Тему для теста, вопросы, варианты ответов и интерфейс программы разработать самостоятельно.

Программа должна выставлять оценку по следующему правилу: ОТЛИЧНО – за правильные ответы на все вопросы, ХОРОШО – если испытуемый правильно ответил не менее, чем на 80% вопросов, УДОВЛЕТВОРИТЕЛЬНО – если правильных ответов более 60%, и ПЛОХО – если правильных ответов менее 60%.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]