Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
PASСAL_a4_2007.doc
Скачиваний:
31
Добавлен:
13.09.2019
Размер:
2.51 Mб
Скачать

Вопросы для контроля

  1. В каких случаях целесообразно использовать цикл FOR? WHILE? REPEAT?

  2. С помощью какого из циклов можно смоделировать два других?

  3. Какое минимальное количество раз выполняется тело цикла REPEAT? WHILE?

  4. При каком значении логического выражения (ТRUE или FALSE) завершается работа цикла WHILE? REPEAT?

  5. Может ли быть шаг цикла FOR равен 1? 2? -1? -2? 12? 1.75?

  6. Сколько раз исполнится цикл FOR в случае, если начальное значение счетчика на 4 меньше конечного? Начальное значение совпадает с конечным? Начальное значение больше конечного на 5? Рассмотрите все возможные случаи.

  7. Можно ли составить цикл, выполняющийся бесконечное количество раз с помощью конструкции WHILE? REPEAT? FOR?

  8. Найдите ошибку в приведенных фрагментах и определите, сколько раз выполнится данный цикл (если цикл не выполняется ни разу, то объясните, почему):

а) var s,i:real;

...

s:=0;

for i:=1 to 10 do

s:=s+i;

writeln(‘сумма=’,s);

...

б) var day: char;

month: integer;

...

day:=0;

for day:=’a’ to ‘z’ do

begin

if (ord(day) mod 7 =0)

then month:=month+1;

day:=pred(day)

end;

в) var money,tax: real;

...

money:=0; tax:=0.2;

while money <> 0 do

begin

write(‘Зарплата:’);

readln(money);

writeln(‘Зарплата=’,

money*tax)

end;

...

г) var Kol,Sum,Arg:integer;

...

Sum:=0; Kol:=0;

Repeat

Write(‘Число:’);

Readln(Arg);

Sum:=Sum+Arg

until Kol=20;

writeln(‘Сумма=’,Sum);

...

Лабораторная работа 12. Как управлять движением на экране дисплея, или след слона

Настало время, когда Вас следует посвятить в тайну управления движением объектов с помощью клавиш. Вспомните любую игру. Там, как правило, есть какой-либо объект (самолет, человечек, абракадабрик), который готов двигаться при нажатии клавиш со стрелками, прыгать при нажатии на <ПРОБЕЛ> и т.п. Давайте познакомимся с тем, как запрограммировать такое управление.

Для понимания этого процесса Вам необходимо знать следующее.

1. При нажатии на клавишу с символом (буквой, цифрой или другим отображаемым на экране знаком) в компьютер (точнее, в буфер ввода11) поступает код символа, соответствующий данной клавише. К “бук­вен­ным” относятся клавиши <ESC> и <TAB>.

2. При нажатии на управляющие или функциональные клавиши в компьютер поступает два кода: код 0, являющийся признаком того, что нажата несимвольная клавиша, и код, характеризующий конкретную управляющую или функциональную клавишу.

Давайте посмотрим, как это происходит.

Задание 1

Скопируйте в Ваш каталог файлы Readkey0.pas и Move_txt.pas из каталога PAS_TXT. Запустите среду Turbo Pascal.

Задание 2

Загрузите программу из файла readkey0.pas. Разберитесь в тексте программы. Используя программу, определите коды функциональных клавиш F1-F12 и клавиш со стрелками.

Задание 3

Загрузите в следующее окно программу из файла move_txt.pas. Разберитесь в тексте программы. Измените программу так, чтобы:

a) вместо следа рисовалась точка;

б) после нажатия на клавишу раздавался писк. Для этого можно использовать процедуры:

Sound(<частота_звука>);

delay(<время задержки работы программы>);

Nosound - отключения звука.

Например:

Sound(1000); Delay(300); NoSound;

в) программа завершала работу при нажатии на <F1>.

  • Продемонстрируйте модифицированную программу преподавателю.

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