Тема №9842 Ответы к задачам по информатике Паскаль 98 (Часть 1)
Поиск задачи:

Рассмотрим тему Ответы к задачам по информатике Паскаль 98 (Часть 1) из предмета Информатика и все вопросы которые связанны с ней. Из представленного текста вы познакомитесь с Ответы к задачам по информатике Паскаль 98 (Часть 1), узнаете ключевые особенности и основные понятия.

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

{1. Одна сторона прямоугольника на 5 см. длиннее другой, а сумма их длин равна 17 см. Найти стороны этого прямоугольника.}
uses crt;
var summa,raz,st:real;
storona1,storona2:real;
begin
ClrScr;
writeln('Введите сумму длин сторон прямоугольника');
readln(summa);
writeln('Введите на сколько одна сторона больше другой');
readln(raz);
st:= (summa - raz) / 2;
storona1:= st;
storona2:= st + raz;
write ('ширина-',storona1:7:2,'см.');
write ('длина-',storona2:7:2,'см.');
end.
{2. Нефтебаза отпустила за два дня 2560 л. бензина. Во второй день база отпустила на 280 л. больше. Сколько литров бензина база отпустила отдельно за каждый день? }
uses crt;
var summa,raz,st,day1,day2:real;
begin;
clrscr;
write('Сколько литров бензина отпустила нефтебаза за 2 дня');
readln(summa);
writeln('Введите на сколько отпущенное кол-во бензина одного дня больше чем другого');
readln(raz);
st:= (summa - raz) / 2.0;
day1:= st;
day2:= st + raz;
writeln('первый день-',day1:7:2,'л.');
writeln('второй день-',day2:7:2,'л.');
end.
{3. Одно число в 2 раза больше другого, а их сумма равна 93. Найти эти числа.}
uses crt;
var summa,raz,st,storona1,storona2:real;
begin
ClrScr;
writeln('Введите сумму двух чисел');
readln(summa);
writeln('Введите во сколько раз одно больше другого');
readln(raz);
st:= summa / (raz + 1);
storona1:= st;
storona2:= st * raz;
write ('1 число-',storona1:7:2,' ед.');
write ('2 число-',storona2:7:2,' ед.');
end.
{4. Составьте алгоритм и программу для определения сдачи после покупки в магазине товара: перчаток стоимостью а руб., портфеля стоимостью б руб., галстука стоимостью с руб. Исходная сумма, выделенная на покупку d руб. В случае нехватки денег сдача получится отрицательной.}
uses crt;
var change,per,por,gal,cash:longint;
begin;
clrscr;
write('введите стоимость перчаток-');
readln(per);
write('введите стоимость портфеля-');
readln(por);
write('введите стоимость галстука-');
readln(gal);
write('введите кол-во денег, имеущихся в наличии-');
readln(cash);
change:= cash - (per + por + gal);
writeln('Сдача - ',change,'руб.');
end.
{5.В течении месяца продавец доставлялна дом 4 л молока в день. В марте молоко стоило х руб за литр Спервого апреля цена молока увеличилась до [x+a] руб за литр Сколько надо заплатить продавцу за все доставленное молоко в конце апреля? Кол-во покупаемого молока осталось прежним}
uses crt;
var march,april,payment:real;
begin;
clrscr;
writeln('Введите стоимость отпускаемого молока в марте');
readln(march);
writeln('Введите стоимость отпускаемого молока в апреле');
readln(april);
payment:= march * 4 * 31 + april * 4 * 30;
writeln('Вы должны заплатить с 1-го марта по 30-е апреля включительно ',payment:7:2, ' руб.')
end.
{6. Хозяин хочет оклеить обоями длинную стену в своем доме. Длина этой стены равна а и высота б. Рулон обоев имеет длину 12 м и ширину 1 м. Сколько будут стоить обои для всей стены если цена одного рулона к руб}
uses crt;
var a,b,c,d,price,payment,k:real;
begin;
clrscr;
writeln('Введите параметры стены(высота)');
readln(a);
writeln('Введите параметры стены(ширина)');
readln(b);
writeln('Введите стоимость одного рулона обоев');
readln(price);
writeln('Введите длину рулона обоев)');
readln(d);
writeln('Введите ширину рулона обоев');
readln(c);
k:=b/((d/a)*c)+1;
payment:=k * price;
writeln('Обои для всей стены будут стоить ',payment:7:2,' руб.');
writeln('Вам потребуется купить',k,' рулонов');
end.
{7. Некоторый автомат может запросить два числа и выполнить 3 команды. Команда а преобразует имеющуюся пару чисел (х,у) в пару (х-у,у) команда б преобразует пару чисел (х,у) в пару (х+у,у) команда с преобразует пару (ч,у) в (у,х) Составьте алгоритм и программу работы автомата}
uses crt;
var x,y,number:integer;
begin;
Clrscr;
writeln('Введите число (x)');
readln(x);
writeln('Введите число (y)');
readln(y);
writeln('Какое преобразование следует выполнить:1.(x-y,y), 2.(x+y,y), 3.(y,x)');
readln(number);
case number of
1: writeln(x - y,',',y);
2: writeln(x + y,',', y);
3: writeln(y,',', x);
end;
end.
{8. Составьте алгоритм и программу выбирающую из трех чисел то которое лежит между двумя другими }
uses crt;
var a,b,c,low,high,mid:integer;
begin;
clrscr;
writeln('Введите три числа(после каждрого ENTER)');
readln(a);
readln(b);
readln(c);
low:=a;
high:=a;
IF b < low THEN low:=b;
IF c < low THEN low:= c;
IF b > high THEN high := b;
IF c > high THEN high := c;
IF low=a THEN begin
if high=b then mid:=c;
if high=c then mid:=b;
end;
IF low=b THEN begin
if high=c then mid:=a;
if high=a then mid:=c;
end;
IF low=c THEN begin
if high=a then mid:=b;
if high=b then mid:=a;
end;
writeln('Между ',low,' и ', high,' лежит ', mid);
end.
uses crt;
var choice,x,y:integer;
label 1,2;
begin;
clrscr;
writeln('Под какой буквой следует выполнить задание A(1) Б(2)');
readln(choice);
IF choice = 1 THEN GOTO 1;
IF choice = 2 THEN GOTO 2;
halt;
1:
clrscr;
writeln('Введите Х');
readln(x);
IF x >= 0 THEN writeln('Y=0');
IF x < 0 THEN writeln('Y=2*x', ' y=', x * 2);
halt;
2:
clrscr;
writeln('Введите Х');
readln(x);
IF x < 0 THEN writeln('Y=x^2', ' Y=', x *x);
IF x >= 0 THEN writeln('Y=-(x^2)', ' y=', -(x * x));
halt;
end.
{10. Определить в какие отряды распределят детей}
uses crt;
var adge:integer;
begin;
clrscr;
writeln('Введите возраст ребенка');
readln(adge);
IF (adge > 5) and (adge <= 7) THEN writeln('5-й отряд');
IF (adge > 7) AND (adge <= 9) THEN writeln('4-й отряд') ;
IF (adge > 9) AND (adge <= 11) THEN writeln('3-й отряд') ;
IF (adge > 11) AND (adge <= 13) THEN writeln('2-й отряд') ;
IF (adge > 13) AND (adge <= 15) THEN writeln('1-й отряд') ;
IF (adge < 6) OR (adge > 15) THEN writeln('В лагерь не допускается');
end.
{11 Построение треугольника по трем точкам}
uses crt,graph;
var x,x1,x2,y,y1,y2,gd,gm:integer;
a,b,c:real;
begin
clrscr;
writeln('Введите координаты первой точки (X и Y) после каждой коор. ENTER');
readln(x);
readln(y);
writeln('Введите координаты второй точки (X1 и Y1) после каждой коор. ENTER');
readln(x1);
readln(y1);
writeln('Введите координаты третьей точки (X2 и Y2) после каждой коор. ENTER');
readln(x2);
readln(y2);
a:=sqrt((x-x1)*(x-x1)+(y-y1)*(y-y1));
b:=sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
c:=sqrt((x2-x)*(x2-x)+(y2-y)*(y2-y));
if (a+b>c) and (c+b>a) and (a+c>b) then
begin
writeln('Построение треугольника провести можно ');
initgraph(gd,gm,'c:\bp\bgi');
line(x,y,x1,y1);
line(x1,y1,x2,y2);
line(x2,y2,x,y);
delay(3000);
end
else writeln('Треугольник не построится ');
end.
{12 Программа проверяющая выполняется ли условие существования треугольника}
uses crt;
var a,b,c:integer;
p,s:real;
begin
clrscr;
writeln('Введите длины сторон тр-ка (a,b,c)');
readln(a);
readln(b);
readln(c);
p:=a+b+c;
s:=sqr(p/2*(p/2-a)*(p/2-b)*(p/2-c));
if (a+b>c) and (a+c>b) and (c+b>a) then
begin
writeln('Периметр - ',p);
writeln('Площадь - ',s);
end
else writeln('Треугольник не существует');
end.
{13. Определить какая из двух точек находится дальше от: начала координат; окружности заданного радиуса с центром в начале координат }
uses crt;
var x1,x2,y1,y2,r:real;
begin;
clrscr;
writeln('Введите координаты первой точки (X и Y) после каждой коор. ENTER');
readln(x1);
readln(y1);
writeln('Введите координаты второй точки (X1 и Y1) после каждой коор. ENTER');
readln(x2);
readln(y2);
writeln('Введите радиус окружности(если нет, то r=0)');
readln(r);
{Т.к. координаты должны браться по модулю, то:}
x1:= SQR(x1*x1);
x2:= SQR(x2*x2);
y1:= SQR(y1 *y1);
y2:= SQR(y2 * y2);
IF r *r > x1 * x1 + y1 *y1 THEN writeln('Первая точка лежит в пределах окружности');
IF r * r > x2 *x2 + y2 *y2 THEN writeln('Вторая точка лежит в пределах окружности');
IF x1 * x1 + y1 *y1> x2 *x2 + y2 *y2 THEN
begin
writeln('первая точка находится дальше.');
end
else writeln ('вторая точка находится дальше.');
IF x1 * x1 + y1 *y1> x2 *x2 + y2 *y2 THEN
begin
writeln('Первая точка лежит дальше от окружности');
end
else writeln('Вторая точка лежит дальше от окружности');
end.
{14. Определите из двух девочек старшую}
uses crt;
var adge1,adge2:integer;
begin;
clrscr;
writeln('Введите годы рождения девочек (первой и второй после каждой ENTER)');
readln(adge1, adge2);
iF adge1 < adge2 THEN writeln('Первая девочка старше') ELSE writeln('Вторая девочка старше');
end.
{15. Вводятся оценки по физике и математике Выведи на экран "Молодец" если их сумма равна или более 9 в противном случае выведи "Подтянись"}
uses crt;
var a,b:integer;
begin;
clrscr;
writeln('Введите оценки за контрольные работы по физике и математике после каждого пред. Enter');
readln(a);
readln(b);
IF a + b >= 9 THEN writeln('Молодец !') ELSE writeln('Подтянись');
end.
{16. Вычисление сдачи с покупки музыкального диска}
uses crt;
var r,k,r1,k1,how:real;
begin;
clrscr;
writeln('Введите стоимость диска(руб.,коп.) через Enter');
readln(r);
readln(k);
writeln('Введите размер располагаемой суммы(руб.,коп.) через Enter');
readln(r1);
readln(k1);
IF r * 100 + k < r1 * 100 + k1 THEN writeln('Да, вам хватит денег на покупку');
IF r * 100 + k > r1 * 100 + k1 THEN
begin;
how:= (r * 100 + k) - (r1 * 100 + k1);
r:= INT(how / 100);
k:= how - INT(how / 100) * 100;
writeln('Нет, вам не хватит денег на покупку ',r:7:0,' руб. ', k:7:0, ' коп.');
END;
end.
{17. Написать алгоритм вычисления чисел}
uses crt;
var x:real;
begin;
clrscr;
writeln('Введите число');
readln(x);
IF x > 0 THEN writeln('положительное число');
if x < 0 then writeln('отрицательное число');
if x=0 then writeln('0 = 0');
end.
{18. Написать алгоритм читающий "N" и выдающий на экран квадраты чисел от 1 до "N"}
uses crt;
var i,n:integer;
begin;
clrscr;
writeln('Введите число N');
readln(n);
FOR i := 1 TO n do
begin;
writeln(i * i);
end;
end.
{19. Нахождение точки с координатами (х,у)}
uses crt;
var x,y:integer;
begin;
clrscr;
writeln('Введите координаты точки (x)');
readln(x);
writeln('Введите координаты точки (y)');
readln(y);
IF (x = 0) OR (y = 0) THEN writeln ('Точка лежит на разделе четвертей');
IF (x > 0) AND (y > 0) THEN writeln('I-я четверть');
IF (x < 0) AND (y > 0) THEN writeln('II-я четверть');
IF (x < 0) AND (y < 0) THEN writeln('III-я четверть');
IF (x > 0) AND (y < 0) THEN writeln('IV-я четверть');
end.
{20. Определение номера краски}
uses crt;
var color:string;
a:integer;
begin;
clrscr;
writeln('Введите цвет (маленькие буквы)');
readln(color);
a:=1;
IF color = 'красный' THEN
begin
writeln('1');a:=0;
end;
IF color = 'зеленый' THEN
begin
writeln('2');a:=0;
end;
IF color = 'желтый' THEN
begin
writeln('3');a:=0;
end;
IF color = 'черный' THEN
begin
writeln('4');a:=0;
end;
IF color = 'белый' THEN
begin
writeln('5'); a:=0;
end;
IF color = 'синий' THEN
begin
writeln('6'); a:=0;
end;
IF color = 'коричневый' THEN
begin
writeln('7');a:=0;
end;
if a=1 then writeln('такой краски нет');
end.
{21. Выбрать лучший результат}
uses crt;
var a,b,c,high:integer;
begin;
clrscr;
writeln('Введите результаты по плаванию для трех спортсменов через Enter');
readln(a);
readln(b);
readln(c);
IF (a > b) AND (a > c) THEN high := a;
IF (b > a) AND (b > c) THEN high := b;
IF (c > a) AND (c > b) THEN high := c;
writeln('Наивысший результат ',high);
end.
uses crt;
var n,a,k:integer;
nn:real;
label 1;
begin
clrscr;
writeln('Введите целое число N(1-100)');
readln(n);
writeln('Введите число для поиска в разложении ведденого числа');
readln(k);
a:=0;
nn:=n;
1:
nn:=(nn/k);
if int(nn) <> nn then
begin
clrscr;
writeln('Число ',k,' встречается ',a,' раз(а)');
end
else a:=a+1;
goto 1
end.
{23. Сколько раз встречается цифра К в натуральном М}
uses crt;
var m:string[79];
k:string[79];
number,i:integer;
position:byte;
procedure Search;
begin
Position:=pos(k,m);
IF position<>0 then number := number + 1;
end;
begin;
clrscr;
writeln('Введите натуральное число M');
readln(m);
writeln('Введите число k (так, чтобы 0<=k<=9)');
readln(k);
clrscr;
search;
writeln('В числе ', m, ' число ', k, ' встречается ', number, ' раз');
end.
{24. Вычислить сколько цифр в числе}
uses crt;
var number:string;
begin;
clrscr;
writeln('Введите натуральное число N');
readln(number);
writeln('В числе ', number, ' цифр ', length(number));
end.
{25. Расписание уроков в определенный день}
uses crt;
var day:integer;
label 11,22,33,44,55;
begin;
clrscr;
writeln('введите номер дня недели');
readln(day);
case day of
1:goto 11;
2:goto 22;
3:goto 33;
4:goto 44;
5:goto 55;
end;
writeln('А у нас пятидневка');
halt;
11: writeln ('1.математика');
writeln ('2.математика');
writeln('3.химия');
writeln('4.физика');
writeln('5.биолог');
halt;
22: writeln ('1.математика');
writeln ('2.литер.');
writeln ('3.ин.яз.');
writeln ('4.физика');
writeln ('5.физ-ра');
halt;
33: writeln ('1.литер.');
writeln ('2.литер.');
writeln ('3.ин.яз.');
writeln ('4.химия');
halt;
44: writeln ('1.инф');
writeln ('2.математика');
writeln ('3.биолог');
writeln ('4.географ.');
writeln ('5.географ');
halt;
55: writeln ('1.математика');
writeln ('2.литер.');
writeln ('3.истор');
writeln ('4.истор');
writeln ('5.литер.');
halt;
end.
{26. Кол-во дней в месяцах}
uses crt;
var m,year:integer;
begin;
clrscr;
writeln('Високосный ли год (1-да,0-нет)');
readln(year);
writeln('Введите номер месяца');
readln(m);
IF m = 1 THEN writeln ('январь, 31-день');
IF (m = 2) AND (year = 0) THEN writeln ('февраль(невисокосный), 28-дней');
IF (m = 2) AND (year = 1) THEN writeln ('февраль(високосный), 29-дней');
IF m = 3 THEN writeln ('март, 31-день');
IF m = 4 THEN writeln ('апрель, 30-день');
IF m = 5 THEN writeln ('май, 31-день');
IF m = 6 THEN writeln ('июнь, 30-день');
IF m = 7 THEN writeln ('июль, 31-день');
IF m = 8 THEN writeln ('август, 31-день');
IF m = 9 THEN writeln ('сентябрь, 30-день');
IF m = 10 THEN writeln ('октябрь, 31-день');
IF m = 11 THEN writeln ('ноябрь, 30-день');
IF m = 12 THEN writeln ('декабрь, 31-день');
end.
{27. Угадывание целых чисел}
uses crt;
var number,partner:integer;
label 1;
begin;
clrscr;
writeln('Первый игрок, введите число');
readln(number);
clrscr;
writeln('Второй игрок, ваш ход');
1:
readln(partner);
IF partner > number THEN
begin
writeln ('меньше'); GOTO 1;
end;
IF partner < number THEN
begin
writeln ('больше'); GOTO 1;
end;
IF partner = number THEN
begin
writeln ('Вы угадали'); halt;
end;
end.
{28. Подсчитывание кол-во кругов ученика}
uses crt;
var ask,number:integer;
label 1;
begin;
clrscr;
1:
writeln('Пробежишь еще кружочек ? (1-да, 2-нет)');
readln(ask);
IF ask = 1 THEN
begin
number := number + 1; clrscr; GOTO 1;
end;
IF ask = 2 THEN
begin
writeln('На нет и суда нет. Ты пробежал ', number, ' кругов');
halt;
end;
end.
{29. }
uses crt;
var choice:integer;
begin;
clrscr;
writeln('Математика(1) Физика(2) Информатика(3)');
readln(choice);
IF choice = 1 THEN
begin
clrscr;writeln('Математика-4')
end;
IF choice = 2 THEN
begin
clrscr;writeln('Физика-3');
end;
IF choice = 3 THEN
begin
clrscr;writeln('Информатика-5');
end;
end.
{30. Вычеркивание по выбору граф элементы}
uses graph,crt;
var gd,gm,choice:integer;
begin
initgraph(gd,gm,'');
outtext('Выберите длину отрезка:1-50 точек(1), 2-150 точек(2)');
readln(choice);
case choice of
1:LINE (295, 240,345, 240);
2:LINE (245, 240,395, 240);
end;
repeat;
until keypressed;
closegraph;
end.
{30. Выполнение граф построений}
uses graph,crt;
var gd,gm:integer;
begin
initgraph(gd,gm,'c:\bp\bgi');
LINE (150, 100,67, 100);
LINE (67, 100,102, 68);
LINE (102, 68,150, 100);
floodfill (100, 90, 15);
delay(2000);
clearviewport;
bar(73, 49,141, 109);
delay(2000);
clearviewport;
LINE (73, 49,103, 79);
LINE (103, 79,92, 120);
LINE (92, 120,50, 120);
LINE (50, 120,31, 79);
LINE (31, 79,73, 49);
floodfill (90, 90, 15);
delay(2000);
clearviewport;
LINE (73, 49,111, 49);
LINE (111, 49,132, 71);
LINE (132, 71,111, 93);
LINE (111, 93,73, 93);
LINE (73, 93,52, 71);
LINE (52, 71,73, 49);
floodfill (100, 90, 15);
repeat;
until keypressed;
closegraph;
end.
{32. Начертить N окружностей}
uses graph,crt;
var gd,gm,n,i:integer;
begin
initgraph(gd,gm,'c:\bp\bgi');
outtext('Введите кол-во окружностей');
readln(n);
clearviewport;
FOR i:= 1 TO n do
begin;
CIRCLE (Random(640),Random(480), 50)
end;
repeat;
until keypressed;
closegraph;
end.
{33. Построить многоугольник со сторонами 60 и 20 точек}
uses graph,crt;
var gd,gm,x,x1,y,y1:integer;
begin
initgraph(gd,gm,'c:\bp\bgi');
outtextxy(20,0,'Введите координаты левого верхнего угла прямоугольника (x,y)');
readln(x);
readln(y);
outtextxy(20,10,'Введите координаты правого нижнего угла прямоугольника (x1,y1)');
readln(x1);
readln(y1);
rectangle(x,y,x1,y1);
repeat;
until keypressed;
closegraph;
end.
{34. Построить и закрасить круг}
uses graph,crt;
var gd,gm,x,y,r:integer;
begin
initgraph(gd,gm,'c:\bp\bgi');
outtextxy(40,0,'Введите координаты центра окружности');
readln(x);
readln(y);
outtextxy(40,20,'Введите радиус окружности');
readln(r);
CIRCLE (x, y, r);
floodfill(x,y, 15);
repeat;
until keypressed;
closegraph;
end.
{35. Построить из окружностей рисунок облака}
uses graph,crt;
var gd,gm:integer;
begin
initgraph(gd,gm,'c:\bp\bgi');
SetFillStyle(1, 15);
setcolor(15);
CIRCLE (320, 240, 100);
floodfill (320, 240, 15);
CIRCLE (220, 240, 80);
floodfill (200, 240, 15);
CIRCLE (420, 240, 80);
floodfill (440, 240, 15);
repeat;
until keypressed;
closegraph;
end.
{36 Построение звезды}
uses graph,crt;
var gd,gm:integer;
begin
initgraph(gd,gm,'c:\bp\bgi');
setcolor(15);
line(220,240,320,100);
line(320,100,420,240);
line(220,140,420,140);
line(220,140,420,240);
line(420,140,220,240);
delay(3000);
end.
{37. Построение квадрата}
uses graph,crt;
var gd,gm,x,y,side:integer;
begin
initgraph(gd,gm,'c:\bp\bgi');
outtextxy(30,0,'Введите сторону квадрата.');
readln(side);
clearviewport;
outtextxy(30,0,'Введите координаты центра квадрата(X и Y через ENTER)');
readln(x);
readln(y);
clearviewport;
rectangle(x-side,y - side ,x + side , y + side );
repeat;
until keypressed;
closegraph;
end.
{38 Рисование луны}
uses crt,graph;
var gd,gm,choice:integer;
label 1,2,3;
begin;
clrscr;
writeln('1.полнолуние, 2.1/2 луны, 3.месяц');
readln(choice);
initgraph(gd,gm,'c:\bp\bgi');
IF choice = 1 THEN GOTO 1;
IF choice = 2 THEN GOTO 2;
IF choice = 3 THEN GOTO 3;
halt;
1:
CIRCLE (320, 240, 100);
floodfill(320,240,15);
repeat;
until keypressed;
halt;
2 :
arc(320, 240, 90, 270, 100);
LINE (320, 140,320, 340);
floodfill(300,240,15);
repeat;
until keypressed;
halt;
3 :
arc(320, 240, 90, 270, 100);
arc(490, 240, 150, 210, 200);
floodfill(285,240,15);
repeat;
until keypressed;
halt;
closegraph;
end.
{39 Построение треугольника по заданным координатам}
uses crt,graph;
var gd,gm,x,y,a,c:integer;
begin
clrscr;
writeln('Введите координаты центра звезды X и Y ');
readln(x);
readln(y);
writeln('Введите длину луча звезды (не меньше 90)');
readln(a);
initgraph(gd,gm,'c:\bp\bgi');
c:=round(3/4*a);
line(x,y-a,x+c,y+2*c);
line(x,y-a,x-c,y+2*c);
line(x+c,y+2*c,x-a-10,y-25);
line(x-c,y+2*c,x+a+10,y-25);
line(x+a+10,y-25,x-a-10,y-25);
delay(3000);
closegraph;
end.
{40. Построение кораблика}
uses graph,crt;
var gd,gm:integer;
a,h:real;
begin
initgraph(gd,gm,'c:\bp\bgi');
outtextxy (30,0,'Введите высоту и длину палубы (H и A через Enter)');
readln(h);
readln(a);
LINE (320 + round(a / 2), 240 - round(h / 2),320 + round(a/2), 240 + round(h/ 2));
LINE (320 + round(a / 2), 240 - round(h / 2),320 - round(a / 2), 240 - round(h / 2));
LINE (320 - round(a / 4), 240 + round(h / 2),320 + round(a / 2), 240 + round(h / 2));
LINE (320 - round(a / 4), 240 + round(h / 2),320 - round(a / 2), 240 - round(h / 2));
LINE (320, 240 - round(h / 2),320, 240 - round(h * 2));
LINE (320, 240 - round(h * 2),320 + round(a / 5), round(240 - h));
LINE (320, 240 - round(h),320 + round(a / 5),round( 240 - h));
repeat;
until keypressed;
closegraph;
end.
{41. }
uses graph,crt;
var gd,gm,i:integer;
x,y:real;
c:char;
label 0,1,2,3;
const aa=57.32484;
begin
initgraph(gd,gm,'c:\bp\bgi');
0: outtextxy (1,1,'День(д), ночь(н) (используйте заглавные буквы)');
outtextxy(1,10,'Press Esc to exit');
1:
c:=readkey;
IF c = chr(27) THEN halt;
IF c = 'Д' THEN GOTO 2;
IF c = 'Н' THEN GOTO 3;
GOTO 1;
2: clearviewport;
setcolor(14);
CIRCLE (320, 240, 100);
floodfill (320, 240, 14);
GOTO 0;
3:
setcolor(15);
clearviewport;
arc(320, 240, round(1.57*aa), round(4.71*aa),100);
GOTO 0;
end.
{42. Рожица}
uses graph,crt;
var gd,gm:integer;
c:char;
label 0,2,3;
begin
initgraph(gd,gm,'c:\bp\bgi');
circle(320, 240, 100);
ellipse(320, 280, 180, 360, 60,50);
ellipse(320, 240, 180, 360, 20,50);
ellipse(280, 200,0,360, 40,5);
ellipse(360, 200,0,360, 40,5);
outtextxy (1,1,'сон(с) утро(у)');
outtextxy (1,10,'Press Esc to exit');
0:
c:=readkey;
if c = chr(27) then halt;
IF c = 'у' THEN GOTO 2;
IF c = 'с' THEN GOTO 3;
GOTO 0;
2:
setcolor(0);
ellipse(280, 200,0,360, 40,5);
ellipse(360, 200,0,360, 40,5);
setcolor(14);
ellipse (280, 200,360,0,30,10);
ellipse (360, 200,360,0,30,10);
circle (280, 200,10);
CIRCLE (360, 200, 10);
GOTO 0;
3:
setcolor (0);
ellipse (280, 200,360,0,30,10);
ellipse (360, 200,360,0,30,10);
circle (280, 200,10);
CIRCLE (360, 200, 10);
setcolor(14);
ellipse(280, 200,0,360, 40,5);
ellipse(360, 200,0,360, 40,5);
GOTO 0;
repeat;
until keypressed;
closegraph;
end.
{43. }
uses graph,crt;
var gd,gm,a:integer;
c:char;
label 0,1,2;
begin
initgraph(gd,gm,'c:\bp\bgi');
setcolor(12);
outtextxy(1,1,'Press Space key to change color of the fields');
outtextxy(1,10,'Press Esc to exit');
0:
c:=readkey;
if c = chr(27) then halt;
IF (c = ' ') AND (a = 1) THEN GOTO 2;
IF (c = ' ') AND (a = 0) THEN GOTO 1;
GOTO 0;
1:
setcolor(11);
LINE (320, 0,320, 480);
setfillstyle(1,15);
floodfill(1, 1, 11);
setfillstyle(1,8);
floodfill(639, 1, 11);
setcolor(12);
outtextxy(1,1,'Press Space key to change color of the fields');
outtextxy(1,10,'Press Esc to exit');
a:= 1;
GOTO 0;
2:
setcolor(11);
LINE (320, 0,320, 480);
setfillstyle(1,8);
floodfill(1, 1, 11);
setfillstyle(1,15);
floodfill(639, 1, 11);
setcolor(12);
outtextxy(1,1,'Press Space key to change color of the fields');
outtextxy(1,10,'Press Esc to exit');
a:= 0;
GOTO 0;
end.
{44. Изобразить термометр}
uses graph,crt;
var gd,gm,y,x:integer;
pressedkey:char;
label 0,1,2;
begin
initgraph(gd,gm,'c:\bp\bgi');
ellipse (320, 240, 360, 0, 28,200);
y:= 440;
outtext('Press up arrow key for moving up/down arrow key for moving down');
outtextxy(1,10,'Press Esc to exit');
0:
pressedkey:=readkey;
if pressedkey=chr(27) then halt;
if ord(pressedkey)=72 then goto 1;
if ord(pressedkey)=80 then goto 2;
goto 0;
1:
x:= 320;
y:= y - 2;
IF y < 45 THEN y:= 47;
putpixel (x, y, 13);
goto 0;
2:
putpixel (x, y, 0);
x:= 320;
y:= y + 2;
IF y > 440 THEN y:= 442;
putpixel(x, y, 0);
goto 0;
repeat;
until keypressed;
closegraph;
end.
{45. Построение изображение заказанного четырехугольника}
uses graph,crt;
var gd,gm,choice:integer;
label 1,2,3,4;
begin
writeln ('1-параллеограмм 2-прямоугольник 3-ромб 4-квадрат');
readln(choice);
initgraph(gd,gm,'c:\bp\bgi');
IF choice = 1 THEN GOTO 1;
IF choice = 2 THEN GOTO 2;
IF choice = 3 THEN GOTO 3;
IF choice = 4 THEN GOTO 4;
1:
clearviewport;
LINE (320, 240,400, 240);
LINE (350, 290,430, 290);
LINE (320, 240,350, 290);
LINE (400, 240,430, 290);
repeat;
until keypressed;
halt;
2:
clearviewport;
rectangle(320, 240,400, 290);
repeat;
until keypressed;
halt;
3:
clearviewport;
LINE (320, 240,270, 290);
LINE (320, 240,370, 290);
LINE (320, 340,370, 290);
LINE (320, 340,270, 290);
repeat;
until keypressed;
halt;
4:
clearviewport;
rectangle(320, 240,420, 340);
repeat;
until keypressed;
halt;
closegraph;
end.
{46. Построение многогранников}
uses graph,crt;
var gd,gm,choice:integer;
label 1,2,3;
begin
writeln('1-тетраэдр 2-куб 3-четырехугольная пирамида');
readln(choice);
initgraph(gd,gm,'c:\bp\bgi');
IF choice = 1 THEN GOTO 1;
IF choice = 2 THEN GOTO 2;
IF choice = 3 THEN GOTO 3;
1:
LINE (150, 100,67, 100);
LINE (67, 100,102, 68);
LINE (102, 68,150, 100);
LINE (150, 100,140, 50);
LINE (67, 100,140, 50);
LINE (102, 68,140, 50);
repeat;
until keypressed;
halt;
2:
rectangle (320, 240,220, 340);
rectangle (300, 200,200, 300);
LINE (320, 240,300, 200);
LINE (220, 240,200, 200);
LINE (320, 340,300, 300);
LINE (220, 340,200, 300);
repeat;
until keypressed;
halt;
3:
LINE (320, 240,400, 240);
LINE (350, 290,430, 290);
LINE (320, 240,350, 290);
LINE (400, 240,430, 290);
LINE (430, 290,350, 180);
LINE (350, 290,350, 180);
LINE (320, 240,350, 180);
LINE (400, 240,350, 180);
repeat;
until keypressed;
halt;
closegraph;
end.
{47. Управление точкой на экране}
uses graph,crt;
var gd,gm,x,y,x1,y1:integer;
c:char;
label 0,1,2,3,4;
begin
initgraph(gd,gm,'c:\bp\bgi');
y:= 50;
x:= 50;
outtext('Press up, down, left ,right aroow keys for moving the point');
outtextxy(10,10,'Press Esc to Exit');
0:
c:=readkey;
if c=chr(27) then halt;
if ord(c)=72 then goto 1;
if ord(c)=80 then goto 2;
if ord(c)=75 then goto 3;
if ord(c)=77 then goto 4;
GOTO 0;
1:
y := y - 1;
IF y < 1 THEN y:= 2;
putpixel(x1, y1, 0);
putpixel(x, y, 15);
x1 := x; y1 := y;
goto 0;
2:
putpixel(x, y, 0);
y := y + 1;
IF y > 479 THEN y := 478;
putpixel (x1, y1, 0);
putpixel (x, y, 15);
x1 := x; y1 := y;
goto 0;
3:
x := x - 1;
IF x < 1 THEN x := 2;
putpixel(x1, y1, 0);
putpixel (x, y, 15);
x1 := x; y1 := y;
goto 0;
4:
x := x + 1;
IF x > 639 THEN x := 638;
putpixel (x1, y1, 0);
putpixel (x, y, 15);
x1:= x; y1 := y;
goto 0;
end.
{48. }
uses graph,crt;
var gd,gm:integer;
c:char;
label 0,1,2,3,4;
begin
initgraph(gd,gm,'c:\bp\bgi');
0: outtext('прямоугольник(с) треугольник(к) два прямоугольника(о) - заглавные буквы');
outtextxy(1,10,'Press Esc to Exit');
1:c:=readkey;
if c=chr(27) then halt;
IF c = 'С' THEN GOTO 2;
IF c = 'К' THEN GOTO 3;
IF c = 'О' THEN GOTO 4;
GOTO 1;
2:
rectangle(320, 240,420, 320);
GOTO 0;
3:
LINE (320, 240,370, 180);
LINE (370, 180,420, 240);
LINE (320, 240,420, 240);
GOTO 0;
4:
rectangle (340, 250,370, 310);
rectangle (385, 260,415, 290);
GOTO 0;
closegraph;
end.
{49. Игра "Попади в центр мишени}
uses graph,crt;
var gd,gm,x,y:integer;
C:CHAR;
label 1;
begin
initgraph(gd,gm,'c:\bp\bgi');
setfillstyle(2,1);
bar(220, 140,420, 340);
setfillstyle(4,9);
bar(270, 190,370, 290);
outtextxy (30,0,'введите координаты(x и y через ENTER)');
outtextxy(30,10,'Press Esc to Exit');
1:c:=readkey;
if c=chr(27) then halt;
gotoxy(1,1);
readln(x);
gotoxy(1,2);
readln(Y);
putpixel(x, Y,12);
IF (x < 220) OR (x > 420) OR (Y < 140) OR (Y > 340) THEN
begin
outtextxy(20,400, '0 очков');
GOTO 1;
end;
IF (x >= 220) AND (x < 420) AND (Y >= 140) AND (Y < 190) OR (x >= 220) AND (x < 420) AND (Y >= 290) AND (Y < 340) THEN
begin
outtextxy(20,400, '5 очков');
goto 1;
end;
IF (x >= 270) AND (x < 370) AND (Y >= 190) AND (Y < 290) THEN
outtextxy(20,400, '10 очков');
begin
GOTO 1;
if c=chr(27) then halt;
end;
end.
{50. Закраска кругов разными цветами}
uses graph,crt;
var gd,gm:integer;
c:char;
label 0,2,3,4;
begin
initgraph(gd,gm,'c:\bp\bgi');
setcolor(15);
CIRCLE (320, 220,10);
CIRCLE (320, 240,10);
CIRCLE (320, 260,10);
outtextxy(10,10,'красный(к) желтый(ж) зеленый(з) - маленькие буквы');
outtextxy(10,20,'Выход - Esc');
0:
c:=readkey;
if c=chr(27) then halt;
IF c = 'к' THEN GOTO 2;
IF c = 'ж' THEN GOTO 3;
IF c = 'з' THEN GOTO 4;
GOTO 0;
2:
setfillstyle(1,12);
floodfill(320, 220, 15);
setfillstyle(1,0);
floodfill (320, 240, 15);
floodfill (320, 260, 15);
GOTO 0;
3:
setfillstyle(1,14);
floodfill (320, 240,15);
setfillstyle(1,0);
floodfill (320, 260,15);
floodfill (320, 220,15);
GOTO 0;
4:
setfillstyle(1,10);
floodfill(320, 260, 15);
setfillstyle(1,0);
floodfill (320, 220, 15);
floodfill (320, 240, 15);
GOTO 0;
end.
{51. Заполнить массив случайными числами из отрезка (А,В)}
uses crt;
var a,b,i:integer;
aa : array [1..10] of integer;
begin
clrscr;
writeln('Введите отрезок [a,b] (a и b через Enter)');
read(a);
read(b);
FOR i := 1 TO 10 do
begin
aa[i] := round(a + Random(b-a));
end;
FOR i := 1 TO 10 do
begin
writeln(aa[i])
end;
end.
{52. Заполнить таблицу}
uses crt;
var i,x,y:integer;
a:array[1..25] of integer;
begin
clrscr;
FOR i := 1 TO 25 do
begin
a[i] := round(random(10));
end;
FOR x := 1 TO 5 do
begin
FOR y := 1 TO 5 do
begin
gotoxy(x+5, y);writeln(a[x * y]);
end;
end;
end.
{54 Заполнить таблицу нулями}
uses crt;
var x,y,xx,yy:integer;
begin;
clrscr;
writeln('Введите размер таблицы x и y через Enter');
readln(x);
readln(y);
clrscr;
FOR xx := 1 TO x do
begin
FOR yy := 1 TO y do
begin
gotoxy(yy, xx); writeln('0');
end;
end;
end.
 

 

 


Категория: Информатика | Добавил: (23.11.2016)
Просмотров: | Рейтинг: 0.0/0


Другие задачи:
Всего комментариев: 0
avatar