![]() Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву ![]() Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
П3. Список некоторых операций, процедур и функций ПаскаляСодержание книги
Поиск на нашем сайте
Приведу список большинства пройденных нами операций и стандартных процедур и функций с указанием типа их параметров (или по-другому – аргументов и результата)
Математика Sqr (A) аргумент A – любого числового типа, результат - того же типа, что и A Sqrt (A) аргумент A – любого числового типа, результат - того же типа, что и A Pi значение - вещественное Frac (A) аргумент A и результат - вещественные Int (A) аргумент A и результат - вещественные Round (A) аргумент A вещественный, результат - LongInt Abs (A) аргумент A – любого числового типа, результат - того же типа, что и A Random результат - вещественный Random (A) аргумент A и результат - Word Randomize процедура
A div B операнды A и B и результат операции div - только целочисленного типа A mod B операнды A и B и результат операции mod - только целочисленного типа
Модуль CRT Процедура или функция Смысл Sound (A:Word) звук NoSound нет звука Delay (A:Word) отсрочка ReadKey:Char читай клавишу KeyPressed:Boolean клавиша нажата TextColor (A:Byte) цвет текста TextBackground (A:Byte) цвет фона ClrScr очистка экрана GotoXY (X,Y:Byte) иди к икс игрек
Модуль Graph
InitGraph (d,m:Integer; path:String) инициализация графики CloseGraph закрытие графики
PutPixel (x,y:Integer; color:Word) поставь пиксел GetPixel (x,y:Integer):Word получи пиксел Line(x1,y1, x2,y2:Integer) отрезок прямой линии Rectangle (x1,y1, x2,y2:Integer) прямоугольник Bar (x1,y1, x2,y2:Integer) залитый прямоугольник Bar3D (x1,y1, x2,y2:Integer; tol:Word; top:Boolean) параллелепипед Circle (x,y:Integer; r:Word) окружность Arc (x,y:Integer; fi1,fi2,r:Word) дуга окружности PieSlice (x,y:Integer; fi1,fi2,r:Word) кусок пирога (залитый сектор круга) Ellipse (x,y:Integer; fi1,fi2, rx,ry:Word) эллипс Sector (x,y:Integer; fi1,fi2, rx,ry:Word) залитый сектор эллипса FillEllipse (x,y:Integer; rx,ry:Word) залитый эллипс
SetColor (color:Word) установить цвет линий SetLineStile (ls,uzor,tolsh:Word) установить стиль линий SetFillStyle(uzor,color:Word) установить стиль заливки FloodFill(x,y:Integer; granitsa:Word) заливка
GetMaxX:Integer получи максимальный икс GetMaxY:Integer получи максимальный игрек
GetImage (x1,y1, x2,y2:Integer; var A[12]) получи изображение PutImage (x1,y1:Integer; var A; mode:Word) помести изображение ImageSize (x1,y1, x2,y2:Integer) размер изображения
OutTextXY (x,y:Integer; stroka:String) вывод текста SetTextStyle (shrift,napravl,razmer:Word) установи стиль текста SetUserCharSize (A,B, C,D:Word) установи пользовательский размер символов Модуль DOS GetTime (var chas,min,sec,sotki:Word) получи время SetTime (chas,min,sec,sotki:Word) установи время GetDate (var god,mes,den,dennedeli:Word) получи дату
SetDate (god,mes,den:Word) установи дату Работа со строками Pos (s1,s:String):Byte позиция Length (s:String):Byte длина Copy (s:String; a,b:Integer):String копируй Delete (var s:String; a,b:Integer) удаляй Insert (var s:String; s1:String; a:Integer) вставляй Работа с файлами Assign (var f: Text; filename:String) упрощенно присвоить Rewrite (var f: Text) упрощенно переписать Reset (var f: Text) упрощенно переустановить Close (var f: Text) упрощенно закрыть Append (var f: Text) добавить Прочие Chr (A:Byte):Char символ GetMem(P:Pointer; razmer:Word) выдели память New (var p: Pointer) новый П4. Произношение английских слов Здесь приведена транскрипция всех английских слов, встречающихся в тексте, кроме самых простых, таких как in. Кроме транскрипции произношение английских слов мне пришлось привести еще и русскими буквами, во-первых потому, что не все разбираются в значках транскрипции, а во-вторых потому, что многие аббревиатуры в среде русскоязычных программистов принято произносить на латинском или на смеси английского с латинским. Значок ударения в русском произношении я по техническим причинам ставил не над гласной буквой, как принято в России, а перед ударным слогом.
П5. Решения заданий Задание 1
Задание 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 зайцев 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; {Перемещаемся}
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2016-07-11; просмотров: 224; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.217.178.170 (0.013 с.) |