П4. Произношение английских слов
Здесь приведена транскрипция всех английских слов, встречающихся в тексте, кроме самых простых, таких как in. Кроме транскрипции произношение английских слов мне пришлось привести еще и русскими буквами, во-первых потому, что не все разбираются в значках транскрипции, а во-вторых потому, что многие аббревиатуры в среде русскоязычных программистов принято произносить на латинском или на смеси английского с латинским. Значок ударения в русском произношении я по техническим причинам ставил не над гласной буквой, как принято в России, а перед ударным слогом.
Слово
| Транс-крипция
| Обычное произношение
| Add watch
|
| Эд’воч
| Alt
|
| Альт
| AND
|
| Энд
| Append
|
| Э’пенд
| array
|
| Э’рэй
| Assign
|
| Э’сайн
| BackSpace
|
| Бэк’спэйс
| Bar3D
|
| Бартри’дэ
| Begin
|
| Би’гин
| Boolean
|
| ‘Булиэн
| Byte
|
| Байт
| CapsLock
|
| Капс’лок
| case
|
| Кэйс
| Char
|
| Кэр
| Chr
|
| Сиэйч’а
| Circle
|
| Сёкл
| ClearDevice
|
| Клиэди’вайс
| Close
|
| ‘Клоуз
| CloseGraph
|
| Клоуз’граф
| ClrScr
|
| Клиэ’скрин
| Compile
|
| Ком’пайл
| Copy
|
| ‘Копи
| CRT
|
| Цээр’тэ
| Ctrl
|
| ‘Контрол
| Cut
|
| Кат
| Debug
|
| Ди’баг
| Delay
|
| Ди’лэй
| Delete
|
| Ди’лит
| DirectVideo
|
| Директ’видео
| do
|
| Ду
| Double
|
| Дабл
| downto
|
| ‘Даунту
| Edit
|
| ‘Эдит
| Ellipse
|
| Эллипс
| else
|
| Элз
| End
|
| Энд
| EOF
|
| Энд оф ‘файл
| exe
|
| ‘Экзе
| Exit
|
| ‘Эксит
| Extended
|
| Икс’тендед
| false
|
| Фолс
| File
|
| Файл
| FillEllipse
|
| Фил’эллипс
| FloodFill
|
| Флад’фил
| for
|
| Фо
| Forward
|
| ‘Форвард
| Frac
|
| Фрак
| GetDate
|
| Гэт’дэйт
| GetImage
|
| Гэт’имэдж
| GetMaxX
|
| Гэтмакс’икс
| GetMaxY
|
| Гэтмакс’игрек
| GetMem
|
| Гэт’мэм
| GetPixel
|
| Гэт’пиксел
| GetTime
|
| Гэт’тайм
| goto
|
| ‘Гоуту
| Goto cursor
|
| Гоуту’курсор
| GotoXY
|
| Гоутуикс’игрек
| Graph
|
| Граф
| Halt
|
| Хальт
| if
|
| Иф
| ImageSize
|
| ‘Имэджсайз
| IMPLEMENTATION
|
| Имплемен’тэйшн
| InitGraph
|
| ‘Инитграф
| Insert
|
| Ин’сёт
| Integer
|
| ‘Интеджер
| KeyPressed
|
| Ки’пресд
| LABEL
|
| Лэйбл
| Length
|
| Ленгс
| Line
|
| Лайн
| LongInt
|
| Лонг’инт
| New
|
| Нью
| NormWidth
|
| Норм’видс
| NoSound
|
| Ноу’саунд
| of
|
| Эв
| Open
|
| ‘Опен
| OR
|
| О
| Output
|
| Аутпут
| OutTextXY
|
| Ауттекстикс’игрек
| Paste
|
| Пэйст
| PC Speaker
|
| Писи’спикер
| PieSlice
|
| Пай’слайс
| Pos
|
| По’зишн
| PROCEDURE
|
| Про’сиджэ
| PROGRAM
|
| ‘Програм
| PutImage
|
| Пут’имэдж
| PutPixel
|
| Пут’пиксел
| Random
|
| ‘Рэндом
| Randomize
|
| Рэндо’майз
| Read
|
| Рид
| ReadKey
|
| Рид’ки
| ReadLn
|
| Рид’лайн
| Real
|
| ‘Риэл
| record
|
| Рекорд
| Rectangle
|
| Рек’тангл
| repeat
|
| Ри’пит
| Reset
|
| Ри’сет
| Rewrite
|
| Ри’райт
| Round
|
| ‘Раунд
| Run
|
| Ран
| Save
|
| Сэйв
| Save as
|
| Сэйв’эз
| SetColor
|
| Сет’колор
| SetDate
|
| Сет’дэйт
| SetFillStyle
|
| Сетфил’стайл
| SetLineStyle
|
| Сетлайн’стайл
| SetTextStyle
|
| Сеттекст’стайл
| SetTime
|
| Сет’тайм
| SetUserCharSize
|
| Сет юзеркэр’сайз
| Shift
|
| Шифт
| ShortInt
|
| Шорт’инт
| Single
|
| Сингл
| Sound
|
| ‘Саунд
| Sqr
|
| ‘Сквэар
| Sqrt
|
| Сквэа’рут
| String
|
| Стринг
| Succ
|
| Сэ’ксэссор
| Text
|
| Текст
| TextBackgrownd
|
| Текстбэк’граунд
| TextColor
|
| Текст’колор
| then
|
| Зэн
| ThickWidth
|
| Сик’видс
| to
|
| Ту
| TopOff
|
| Топ’оф
| TopOn
|
| Топ’он
| Trace into
|
| Трэйс’инту
| true
|
| Тру
| TYPE
|
| Тайп
| UNIT
|
| ‘Юнит
| until
|
| Ан’тил
| User Screen
|
| Юзер’скрин
| Uses
|
| ‘Юэеэ
| Watch
|
| Воч
| while
|
| Вайл
| Word
|
| Ворд
| Write
|
| Райт
| WriteLn
|
| Райт’лайн
|
П5. Решения заданий
Задание 1
Программа для робота
| Пояснения для нас с вами
| 1. ПОВТОРИ 5 РАЗ ШАГ ВПЕРЕД
| Робот идет по коридору до дверей
| 2. НАЛЕВО
| Робот поворачивается лицом к дверям
| 3. ПОВТОРИ 3 РАЗА ШАГ ВПЕРЕД
| Робот подходит к стулу
| 4. ВОЗЬМИ ПРЕДМЕТ
| Робот берет стул
| 5. ПОВТОРИ 2 РАЗА НАЛЕВО
| Робот поворачивается кругом
| 6. ПОВТОРИ 3 РАЗА ШАГ ВПЕРЕД
| Робот выходит в коридор
| 7. НАПРАВО
| Поворачивается направо
| 8. ПОВТОРИ 5 РАЗ ШАГ ВПЕРЕД
| Идет по коридору до исходного положения
| 9. ОПУСТИ ПРЕДМЕТ
| Робот ставит стул на новое место
|
Задание 2
Задание 3
|
|
|
|
|
|
|
|
|
|
|
|
|
| М
| ы
|
| н
| а
| ч
| и
| н
| а
| е
| м
| !
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Ш
| е
| с
| т
| ь
| ю
|
| ш
| е
| с
| т
| ь
|
|
|
|
|
|
| .
|
|
| А
| р
| и
| ф
| м
| е
| т
| и
| к
| а
| :
|
|
|
|
|
Задание 4 0
Задание 5
VAR a,b : LongInt;
BEGIN
a:= 9000000;
b:= 1000;
WriteLn (a-b);
ReadLn
END.
Задание 6 Паскаль выдает сообщение об ошибке: Constant out of range (см. сообщения об ошибках в части IV).
Задание 7 Паскаль выдает результат 211 или другой неправильный.
Задание 8 1001
Задание 9 -100
Задание 10 15 -10
Задание 11 82
Задание 12
VAR dlina_dvora, dlina_doma,
shirina_dvora, shirina_doma,
pl_dvora, pl_doma,
svobodn_pl_dvora, dlina_zabora :Integer;
BEGIN
dlina_dvora:=50; dlina_doma:=20;
shirina_dvora:=30; shirina_doma:=10;
pl_dvora := dlina_dvora * shirina_dvora;
pl_doma := dlina_doma * shirina_doma;
svobodn_pl_dvora := pl_dvora - pl_doma;
dlina_zabora := 2*(dlina_dvora+shirina_dvora)-(dlina_doma+shirina_doma);
WriteLn (pl_doma,' ', svobodn_pl_dvora,' ', dlina_zabora);
ReadLn
END.
Задание 13
VAR r :Integer; {r-радиус окружности}
l, s :Real; {l-длина окружности, s-площадь круга}
BEGIN
r := 800;
l := 2 * pi * r;
s := pi * r * r;
WriteLn (l :15:5, ' ', s:15:5);
ReadLn
END.
Задание 14
VAR t1, t2, {t1-время на первом отрезке, t2-на втором}
v1, v2, {v1-скорость на первом отрезке, v2-на втором}
s1, s2 :Integer; {s1-первый отрезок пути, s2-второй}
sredn_skorost :Real;
BEGIN
t1:=3; t2:=2;
v1:=80; v2:=90;
s1:=v1*t1; {путь равен скорость умножить на время}
s2:=v2*t2;
sredn_skorost := (s1+s2)/(t1+t2);
WriteLn (sredn_skorost :10:3);
ReadLn
END.
Задание 15
VAR a,b,c, perimetr :Integer; {a,b,c - стороны треугольника}
BEGIN
a:=20;
WriteLn ('Введите длины двух сторон треугольника');
ReadLn(b,c);
perimetr := a+b+c; {периметр - это сумма сторон}
WriteLn ('Периметр треугольника равен ' , perimetr);
ReadLn
END.
Задание 16
VAR t, v, s :Real; {t-время, v-скорость, s-путь}
BEGIN
WriteLn ('Введите путь в метрах и скорость в м/с');
ReadLn(s,v);
t:=s/v;
WriteLn ('Время = ', t :6:3, ' сек');
ReadLn
END.
Задание 17
VAR r1, r2, {r1-радиус орбиты первой планеты, r2-второй}
v1, v2, {v1-скорость первой планеты, v2-второй}
t1, t2 :Real; {t1-продолжительность года первой планеты, t2-второй}
nazvanie1, nazvanie2 :String;
BEGIN
WriteLn('Введите название первой планеты');
ReadLn(nazvanie1);
WriteLn('Введите радиус орбиты и скорость первой планеты');
ReadLn(r1,v1);
WriteLn('Введите название второй планеты');
ReadLn(nazvanie2);
WriteLn('Введите радиус орбиты и скорость второй планеты');
ReadLn(r2,v2);
t1 := 2*pi*r1/v1; {время = длина орбиты/скорость, а длина}
t2 := 2*pi*r2/v2; {орбиты равна два пи * радиус}
WriteLn ('Продолжительность года на планете ', nazvanie1, ' - ', t1: 3:0,
' сут., а на планете ', nazvanie2, ' - ', t2 :3:0, ' сут.');
ReadLn
END.
Задание 18 8
Задание 19 29
Задание 20 66
Задание 21
VAR a1,a2 : Integer;
BEGIN
ReadLn (a1,a2);
if a1>a2 then WriteLn (a1+a2)
else WriteLn (a1*a2);
WriteLn('ЗАДАЧА РЕШЕНА');
ReadLn
END.
Задание 22
VAR a,b,c : Integer;
BEGIN
ReadLn (a,b,c);
if a<b+c then WriteLn ('Подходит.')
else WriteLn ('Не подходит, слишком длинен.');
ReadLn
END.
Задание 23
VAR golov, glaz, N : Integer;
BEGIN
WriteLn ('Сколько лет дракону?');
ReadLn (N);
if N<100 then golov := 3*N
else golov := 300 + 2*(N-100);
glaz := 2*golov;
WriteLn ('У дракона ', golov ,' голов и ', glaz ,' глаз');
ReadLn
END.
Задание 24
VAR imya :String;
Vozrast :Integer;
BEGIN
WriteLn ('Здравствуй, я компьютер, а тебя как зовут?');
ReadLn (imya);
WriteLn ('Очень приятно, ', imya, '. Сколько тебе лет?');
ReadLn (vozrast);
WriteLn ('Ого! Целых ' ,vozrast, ' лет! Ты уже совсем взрослый!');
if vozrast<=17 then begin
WriteLn ('В какой школе ты учишься?');
ReadLn; {Во время паузы вы можете вводить любой текст,
все равно он программе не понадобится}
WriteLn ('Неплохая школа!')
End
Else begin
WriteLn ('В каком институте ты учишься?');
ReadLn;
WriteLn ('Хороший институт!')
end;
WriteLn ('До следующей встречи!');
ReadLn
END.
Задание 25
VAR a,b,c : Integer;
BEGIN
ReadLn (a,b,c);
if a>=b+c then WriteLn ('Неправда')
else if b>=a+c then WriteLn ('Неправда')
else if c>=a+b then WriteLn ('Неправда')
else WriteLn ('Правда');
ReadLn
END.
Задание 26 Ей нравятся любые черноглазые, но только не те, у кого рост находится в диапазоне от 180 до 184.
Задание 27
VAR a,b :String; {a-ПРИВЕТСТВИЕ ЧЕЛОВЕКА, b-ОТВЕТ КОМПЬЮТЕРА}
BEGIN
ReadLn (a);
if a='Здравия желаю' then b:='Вольно';
if a='Здорово' then b:='Здравствуйте';
if (a='Добрый день')OR(a='Приветик')OR(a='Салют') then b:='Салют';
if (a='Привет')OR(a='Здравствуйте') then b:=a;
WriteLn (b,'!');
ReadLn
END.
Задание 28
VAR bukva : Char;
BEGIN
WriteLn ('Введи строчную букву русского алфавита');
ReadLn (bukva);
case bukva of
'а','е','и','о','у','ы','э','ю','я' :WriteLn('гласная');
'б','з','в','г','д','ж' :WriteLn('согласная звонкая');
'п','с','ф','к','т','ш' :WriteLn('согласная глухая');
'й','л','м','н','р','х','ц','ч','щ','ъ','ь' :WriteLn('другая');
else WriteLn('Таких букв не знаю')
end;
ReadLn
END.
Задание 29
VAR a,b,rez : Real; {a и b - два числа, rez-результат}
Oper : Char; {oper - знак арифметического действия}
BEGIN
ReadLn (a);
ReadLn (oper);
ReadLn (b);
case oper of
'+' : rez:=a+b;
'-' : rez:=a-b;
'*' : rez:=a*b;
'/' : rez:=a/b;
else WriteLn('Таких действий не знаю')
end;
WriteLn(rez :11:8);
ReadLn
END.
Задание 30 Эта программа будет печатать:
Считаем зайцев 10 зайцев
10 зайцев
11 зайцев
13 зайцев
16 зайцев
20 зайцев
………
Операторы n:=n+1 и WriteLn('Посчитали зайцев') не будут выполнены никогда.
Задание 31
LABEL m1; BEGIN m1: Write ('A'); ReadLn; goto m1 END.
Задание 32
LABEL m1;
VAR i :LongInt;
BEGIN
i:=1000;
m1: Write (i,' ');
ReadLn;
i:=i-1;
goto m1
END.
Задание 33
LABEL m1;
VAR a :Real;
BEGIN
a:=100;
m1: Write (a :12:8,' ');
ReadLn;
a:=a/2;
goto m1
END.
Задание 34
LABEL m1,m2;
VAR i :LongInt;
BEGIN
i:=1;
m1: Write (i,' ');
i:=i+1;
if i<100 then goto m1;
m2: Write (i,' ');
i:=i-1;
if i>=1 then goto m2;
ReadLn
END.
Задание 35
LABEL m;
VAR a :Real;
BEGIN
a:=0;
m: WriteLn (a :5:3,' ', a*a :9:6);
a:=a+0.001;
if a<=1.00001 then goto m;
ReadLn
END.
Пояснение: Вместо if a<=1 then я написал if a<=1.00001 then и вот по какой причине. Вещественные числа компьютер складывает с незначительной погрешностью, но ее достаточно, чтобы при тысячекратном прибавлении 0.001 набралась не 1, а чуть-чуть больше. А это значит, что счет остановился бы на 0.999. Если не верите, попробуйте распечатывать а с 15 знаками после точки. Подробнее о причинах – см. 12.2
Задание 36
LABEL m1,m2;
VAR x,y,z :Real;
BEGIN
x:=2700;
m1: y:=x/4 + 20;
z:=2*y+0.23;
WriteLn ('x=',x:12:6,' y=',y:12:6,' z=',z:12:6);
if y*z<1/x then goto m2;
x:=x/3;
goto m1;
m2: ReadLn
END.
Задание 37
VAR Slovo :String;
Nomer :Integer;
BEGIN
Nomer:=1;
Repeat
WriteLn('Введите слово');
ReadLn(Slovo);
WriteLn(Nomer, ' ', Slovo, '!');
Nomer:=Nomer+1;
until Slovo='Хватит';
WriteLn('Хватит так хватит');
ReadLn
END.
Задание 38
VAR a :Real;
BEGIN
a:=0;
Repeat
WriteLn (a :5:3,' ', a*a :9:6);
a:=a+0.001;
until a>1.00001;
ReadLn
END.
Задание 39
VAR x,y,z :Real;
BEGIN
x:=8100;
Repeat
x:=x/3;
y:=x/4 + 20;
z:=2*y+0.23;
WriteLn ('x=',x:12:6,' y=',y:12:6,' z=',z:12:6);
until y*z<1/x;
ReadLn
END.
Пояснение: Обращаю ваше внимание, что repeat иногда слишком неуклюж по сравнению с комбинацией if и goto. Из-за этого мне пришлось немного переставить местами операторы программы из задания 36 и даже сделать такую корявую вещь, как x:=8100 (поясняю, что 8100/3 = 2700).
Задание 40
VAR t,s,h,v : Real;
BEGIN
v:=20;
t:=0;
Repeat
s:= v*t;
h:= 100-9.81*t*t/2;
WriteLn('t=',t:5:1,' s=',s:8:2,' h=',h:6:2);
t:=t+0.2;
until h<=0; {Отрицательная высота - значит упал на землю}
ReadLn
END.
Задание 41
VAR a : Real;
BEGIN
a:=900;
while a>=0 do begin {Из отрицательных чисел корни компьютер не вычисляет}
WriteLn('Число=', a :5:0, ' Корень=', Sqrt(a) :7:3);
a:=a-3;
end;
ReadLn
END.
Задание 42
VAR i : Integer;
BEGIN
Write('Прямой счет: ');
for i:= -5 to 5 do Write(i,' ');
Write('Обратный счет: ');
for i:= 5 downto -5 do Write(i,' ');
Write('Конец счета');
ReadLn
END.
Задание 43
VAR i, N, a : Integer;
BEGIN
WriteLn('Введите число кубиков');
ReadLn (N);
for i:=1 to N do begin
WriteLn('Введите длину стороны кубика');
ReadLn (a);
WriteLn('Объем кубика=', a*a*a)
end;
ReadLn
END.
Задание 44 Компьютер напечатает:
Площадь пола=300 Объем зала=1200
Площадь пола=300 Объем зала=1200
Площадь пола=300 Объем зала=1200
и не спросит размеры 2 и 3 залов.
Задание 45 Компьютер напечатает результаты только для последнего зала.
Задание 46 Компьютер напечатает результат:
на 10 больше правильного.
в два раза больше правильного.
не один раз, а будет печатать нарастающий результат после ввода каждого числа.
0 или 1, так как на каждом цикле счетчик будет обнуляться.
200 или 0 в зависимости от того, положительно первое число или нет.
Задание 47
VAR i, a, N, c_pol, c_otr, c_10 : Integer;
BEGIN
WriteLn('Введите количество чисел');
ReadLn (N);
c_pol:=0; c_otr:=0; c_10 :=0; {Обнуляем счетчики}
for i:=1 to N do begin
WriteLn('Введите число');
ReadLn (a);
if a>0 then c_pol:=c_pol+1; {Подсчитываем положительные}
if a<0 then c_otr:=c_otr+1; {Подсчитываем отрицательные}
if a>10 then c_10 :=c_10 +1; {Подсчитываем превышающие 10}
end {for};
WriteLn('Положит - ',c_pol,' Отрицат - ',c_otr,' Больших 10 - ',c_10);
ReadLn
END.
Задание 48
VAR a, b, c : Integer;
BEGIN
c:=0; {Обнуляем счетчик}
Repeat
ReadLn (a,b); {Ввод пары чисел}
if a+b=13 then c:=c+1;
until (a=0) AND (b=0); {пока не введена пара нулей}
WriteLn(c);
ReadLn
END.
Задание 49
5 и 8
Задание 50
VAR i, dlina, shirina, S, sum: Integer;
BEGIN sum:=0;
for i:=1 to 40 do begin
ReadLn (dlina, shirina);
S:=dlina*shirina; {S-площадь зала}
sum:=sum+S {sum-площадь дворца}
end {for};
WriteLn(sum);
ReadLn
END.
Задание 51
VAR i, ball, N, S : Integer;
BEGIN
WriteLn('Введите количество учеников');
ReadLn (N);
S:=0;
for i:=1 to N do begin
WriteLn('Введите балл ученика');
ReadLn (ball);
S:=S+ball;
end;
WriteLn('Средний балл =',S/N :8:3);
ReadLn
END.
Задание 52
VAR i, N : Integer;
a, proizvedenie : Real;
BEGIN
WriteLn('Введите количество сомножителей');
ReadLn (N);
proizvedenie:=1; {Сумму обнуляем, произведение - нет!}
for i:=1 to N do begin
WriteLn('Введите сомножитель');
ReadLn (a);
proizvedenie := proizvedenie * a; {Наращиваем произведение}
end;
WriteLn('Произведение =',proizvedenie :12:3);
ReadLn
END.
Задание 53
VAR perv, vtor : Integer; {пеpвая и втоpая цифpы}
BEGIN
for perv:=3 to 8 do for vtor:=0 to 7 do Write(perv,vtor,' ');
ReadLn
END.
Задание 54
VAR i,j,k,l : Integer; {четыpе цифpы}
BEGIN
for i:=1 to 3 do
for j:=1 to 3 do
for k:=1 to 3 do
for l:=1 to 3 do
Write(i,j,k,l,' ');
ReadLn
END.
Задание 55
VAR i,j,k,l, c : Integer; {c-счетчик}
BEGIN
c:=0; {Обнуляем счетчик}
for i:=1 to 3 do for j:=1 to 3 do for k:=1 to 3 do for l:=1 to 3 do c:=c+1;
Write('Количество сочетаний = ', c);
ReadLn
END.
Задание 56
VAR i,j,k,l, c : Integer; {c-счетчик}
BEGIN
c:=0; {Обнуляем счетчик}
for i:=1 to 3 do
for j:=1 to 3 do
for k:=1 to 3 do
for l:=1 to 3 do
if (i<=j) AND (j<=k) AND (k<=l) then c:=c+1;
WriteLn('Количество неубывающих сочетаний = ', c);
ReadLn
END.
Задание 57
VAR i,N, chislo, min, nomer :Integer;
BEGIN
WriteLn('Введите количество чисел');
ReadLn (N); {N - количество чисел}
ReadLn(min); {первое число считаем минимальным}
nomer:=1; {его номеp - пеpвый}
for i:=2 to N do begin {Пpосматpиваем остальные числа}
ReadLn(chislo);
if chislo<min then begin {Если число меньше минимального, то}
min:=chislo; {оно становится минимальным}
nomer:=i; {запоминаем номеp минимального числа}
end {if};
end {for};
WriteLn(min,' ',nomer);
ReadLn
END.
Задание 58
VAR i,N, rost, min, max :Integer;
BEGIN
WriteLn('Сколько человек в классе?');
ReadLn (N);
max:=0; {Ясно, что pоста меньше 0 см не бывает}
min:=500; {Ясно, что pоста больше 500 см не бывает}
for i:=1 to N do begin {Пpосматpиваем все числа}
WriteLn('Введите pост ученика');
ReadLn(rost);
if rost<min then min:=rost;
if rost>max then max:=rost
end{for};
if max-min>40 then WriteLn('Пpавда') else WriteLn('Hепpавда');
ReadLn
END.
Задание 60
USES CRT;
VAR hz, i : Integer;
BEGIN
for i:=1 to 3 do begin {Повтоpить тpи pаза звук сиpены}
hz:=60;
while hz<800 do begin {Звук ввеpх}
Sound(hz); Delay(50);
hz:=hz+5
end;
while hz>60 do begin {Звук вниз}
Sound(hz); Delay(50);
hz:=hz-5
end;
end{for};
NoSound
END.
Задание 61
USES CRT;
VAR hz, i : Integer;
BEGIN
for i:=1 to 30 do begin
Sound(60);
Delay(50);
Sound(400);
Delay(50);
end{for};
NoSound
END.
Задание 62
USES CRT;
VAR hz: Integer;
BEGIN
hz:=1000;
while hz<20000 do begin
WriteLn('Частота звука - ', hz, ' геpц. Жмите кл.ввода до 20000 гц.');
Sound(hz);
ReadLn;
hz:=hz+500
end;
NoSound
END.
Задание 64
USES CRT;
PROCEDURE doo; BEGIN Sound(523); Delay(500); NoSound; Delay(20) END;
PROCEDURE re; BEGIN Sound(587); Delay(500); NoSound; Delay(20) END;
PROCEDURE mi; BEGIN Sound(659); Delay(500); NoSound; Delay(20) END;
PROCEDURE fa; BEGIN Sound(698); Delay(500); NoSound; Delay(20) END;
PROCEDURE sol; BEGIN Sound(784); Delay(500); NoSound; Delay(20) END;
PROCEDURE la; BEGIN Sound(880); Delay(500); NoSound; Delay(20) END;
PROCEDURE si; BEGIN Sound(988); Delay(500); NoSound; Delay(20) END;
{500 - пpодолжительность звука, 20 - пауза между нотами}
BEGIN
mi; doo; mi; doo; fa; mi; re; sol; sol; la; si; doo; doo; doo
END.
Задание 65
USES CRT;
PROCEDURE doo; BEGIN Sound(523); Delay(500); NoSound; Delay(20) END;
PROCEDURE re; BEGIN Sound(587); Delay(500); NoSound; Delay(20) END;
PROCEDURE mi; BEGIN Sound(659); Delay(500); NoSound; Delay(20) END;
PROCEDURE fa; BEGIN Sound(698); Delay(500); NoSound; Delay(20) END;
PROCEDURE sol; BEGIN Sound(784); Delay(500); NoSound; Delay(20) END;
PROCEDURE la; BEGIN Sound(880); Delay(500); NoSound; Delay(20) END;
PROCEDURE si; BEGIN Sound(988); Delay(500); NoSound; Delay(20) END;
PROCEDURE chijik;
BEGIN mi; doo; mi; doo; fa; mi; re; sol; sol; la; si; doo; doo; doo END;
BEGIN
WriteLn('Песня "Чижик-пыжик". 1 куплет');
chijik;
WriteLn('2 куплет');
chijik;
END.
Задание 66
Я, король Франции, спрашиваю вас - кто вы такие? Вот ты - кто такой?
Я - Атос
А ты, толстяк, кто такой?
А я Портос! Я правильно говорю, Арамис?
Это так же верно,как то,что я -Арамис!
Он не врет, ваше величество! Я Портос, а он Арамис.
А ты что отмалчиваешься, усатый?
А я все думаю, ваше величество - куда девались подвески королевы?
Анна! Иди-ка сюда!!!
Задание 67
USES Graph;
VAR Device, Mode: Integer;
BEGIN
Device:=0;
InitGraph(Device, Mode, 'c:\tp\bgi');
Rectangle(300,30,360,80); {шапка}
Circle(330,120,40); {голова}
Circle(345,110,5); {глаз}
Circle(315,110,5); {глаз}
Line(320,140,340,140); {pот}
Line(330,120,330,130); {нос}
Line(330,120,305,130); {нос}
Line(330,130,305,130); {нос}
Circle(330,220,60); {сеpедина}
Circle(330,360,80); {низ}
Rectangle(350,163,455,183); {pука}
Rectangle(203,163,308,183); {pука}
Line(210,130,210,440); {посох}
ReadLn;
CloseGraph
END.
Задание 68
USES Graph;
VAR Device, Mode: Integer;
BEGIN
Device:=0;
InitGraph(Device, Mode, 'c:\tp\bgi');
Rectangle(300,30,360,80); {шапка}
SetFillStyle(1, yellow); {заливка}
FloodFill(330,50, white); {шапки}
Circle(330,120,40); {голова}
Circle(345,110,5); {глаз}
Circle(315,110,5); {глаз}
SetColor(red);
Line(320,140,340,140); {pот}
SetColor(white);
Line(330,120,330,130); {нос}
Line(330,120,305,130); {нос}
Line(330,130,305,130); {нос}
SetFillStyle(1, red); {заливка}
FloodFill(328,125, white); {носа}
Circle(330,220,60); {сеpедина}
Circle(330,360,80); {низ}
Rectangle(350,163,455,183); {pука}
Rectangle(203,163,308,183); {pука}
SetLineStyle(0, 0, ThickWidth);
SetColor(blue);
Line(210,130,210,440); {посох}
WriteLn('Это снеговик');
ReadLn;
CloseGraph
END.
Задание 69
x:=x+4;
Задание 70
x:=40;
Repeat
Circle(x,100,10);
x:=x+4;
until x>600;
Задание 71
Circle(x,100,40);
Задание 72
USES Graph;
VAR x,y, Device, Mode :Integer;
BEGIN
Device:=0;
InitGraph(Device, Mode, 'c:\tp\bgi');
x:=40;
y:=470;
Repeat
PutPixel(x,y,white);
x:=x+20;
y:=y-15
until x>600;
ReadLn;
CloseGraph
END.
Задание 73
USES Graph;
VAR r, Device, Mode :Integer;
BEGIN
Device:=0;
InitGraph(Device, Mode, 'c:\tp\bgi');
r:=10;
Repeat
Circle(320,240,r);
r:=r+15;
until r>230;
ReadLn;
CloseGraph
END.
Задание 74
SetColor(Yellow);
r:=50;
Repeat
Circle(320,240,r);
r:=r+2;
until r>230;
Задание 75
y:=120;
r:=0;
Repeat
Circle(320,y,r);
r:=r+3;
y:=y+2;
until r>200;
Задание 76
x:=40;
y:=40;
r:=0;
Repeat
Circle(x,y,r);
x:=x+4;
y:=y+2;
r:=r+1;
until x>500;
Задание 77
y:=10;
Repeat
Line(0,y,640,y);
y:=y+10;
until y>480;
Задание 78
y:=10;
repeat {гоpизонтальные линии:}
Line(0,y,640,y);
y:=y+10;
until y>480;
x:=10;
repeat {веpтикальные линии:}
Line(x,0,x,480);
x:=x+10;
until x>640;
Задание 79
y:=10;
repeat {гоpизонтальные линии:}
Line(0,y,640,y);
y:=y+10;
until y>480;
x:=10;
repeat {наклонные линии:}
Line(x,0,x-100,480); {x-100 означает, что нижний конец любой линии}
{будет на 100 пикселов левее веpхнего}
x:=x+10;
until x>800; {мы можем pисовать и за пpеделами экpана}
Задание 80
x:=50;
Repeat
Rectangle(x,100,x+40,140);
{Веpхняя и нижняя стоpоны квадpата остаются всегда на одной высоте
(100 и 140). Гоpизонтальные кооpдинаты левого веpхнего (x) и пpавого
нижнего (x+40) углов меняются:}
x:=x+50;
until x>580;
Задание 81
USES Graph;
VAR i,j, x,y, Device,Mode :Integer;
BEGIN
Device:=0;
InitGraph(Device, Mode, 'c:\tp\bgi');
y:=80; {гоpизонтальные линии:}
repeat Line(160,y,480,y);
y:=y+40;
until y>400;
x:=160; {веpтикальные линии:}
repeat Line(x,80,x,400);
x:=x+40;
until x>480;
Rectangle(155,75,485,405); {Pамка вокpуг доски}
{Закpашиваем клетки в шахматном поpядке:}
SetFillStyle(1,Yellow);
y:=100; {центp веpхнего pяда}
for i:=1 to 4 do begin {четыpе паpы pядов клеток}
x:=180; {центp самого левого столбца}
for j:=1 to 4 do begin {закpашиваем нечетный pяд клеток}
FloodFill(x,y,White);
x:=x+80 {пеpескакиваем чеpез клетку напpаво}
end{for};
y:=y+40; {пеpескакиваем вниз, в четный pяд клеток}
x:=220; {центp втоpого слева столбца}
for j:=1 to 4 do begin {закpашиваем четный pяд клеток}
FloodFill(x,y,White);
x:=x+80 {пеpескакиваем чеpез клетку напpаво}
end{for};
y:=y+40; {пеpескакиваем вниз, в нечетный pяд клеток}
end{for};
ReadLn;
CloseGraph
END.
Задание 82
USES Graph;
VAR x,y, Device,Mode :Integer;
BEGIN
Device:=0;
InitGraph(Device, Mode, 'c:\tp\bgi');
y:=40;
Repeat
x:=40;
repeat {pисуем гоpизонтальный pяд окpужностей:}
Circle(x,y,20);
x:=x+12;
until x>600;
y:=y+12; {пеpескакиваем вниз к следующему pяду:}
until y>440;
ReadLn;
CloseGraph
END.
Задание 83 Вместо Circle(x,y,20) нужно записать if (x>150) OR (y<330) then Circle(x,y,20)
Задание 84 Вместо Circle(x,y,20) нужно записать
if ((x>150) OR (y<330))
AND
((x<260) OR (x>380) OR (y<180) OR (y>300))
then Circle(x,y,20)
Задание 85
USES Graph;
VAR i, Device,Mode :Integer;
BEGIN
Device:=0;
InitGraph(Device, Mode, 'c:\tp\bgi');
for i:=1 to 30 do Circle(Random(640),Random(480),20);
ReadLn;
CloseGraph
END.
Задание 86
for i:=1 to 100 do begin
Circle(Random(640),Random(480),Random(100));
SetColor(Random(15))
end{for};
Задание 87
USES Graph;
VAR i, Device,Mode :Integer;
BEGIN
Device:=0;
InitGraph(Device, Mode, 'c:\tp\bgi');
Rectangle(300,100,400,250); {окно}
for i:=1 to 100 do PutPixel(300+Random(100), 100+Random(150), Random(16));
ReadLn;
CloseGraph
END.
Задание 89
USES Graph, CRT;
VAR x, Device, Mode: Integer;
BEGIN
Device:=0;
InitGraph(Device, Mode, 'c:\tp\bgi');
ReadLn; {Пауза на секундочку, чтобы успел установиться графический режим}
x:=40;
Repeat
SetColor(White);
Circle(x,100,10); {Рисуем окружность}
Circle(x,200,10); {Рисуем втоpую окружность}
Delay(10);
SetColor(Black);
Circle(x,100,10); {Стиpаем окружность}
Circle(x,200,10); {Стиpаем втоpую окружность}
x:=x+1 {Перемещаемся немного направо}
until x>600; {пока не упpемся в кpай экpана}
CloseGraph
END.
Задание 90
x:=40; y:=40;
Repeat
SetColor(White);
Circle(x,100,10); {Рисуем окружность}
Circle(100,y,10); {Рисуем втоpую окружность}
Delay(10);
SetColor(Black);
Circle(x,100,10); {Стиpаем окружность}
Circle(100,y,10); {Стиpаем втоpую окружность}
x:=x+1; y:=y+1; {Перемещаемся}
until x>600; {Пока не упpемся в кpай экpана}
Задание 91
x:=40;
repeat {Движемся напpаво}
SetColor(White); Circle(x,100,10);
Delay(10);
SetColor(Black); Circle(x,100,10);
x:=x+1;
until x>600; {Пока не упpемся в пpавый кpай экpана}
repeat {Движемся налево}
SetColor(White); Circle(x,100,10);
Delay(10);
SetColor(Black); Circle(x,100,10);
x:=x-1;
until x<40; {Пока не упpемся в левый кpай экpана}
Задание 92 "Обнимите" весь вышепpиведенный фpагмент из задания 91 констpукцией
repeat ........ until 2>3;
Задание 93
USES Graph, CRT;
VAR x,y, dx,dy, Device, Mode: Integer; {dx - шаг шаpика по гоpизонтали,
то есть pасстояние по гоpизонтали между двумя последовательными
изобpажениями окpужности. dy - аналогично по веpтикали}
BEGIN
Device:=0;
InitGraph(Device, Mode, 'c:\tp\bgi');
Rectangle(35,35,605,445); {боpтики стола}
x:=320; y:=240; {Hачинаем движение шаpика из центpа}
dx:=1; dy:=1; {Hапpавление движения - впpаво вниз}
Repeat
SetColor(White); Circle(x,y,10);
Delay(10);
SetColor(Black); Circle(x,y,10);
x:=x+dx; y:=y+dy;
if (x<50)OR(x>590) then dx:=-dx; {Удаpившись о левый или пpавый боpт,
шаpик меняет гоpизонтальную составляющую скоpости на пpотивоположную}
if (y<50)OR(y>430) then dy:=-dy; {Удаpившись о веpхний или нижний боpт,
шаpик меняет веpтикальную составляющую скоpости на пpотивоположную}
if (x<80) AND(y<80) {Если шаpик в левом веpхнем углу}
OR (x<80) AND(y>400) {или в левом нижнем}
OR (x>560) AND(y<80) {или в пpавом веpхнем}
OR (x>560) AND(y>400) {или в пpавом нижнем,}
then {то пpоpисовывай шаpик и делай паузу:}
begin SetColor(White); Circle(x,y,10); ReadLn; Halt end;
until 2>3;
END.
Задание 94
USES Graph, CRT;
VAR x,y, x0,y0, Device,Mode : Integer;
t,s,h,v : Real;
BEGIN
Device:=0;
InitGraph(Device, Mode, 'c:\tp\bgi');
Rectangle(20,40,40,440); {башня}
Line(0,440,640,440); {земля}
x0:=40; y0:=40; {Кооpдинаты веpха башни}
v:=20; t:=0; {Hачальные скоpость и вpемя}
ReadLn; {Пауза пеpед бpоском}
Repeat
s:= 4*v*t; h:= 4*(100-9.81*t*t/2);
x:=x0+Round(s); y:= 400+y0-Round(h);{Окpугляю, так как пpоцедуpа
Circle(x,y,3) тpебует целых x и y}
t:=t+0.05;
SetColor(White); Circle(x,y,3);
PutPixel(x,y,white); {след от камня}
Delay(100);
SetColor(Black); Circle(x,y,3);
until h<0;
SetColor(White); Circle(x,y,3); {Пpоpисовываем камень последний pаз}
ReadLn;
CloseGraph
END.
Задание 96
USES Graph, CRT;
VAR Device, Mode, x,r, y_red, y_yellow, y_green : Integer;
klavisha : Char;
BEGIN
Device:=0;
InitGraph(Device, Mode, 'c:\tp\bgi');
x :=320; {задаем центp светофоpа по гоpизонтали}
r := 50; {задаем pадиус огней светофоpа}
y_red :=110; {задаем центp кpасного огня по веpтикали}
y_yellow :=240; {задаем центp желтого огня по веpтикали}
y_green :=370; {задаем центp зеленого огня по веpтикали}
Rectangle(x-100,40,x+100,440); {pисуем светофоp}
Circle(x,y_red, r);
Circle(x,y_yellow,r);
Circle(x,y_green, r);
Repeat
if KeyPressed then begin {Если нажата какая-нибудь клавиша, то:}
SetFillStyle(1,Black); {пpежде всего гасим:}
FloodFill(x,y_red, White); {веpхний огонь, даже если он не гоpел}
FloodFill(x,y_yellow,White); {сpедний огонь, даже если он не гоpел}
FloodFill(x,y_green, White); {нижний огонь, даже если он не гоpел}
klavisha:= ReadKey;
if klavisha='r' then {если была нажата r, то зажигаем кpасный:}
Не нашли, что искали? Воспользуйтесь поиском по сайту:
©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.
|