Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
П3. Список некоторых операций, процедур и функций Паскаля↑ ⇐ ПредыдущаяСтр 27 из 27 Содержание книги
Поиск на нашем сайте
Приведу список большинства пройденных нами операций и стандартных процедур и функций с указанием типа их параметров (или по-другому – аргументов и результата)
Математика 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; просмотров: 217; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.116.86.255 (0.015 с.) |