Моим ученикам

Дорогие ребята!

Здесь вы найдете материалы, которые пригодятся вам для подготовки к урокам и многое другое, что надеюсь, будет вам полезным :)

Скачать:

ВложениеРазмер
Office presentation icon paskal_1.ppt139.5 КБ
Office presentation icon standartnye_funkcii.ppt141 КБ
Microsoft Office document icon zadachi_pascal.doc220.5 КБ
Microsoft Office document icon bilety_9klass.doc41.5 КБ

Предварительный просмотр:


Подписи к слайдам:


Предварительный просмотр:


Подписи к слайдам:

Слайд 1

ОПЕРАЦИИ И СТАНДАРТНЫЕ ФУНКЦИИ Turbo Pascal 7.0

Слайд 2

Темы: Операции Функции Приоритетность

Слайд 3

Операции: Арифметические операции Операции отношения Булевские (логические) операции Поразрядные логические и сдвиговые операции Операции над множествами

Слайд 4

Арифметические операции Сложение + - * / Вычитание Деление Умножение

Слайд 5

Целочисленное деление (деление с остатком) div mod Неполное частное (целая часть) Остаток от деления

Слайд 6

Примеры целочисленного деления 23 div 5 = 4 16 div 4 = 4 5 div 8 = 0 37 div 10 = 3 23 mod 5 = 3 16 mod 4 = 0 5 mod 8 = 5 37 mod 10 = 7

Слайд 7

Определить кол-во оставшихся слив, если их делили на 5 человек Алг сливы арг а рез b НАЧ ввод (a) b:= a mod 5 вывод (‘ Осталось ‘ , b,’ слив ’) КОН

Слайд 8

Определить, сколько попугаев поместится на удаве (длина попугая - a , длина удава - b ) Алг попугаи арг а, b рез с НАЧ ввод (a) ввод (b) c:= b div a вывод (' Поместится ', с, ‘ попугаев ') КОН

Слайд 9

Операции отношения Не равно <> Меньше = Равно Больше < > < = > = Меньше или равно Больше или равно

Слайд 10

Функции Арифметические функции Тригонометрические функции Экспонента и логарифм Преобразование типов Случайные числа

Слайд 11

Арифметические функции S q r (x) __  x (квадратный корень) S q r t (x) x 2 (квадрат числа) A b s (x) |x| (модуль числа)

Слайд 12

Вычислить гипотенузу прямоугольного треугольника (длина катетов - a и b ) Алг гипотенуза арг а, b рез с НАЧ ввод (a) ввод (b) c:= sqrt (sqr(a) + sqr(b) ) вывод ('c=', с:5:2) КОН

Слайд 13

Вычислить модуль разности чисел a и b ) Алг модуль арг а, b рез с НАЧ ввод (a) ввод (b) c:= abs (a - b) вывод (' модуль =', с) КОН

Слайд 14

Тригонометрические функции S i n (x) C o s (x) sin x ArcTan(x) в радианах cos x arctg x

Слайд 15

Вычислить синус, косинус, тангенс и котангенс угла 30  a:=Pi/180*30 s:=sin(a); c:=cos(a) t:=s/c; ct:=c/s;

Слайд 16

Экспонента и логарифм E x p (x) ln x (натуральный логарифм ) L n (x) e x (экспонента числа, e  2.7183 ) E x p ( b * L n ( a ) ) a b

Слайд 17

Примеры вычисления степени (x-3) 7 2 x 3 __  x exp(7 * ln(x-3)) exp(x * ln(2)) exp(1/3 * ln(x))

Слайд 18

Преобразование типов Round(x) Перевод дробного числа в целое с отбрасыванием дробной части Trunc(x) Перевод дробного числа в целое с округлением

Слайд 19

Примеры преобразования типов a1:=Round(2.34); a2:=Trunc(2.34); b1:=Round(8.51); b2:=Trunc(8.51); c1:=Round(-3.7); a1 = 2 a2 = 2 b1 = 9 b2 = 8 c1 = -4

Слайд 20

Генерация случайных чисел Random Формирование случайного дробного числа из диапазона от 0 до 1 Randomize ; Установка датчика случайных чисел в исходное состояние

Слайд 21

Примеры получения дробных случайных чисел a:=Random; x:=Random+10; y:=5*Random; c:=10*Random-5; b:=7*Random-3; 0

Слайд 22

Случайные целые числа Random(N) Формирование случайного целого числа из диапазона от 0 до N- 1 натуральное

Слайд 23

Примеры получения целых случайных чисел a:=Random (3) ; x:=Random ( 10 ) ; y:=Random (5)+3 ; c:=Random (8) -5; 0 , 1 ,2 0 ,1,2,…,9 3,4,5,…,7 -5 ,-4,…,2

Слайд 24

Смоделировать 5-кратное бросание игрального кубика Алг кубик арг i , рез x НАЧ randomize Для i=1 д o 5 выполнить x:=random(6)+1 вывод (i,‘ бросок: ',x,’ очков ’) КОН

Слайд 25

Смоделировать 10 -кратное бросание монеты randomize; для i=1 д o 10 do если random( 2 )=0 то вывод (’ орел ’) иначе вывод (’ решка ’);

Слайд 26

Приоритетность выполнения действий Выражение в скобках Функции Знак числа (+,-), not, @ *, /, div, mod, and, shl, shr +, -, or, xor =, <>, <, >, <=, >=, in



Предварительный просмотр:

Примеры решения задач на языке Паскаль

{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.

{55 Сделать все элементы таблицы равными заданному числу}

uses crt;

var x,y,xx,yy,a:integer;

begin;

clrscr;

writeln('Введите число');

readln(a);

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(a);

end;

end;

end.

сяца продавец доставлялна дом 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.

{56 }

uses crt;

var x,y,i,j,s:integer;

begin

clrscr;

writeln('Введите размер таблицы (x,y)');

readln(x);

readln(y);

clrscr;

for i:=1 to x do;

for j:=1 to y do;

s(i,j):=(j+(i-1)*y)*(j+(i-1)*y);

locate i*2,j*4:   writeln(s(i,j));

next j;

next i;

end.

{57 }

uses crt;

var x,y,i,j,s:integer;

begin

clrscr;

writeln('Введите размер таблицы (x,y)');

readln(x);

readln(y);

clrscr;

for i:=1 to x do;

for j:=1 to y do;

s(i,j):=(j+(i-1)*y)*2;

locate i*2,j*4:   writeln(s(i,j));

next j;

next i;

end.

{58. }

uses crt;

var i,k,pol,numberofpol,chplace,plus,zero,minus,forabout:integer;

a:array[1..10000] of integer;

begin

clrscr;

write ('Введите размер массива ');

read(i);

begin

writeln('Введите элементы массива');

FOR k := 1 TO i do

begin

readln(a[k]);

end;

FOR k := 1 TO i do

IF a[k] > 0 THEN

 begin

 pol := pol + a[k]; numberofpol := numberofpol + 1;

 end;

end;

writeln('Среднее арифмет.положительных элементов равно ', pol / numberofpol:7:2);

writeln('Среднее арифмет. элементов на отрезке [1,2] равно', (a[1] + a[2]) / 2:7:2);

FOR k := 1 TO i do

begin

IF a[k] > 0 THEN plus := plus + 1;

IF a[k] = 0 THEN zero := zero + 1;

IF a[k] < 0 THEN minus := minus + 1;

end;

writeln('Положительных ', plus, ' отрицательных ', minus, ' равных нулю ', zero);

FOR k := 1 TO i do

begin

IF round(a[k]) = 1 THEN forabout := forabout + 1;

end;

writeln('Элементов приближенно равных 1 насчитано ', forabout);

end.

{59. Сформировать массив из положительных элементов}

uses crt;

var i,k,pr,size,max:integer;

b:array[1..10] of integer;

a:array[1..10] of integer;

begin;

clrscr;

pr:= 1;

writeln('Введите размер массива');

readln(size);

writeln('Введите элементы массива');

FOR i := 1 TO size do

begin

readln(b[i]);

end;

begin

IF b[i] > 0 THEN

 begin

 k := k + 1;

 a[k] := b[i];

 end;

end;

FOR i := 1 TO k do

begin

pr := pr * a[i];

end;

writeln('Произведение положительных эл.массива ', pr);

writeln('Cформираванный массив A(I):');

FOR i := 1 TO k do

begin

writeln(a[i]);

end;

end.

{60. Заменить все элементы массива стоящие до максимального нулями}

uses crt;

var i,size,num,max:integer;

a:array[1..10000] of integer;

begin;

ClrScr;

writeln('Введите размер массива');

readln(size);

FOR i := 1 TO size do

begin

clrscr;

writeln('Введите элементы массива');

readln(a[i]);

end;

max := a[1];

clrscr;

writeln('Введенный массив');

FOR i := 1 TO size do

begin

 writeln(a[i]);

 IF a[i] > max THEN

 begin

 num := i-1;

 max:=a[i];

 end

end;

FOR i := 1 TO num do

begin

a[i] := 0;

end;

writeln('Сформированный массив');

FOR i := 1 TO size do

begin

writeln (a[i]);

end;

end.

{62. Заменить все элементы массива стоящие после минимального нулями}

uses crt;

var i,size,min,num:integer;

a:array[1..10000] of integer;

begin;

clrscr;

writeln('Введите размер массива');

readln(size);

writeln('Введите элементы массива');

FOR i := 1 TO size do

begin

readln(a[i]);

end;

min := a[1];

FOR i := 2 TO size do

begin

IF a[i] < min THEN

begin

num := i + 1;min:=a[i];

end;

end;

FOR i := num TO size do

begin

a[i] := 0;

end;

writeln('Сформированный массив:');

FOR i := 1 TO size do

begin

writeln(a[i]);

end;

end.

{63. Определить сколько элементов массива <,>,= X}

uses crt;

var x,i,size,more,less,mid:integer;

a:array[1..10000] of integer;

begin

CLrscr;

writeln('Введите размер массива');

readln(size);

writeln('Введите элементы массива');

FOR i := 1 TO size do

begin

readln(a[i])

end;

writeln('Введите число x');

readln(x);

FOR i := 1 TO size do

begin

IF a[i] > x THEN more := more + 1;

IF a[i] < x THEN less := less + 1;

IF a[i] = x THEN mid := mid + 1;

end;

writeln('Больше числа Х в массиве элементов ',more);

writeln('Меньше числа Х в массиве элементов ',less);

writeln('Равных числу Х в массиве элементов ', mid);

end.

{64. Сколько в массиве Т(м) элементов меньших суммы всех элементов}

uses crt;

var i,size,summa,num:integer;

t:array[1..10000] of integer;

begin;

clrscr;

writeln('Введите размер массива');

readln(size);

writeln('Введите элементы массива');

FOR i := 1 TO size do

begin

readln(t[i]);

end;

FOR i := 1 TO size do

begin

summa := summa + t[i];

end;

FOR i:= 1 TO size do

begin

IF t[i] < summa THEN num := num + 1;

end;

writeln('В массиве элементов меньше суммы всех элементов ', num);

end.

{65. Напечатать сумму, произведение и номера полож элементов после последнего нулевого элемента }

uses crt;

var i,size,num,summa,pr,k:integer;

x:array[1..10000] of integer;

n:array[1..10000] of integer;

begin;

clrscr;

writeln('Введите размер массива');

readln(size);

FOR i := 1 TO size do

begin

clrscr;

writeln('Введите элементы массива');

readln(x[i]);

end;

writeln('Введенный массив');

FOR i := 1 TO size do

begin

writeln(x[i]);

IF x[i] = 0 THEN num := i;

end;

if num=0 then

begin

writeln('Нулевые элементы не найдены');

halt;

end;

pr := 1;

FOR i := num + 1 TO size do

begin

IF x[i] > 0 THEN

 begin

 summa := summa + x[i]; pr := pr * x[i]; k := k + 1; n[k] := i;

end;

end;

writeln('Номера положительных элементов после последнего 0');

FOR i := k TO size do

begin

writeln(n[i]);

end;

writeln('Сумма положительных элементов после последнего 0 равна ', summa);

writeln('Произведение положительных элементов после последнего 0 равна ', pr);

end.

{66. Найти сумму и кол-во элементов в массиве Т после первого нулевого элемента}

uses crt;

var i,num,size,summa,k:integer;

t:array[1..10000] of integer;

begin;

clrscr;

writeln('Введите размер массива');

readln(size);

FOR i := 1 TO size do

begin

clrscr;

writeln('Введите элементы массива');

readln(t[i]);

end;

writeln('Введенные элементы');

for i:=1 to size do

begin

writeln(t[i]);

end;

FOR i := 1 TO size do

begin

IF t[i] = 0 THEN

 num := i;

 FOR k := num + 1 TO size do

begin

summa := summa + t[k];

end;

writeln('Сумма элементов после первого 0 равна ', summa);

writeln('Количество элементов после первого 0 равна ', size - i);

  halt;

 end;

 end.

{67. Напечатать сумму отрицательных элементов массива А после первого нулевого элемента}

uses crt;

var i,size,num,summa:integer;

a:array [1..10000] of integer;

label 1;

begin;

clrscr;

writeln('Введите размер массива');

readln(size);

writeln('Введите элементы массива');

FOR i := 1 TO size do

begin

readln(a[i]);

end;

FOR i := 1 TO size do

begin

IF a[i] = 0 THEN

begin

num := i; GOTO 1;

end;

end;

1:

FOR i := num + 1 TO size do

begin

IF a[i] < 0 THEN summa := summa + a[i];

end;

writeln('Сумма отрицательных элементов после первого 0 равна ', summa);

end.

{68 Вывести номер координаты пункта В наиболее удаленного от пункта А}

uses crt;

var maxx,maxy,i,m,x,y,n:integer;

bx:array[1..1000] of integer;

by:array[1..1000] of integer;

bx1:array[1..1000] of integer;

by1:array[1..1000] of integer;

begin;

clrscr;

writeln('Введите координаты пункта А(x и y через Enter) ');

readln(x);

readln(y);

writeln('Введите количество пунктов В');

readln(m);

clrscr;

FOR i := 1 TO m do

begin

gotoxy(1,1);writeln('Введите координаты пунктов B(x и y через Enter)');

readln(bx[i]);

readln(by[i]);

end;

FOR i := 1 TO m do

begin

bx1[i] := SQR(bx[i]*bx[i]);

by1[i] := SQR(by[i]*by[i]);

IF (bx1[i] > x) AND (by1[i] > y) AND (bx1[i] > maxx) AND (by1[i] > maxy) THEN

begin

maxx := bx1[i]; maxy := by1[i]; n := i;

end;

end;

clrscr;

writeln('Точка A ',x,',',y);

writeln('Точки B ');

for i:=1 to m do

begin

writeln(bx[i],',',by[i]);

end;

writeln('Наиболее удалена точка с координатами ', bx[n], ',', by[n]);

end.

{69. Найти общее кол-во нулевых элементов в массивах Х(м) У(к)}

uses crt;

var i,m,k,num,numm,nn:integer;

x:array[1..10000] of integer;

y:array[1..10000] of integer;

begin;

clrscr;

writeln('Введите размер массива x(m)');

readln(m);

writeln('Введите размер массива y(k)');

readln(k);

writeln('Введите элементы массива x(m)');

FOR i := 1 TO m do

begin

readln(x[i]);

end;

writeln('Введите элементы массива y(k)');

FOR i := 1 TO k do

begin

readln(y[i]);

end;

FOR i := 1 TO m do

begin

IF x[i] = 0 THEN num := num + 1;

end;

FOR i := 1 TO k do

begin

IF y[i] = 0 THEN numm := numm + 1;

end;

if num>numm then nn:=numm else nn:=num;

writeln('Общее количество нулевых элементов в двух массиваx ', nn);

end.

{70. Напечатать число элементов в массиве Т}

uses crt;

var i,m,k,num:integer;

x:array[1..10000] of integer;

t:array[1..10000] of integer;

begin;

clrscr;

writeln('Введите размер массива x(m)');

readln(m);

FOR i := 1 TO m do

begin

clrscr;

writeln('Введите элементы массива x(m)');

readln(x[i]);

clrscr;

end;

writeln('Введенный массив');

FOR i := 1 TO m do

begin

writeln (x[i]);

IF x[i] >= 0 THEN

 begin

 num := num + 1; k := k + 1; t[k] := x[i];

end;

end;

writeln('Сформированный массив');

FOR i := 1 TO k do

begin

writeln (t[i]);

end;

writeln('Количество элементов в сформированном массиве ', num);

end.

{71. Вывести четные числа среди положительных элементов}

uses crt;

var i,m:integer;

x:array[1..10000] of integer;

begin;

clrscr;

writeln('Введите размер массива x(m)');

readln(m);

writeln('Введите элементы массива x(m)');

FOR i := 1 TO m do

begin

readln(x[i]);

end;

clrscr;

gotoxy(5,6);writeln('Четные среди положительных элементов массива');

FOR i := 1 TO m do

begin

IF (x[i] > 0) AND (x[i] / 2 = INT(x[i] / 2)) THEN

begin

gotoxy(i*3+5,8); writeln( x[i]); end;

gotoxy(i*3+5,10);writeln(x[i]);

end;

end.

{72. Удвоить наибольший элемент массива Х(м)}

uses crt;

var max,i,size,k:integer;

x:array[1..10000] of integer;

begin;

clrscr;

writeln('Введите размер массива');

readln(size);

writeln('Введите элементы массива');

FOR i := 1 TO size do

begin

readln(x[i]);

end;

max := x[1];

FOR i := 2 TO size do

begin

IF x[i] > max THEN

begin

max := x[i]; k := i;

end;

end;

x[k] := max * 2;

writeln('Массив с удвоенным максимальным элементом');

FOR i := 1 TO size do

begin

writeln (x[i]);

end;

end.

{73. Вывести ненулевые элементы массива Х(м) и их произведение}

uses crt;

var size,i,pr:integer;

x:array[1..10000] of integer;

begin;

clrscr;

writeln('Введите размер массива');

readln(size);

writeln('Введите элементы массива');

FOR i := 1 TO size do

begin

readln(x[i]);

end;

pr := 1;

writeln('Ненулевые элементы массива');

FOR i := 1 TO size do

begin

IF x[i] <> 0 THEN

 begin

 writeln(x[i]); pr := pr * x[i];

end;

end;

writeln('Их произведение ',pr);

end.

{74. Вывести положительные элементы массива Х(к) затем отрицать элементы массива У(м) и кол-во выведенных чисел}

uses crt;

var m,num,i,k:integer;

x:array[1..10000] of integer;

y:array[1..10000] of integer;

begin

clrscr;

writeln('Введите размер массива x(k)');

readln(k);

writeln('Введите размер массива y(m)');

readln(m);

writeln('Введите элементы массива x(k)');

FOR i := 1 TO k do

begin

readln(x[i]);

end;

writeln('Введите элементы массива y(m)');

FOR i := 1 TO m do

begin

readln(y[i]);

end;

writeln('Положительные элементы массива x(k)');

FOR i := 1 TO k do

begin

IF x[i] > 0 THEN

begin

writeln (x[i]);

num := num + 1;

end;

end;

writeln('Отрицательные элементы массива y(m)');

FOR i := 1 TO m do

begin

IF y[i] < 0 THEN

 begin

 writeln(y[i]); num := num + 1;

end;

end;

writeln('Количество выведенных элементов ', num);

end.

{75. Найти число элементов массива Т мньших С }

uses crt;

var m,i,c,summa,num:integer;

t:array[1..10000] of integer;

begin

clrscr;

writeln('Введите размер массива t(m)');

readln(m);

writeln('Введите число C');

readln(c);

writeln('Введите элементы массива t(m)');

FOR i := 1 TO m do

begin

readln(t[i]);

end;

FOR i := 1 TO m do

begin

IF t[i] > c THEN

 begin

 summa := summa + t[i]; num := num + 1;

end;

end;

writeln('Среднее арифметическое элементов больше C равно ', summa / num:7:2);

writeln('Количество элементов меньше С равно ',m - num);

end.

{76. Произвести перестановку массива}

uses crt;

var m,x,i,k:integer;

a:array[1..10000] of integer;

a2:array[1..10000] of integer;

begin;

clrscr;

writeln('Введите размер массива a(m)');

readln(m);

writeln('Введите число x');

readln(x);

FOR i := 1 TO m do

begin

clrscr;

writeln('Введите элементы массива a(m)');

readln(a[i]);

end;

clrscr;

writeln('Введенный массив');

FOR i := 1 TO m do

begin

writeln(a[i]);

IF a[i] < x THEN

 begin

 k := k + 1; a2[k] := a[i];

end;

end;

FOR i := 1 TO m do

begin

IF a[i] = x THEN

 begin

 k := k + 1; a2[k] := a[i];

 end;

 end;

FOR i := 1 TO m do

begin

IF a[i] > x THEN

begin

k := k + 1; a2[k] := a[i]

end;

end;

writeln('Сформированный массив');

FOR i := 1 TO m do

begin

writeln (a2[i]);

end;

end.

{77. Образовать третий массив из элементов встречающихся в обоих массивах}

uses crt;

var m,k,i,l,c:integer;

a:array[1..10000] of integer;

b:array[1..10000] of integer;

ab:array[1..10000] of integer;

begin;

clrscr;

writeln('Введите размер массива a(m)');

readln(m);

writeln('Введите размер массива b(k)');

readln(k);

clrscr;

writeln('Введите элементы массива a(m)');

FOR i := 1 TO m do

begin

readln(a[i]);

end;

writeln('Введите элементы массива b(k)');

FOR i := 1 TO m do

begin

readln(b[i]);

end;

FOR i := 1 TO m do

begin

FOR l := 1 TO k do

begin

 IF a[i] = b[l] THEN

 begin

 c := c + 1; ab[c] := a[l];

 end;

end;

end;

clrscr;

writeln('Массив образованный из одинаковых элементов');

FOR i := 1 TO c do

begin

writeln (ab[i]);

end;

end.

{78. Поменять местами макс и мин элементы}

uses crt;

var i,size,max,min,num,num1:integer;

a:array[1..10000] of integer;

begin

clrscr;

writeln('Bведите размер массива');

readln(size);

FOR i := 1 TO size do

begin

clrscr;

writeln('Введите элементы массива');

readln(a[i]);

end;

max := a[1];

min := a[1];

clrscr;

writeln('Введенный массив');

FOR i := 1 TO size do

begin

writeln(a[i]);

IF a[i] > max THEN

begin

num := i; max := a[i];

end;

end;

FOR i := 1 TO size do

begin

IF a[i] < min THEN

begin

num1 := i; min := a[i];

end;

end;

a[num1 + 1] := max;

a[num] := min;

writeln('Массив, где max и min поменяли местами');

FOR i := 1 TO size do

begin

writeln(a[i]);

end;

end.

{79. Поменять местами макс и последний элемент }

uses crt;

var i,max,num,size:integer;

a:array[1..10000] of integer;

begin;

clrscr;

writeln('Введите размер массива');

readln(size);

FOR i := 1 TO size do

begin

clrscr;

writeln('Введите элементы массива');

readln(a[i])

end;

max := a[1];

clrscr;

writeln('Введенный массив');

FOR i := 1 TO size do

begin

 writeln(a[i]);

 IF a[i] > max THEN

 begin

 num := i; max := a[i];

 end;

 end;

a[num] := a[size];

a[size] := max;

writeln('Массив, где max и последний элемент поменяли местами');

FOR i := 1 TO size do

begin

writeln (a[i]);

end;

end.

{80 Сколько раз во втором слове встречается первая буква первого слова}

uses crt;

var x,x1,i,c,dl,ch,n:integer;

word,word1,k:string;

label 1;

begin

clrscr;

writeln('Введите первое слово');

readln(word);

writeln('Введите второе слово');

readln(word1);

dl:=length(word1);

k:=copy(word,1,1);

ch:=0;

n:=pos(k,word1);

1:if n>0 then

begin

ch:=ch+1;

Delete(word1,1,n);

dl:=length(word1);

if dl>0 then

begin

n:=pos(k,word1);

goto 1;

end

end;

writeln('Во втором слове буква ',k,' встречается ',ch,' раз(а)');

end.

{81. }

uses crt;

var n:integer;

begin

clrscr;

writeln('Введите 0 или 2');

readln(n);

if n=0 then

begin

writeln('БУКВА И ЗВУК');

end

else writeln('БУКВА И БАБОЧКА');

end.

{82.}

uses crt;

var st0,st1,st2,st3,st4,st5,st6,st7,st8,st9,ST10,ST11,st12,d:string;

begin

clrscr;

writeln('БАЛКОН');

writeln('       ');

st0:='БАЛКОН';

st1:=copy(st0,3,1);

st2:=copy(st0,5,1);

st3:=copy(st0,1,1);

d:=st1+st2+st3;

writeln(d);

st4:=copy(st0,4,1);

st5:=copy(st0,3,1);

st6:=copy(st0,2,1);

st7:=copy(st0,6,1);

d:=st4+st5+st6+st7;

writeln(d);

st8:=copy(st0,4,1);

st9:=copy(st0,5,1);

st10:=copy(st0,3,1);

st11:=copy(st0,1,1);

st12:=copy(st0,2,1);

d:=st8+st9+st10+st11+st12;

writeln(d);

end.

{83}

uses crt;

var st0,st1,st2,st3,st4,st5,st6,st7,st8,st9,ST10,ST11,st12,d:string;

begin

clrscr;

writeln('ШУТКА');

writeln('     ');

st0:='ШУТКА';

st1:=copy(st0,1,1);

st2:=copy(st0,2,1);

st3:=copy(st0,3,1);

d:=st1+st2+st3;

writeln(d);

st4:=copy(st0,2,1);

st5:=copy(st0,3,1);

st6:=copy(st0,4,1);

st7:=copy(st0,5,1);

d:=st4+st5+st6+st7;

writeln(d);

st8:=copy(st0,3,1);

st9:=copy(st0,2,1);

st10:=copy(st0,1,1);

st11:=copy(st0,4,1);

st12:=copy(st0,5,1);

d:=st8+st9+st10+st11+st12;

writeln(d);

end.

{84. Составить программу для подсчета числа букв А Б В в предложении}

uses crt;

var a,b,c,x,y:integer;

dl,ch,n,cha,chb,chv:integer;

text,text1:string;

aa,bb,vv,cc:char;

label 1,2,3;

begin

clrscr;

writeln('какие символы будем считать(a,b,c-через Enter)');

readln(aa);

readln(bb);

readln(vv);

writeln('Введите текст');

readln(text);

dl:=length(text);

text1:=text;

cha:=0;

chb:=0;

chv:=0;

n:=pos(aa,text);

1:if n>0 then

begin

cha:=cha+1;

Delete(text1,1,n);

dl:=length(text1);

if dl>0 then

begin

n:=pos(aa,text1);

goto 1;

end

end;

text1:=text;

n:=pos(bb,text1);

2:if n>0 then

begin

chb:=chb+1;

Delete(text1,1,n);

dl:=length(text1);

if dl>0 then

begin

n:=pos(bb,text1);

goto 2;

end

end;

text1:=text;

n:=pos(vv,text1);

3:if n>0 then

begin

chv:=chv+1;

Delete(text1,1,n);

dl:=length(text1);

if dl>0 then

begin

n:=pos(vv,text1);

goto 3;

end

end;

writeln('В предложениии ',aa,' встречается ',cha,' раз(а) ');

writeln('В предложениии ',bb,' встречается ',chb,' раз(а) ');

writeln('В предложениии ',vv,' встречается ',chv,' раз(а) ');

end.

{85 Поставить буквы в алфавитном порядке}

uses crt;

var dl,ch,n,i,k:integer;

text,alf,c,sim,buk:string;

d:array[1..32] of integer;

label 1;

begin

clrscr;

writeln('Введите текст');

readln(text);

dl:=length(text);

alf:='абвгдежзийклмнопрстуфхцчшщъыьэюя';

clrscr;

for k:=1 to 32 do

d[k]:=0;

for i:=1 to dl do

begin

sim:=copy(text,i,1);

for k:=1 to 32 do

begin

buk:=copy(alf,k,1);

if sim=buk then

d[k]:=d[k]+1;

end;

end;

for i:=1 to 32 do

begin

if d[i]<>0 then

begin

gotoxy(i*2+5,15);

writeln(alf[i]);

gotoxy(i*2+5,18);

writeln(d[i]);

end

end;

gotoxy(5,13);

writeln(text);

end.

{86. Найти в тексте подстроку "авс"}

uses crt;

var m:string[79];

    k:string[79];

    i:integer;

    position:byte;

procedure Search;

begin

  Position:=pos(k,m);

IF position<>0 then sound(100);delay(10);nosound;

end;

begin;

textbackground(0);

clrscr;

writeln('Введите предложение');

readln(m);

writeln('Какие символы следует найти');

readln(k);

clrscr;

search;

writeln(m);

textbackground(9);gotoxy(pos(k,m),1);writeln(k);

textbackground(0);

writeln('Фрагмент"',k,'"был найден начинвя с позиции',position:3)

end.

{87. Удалить из текста все буквы "о"}

uses crt;

var word1,word: String;

dl,n:integer;

label 1;

begin

      clrscr;

  writeln('Введите текст');

  readln(word1);

  writeln('Введите букву, которую надо удалить');

  readln(word);

dl:=length(word1);

n:=pos(word,word1);

1:if n>0 then

begin

Delete(word1,n,1);

insert(' ',word1,n);

dl:=length(word1);

if dl>0 then

begin

n:=pos(word,word1);

goto 1;

end

end;

writeln(word1);

end.

{88. Составьте алгоритм и программу выбирающую из трех чисел то которое лежит между двумя другими }

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.

{89. Сколько слов в тексте}

uses crt;

var dl,ch,n:integer;

text,text1:string;

label 1;

begin

clrscr;

writeln('Введите текст');

readln(text);

ch:=1;

dl:=length(text);

n:=pos(' ',text);

1:if n>0 then

begin

ch:=ch+1;

Delete(text,1,n);

dl:=length(text);

if dl>0 then

begin

n:=pos(' ',text);

goto 1;

end

end;

writeln('В предложениии ',ch,' слов(о) ');

end.

{90. Удалить из текста все цифры}

uses crt;

var dl,ch,n,i:integer;

text,text1,c:string;

label 1;

begin

clrscr;

writeln('Введите текст');

readln(text);

dl:=length(text);

text1:='0123456789';

for i:=1 to 10 do

begin

c:=copy(text1,i,1);

n:=pos(c,text);

1:if n>0 then

begin

Delete(text,n,1);

insert(' ',text,n);

dl:=length(text);

if dl>0 then

begin

n:=pos(c,text);

goto 1;

end

end;

end;

writeln(text);

end.

{91. Вставить вместо пробелов точки}

uses crt;

var dl,ch,n:integer;

text,text1:string;

label 1;

begin

clrscr;

writeln('Введите текст');

readln(text);

dl:=length(text);

n:=pos(' ',text);

1:if n>0 then

begin

Delete(text,n,1);

insert('.',text,n);

dl:=length(text);

if dl>0 then

begin

n:=pos(' ',text);

goto 1;

end

end;

writeln(text);

end.

{92 }

uses crt;

var dl,ch,n:integer;

text,text1,c:string;

label 1;

begin

clrscr;

writeln('Введите текст');

readln(text);

writeln('Введите для поиска первую букву слова');

readln(text1);

dl:=length(text);

ch:=0;

c:=copy(text,1,1);

if c=text1 then ch:=ch+1;

n:=pos(' ',text);

1:if n>0 then

begin

c:=copy(text,n+1,1);

if c=text1 then ch:=ch+1;

Delete(text,1,n);

dl:=length(text);

if dl>0 then

begin

n:=pos(' ',text);

goto 1;

end

end;

writeln(ch,' раз(а) слова начинаются на букву ',text1);

end.

{93. Напечатать фамилию победителя}

uses crt;

var i,size,max:integer;

nam:array[1..10] of string;

bal:array[1..10] of integer;

begin

clrscr;

writeln('Сколько участников олимпиады');

readln(size);

writeln('Максималтный балл');

readln(max);

FOR i := 1 TO size do

begin

clrscr;

writeln('Фамилия участника');

readln(nam[i]);

writeln('Его балл');

readln(bal[i])

end;

clrscr;

writeln('Участники');

FOR i := 1 TO size do

begin

writeln(nam[i],' Балл ',bal[i]);

end;

FOR i := 1 TO size do

begin

IF bal[i] = max THEN writeln(nam[i], ' победитель, баллов-',max);

end;

end.

{94. Напечатать фамилию чемпиона и его результат}

uses crt;

var i,max,size:integer;

    winer:string;

nam:array[1..10] of string;

bal:array[1..10] of integer;

begin

clrscr;

writeln('Введите кол-во участников соревнования');

readln(size);

FOR i := 1 TO size do

begin

clrscr;

writeln('Фамилия участника');

readln(nam[i]);

writeln('Его балл');

readln(bal[i]);

end;

max := bal[1];

writeln('Участники');

FOR i := 1 TO size do

begin

writeln(nam[i],' Балл ',bal[i]);

end;

FOR i := 1 TO size do

begin

IF bal[i] > max THEN

 begin

 max := bal[i]; winer:= nam[i];

 end;

 end;

writeln(winer, ' победитель. Баллов ', max);

end.

{95. Посчитать общую стоимость товара}

uses crt;

var numi,pricei,numii,priceii,numiii,priceiii,numiv,priceiv:integer;

begin

clrscr;

writeln('Введите количество и стоимость товаров I сорта кол-во и стоимость через Enter');

readln(numi);

readln(pricei);

clrscr;

writeln('Введите количество и стоимость товаров II сорта кол-во и стоимость через Enter');

readln(numii);

readln(priceii);

clrscr;

writeln('Введите количество и стоимость товаров III сорта кол-во и стоимость через Enter');

readln(numiii);

readln(priceiii);

clrscr;

writeln('Введите количество и стоимость товаров IV сорта кол-во и стоимость через Enter');

readln(numiv);

readln(priceiv);

clrscr;

writeln('сорт      ', 'кол-во      ', 'стоимость ед.      ', 'общ.стоимость');

writeln('I         ', numi, pricei:12, numi * pricei:24);

writeln('II        ', numii, priceii:12, numii * priceii:24);

writeln('III       ', numiii, priceiii:12, numiii * priceiii:24);

writeln('IV        ', numiv, priceiv:12, numiv * priceiv:24);

writeln('Стоимость всех товаров ', numi * pricei + numii * priceii + numiii * priceiii + numiv * priceiv);

end.

{96. Занести в таблицу оценки учеников класса за год по математике  и информатике}

uses crt;

var i,k,size:integer;

nam:array[1..20] of string;

inf:array[1..20] of integer;

mat:array[1..20] of integer;

begin

clrscr;

writeln('Сколько учеников в классе');

readln(size);

FOR i := 1 TO size do

begin

clrscr;

writeln('Введите фамилию ученика, оценку по мат., оценку по инф.');

readln(nam[i]);

readln(inf[i]);

readln(mat[i]);

end;

clrscr;

writeln('Неуспевающие по информатике');

FOR i := 1 TO size do

begin

IF inf[i] <= 2 THEN writeln(nam[i]);

end;

writeln('Неуспевающие по математике');

FOR i := 1 TO size do

begin

IF mat[i] <= 2 THEN writeln(nam[i]);

end;

writeln('Отличники');

FOR i := 1 TO size do

begin

IF (mat[i] = 5) AND (inf[i] = 5) THEN writeln(nam[i]);

end;

writeln('Общее число неуспевающих');

FOR i := 1 TO size do

begin

IF (mat[i] = 2) OR (inf[i] = 2) THEN k := k + 1;

end;

writeln(k);

end.

{97. Сформировать список учащихся сдавших экзамен на отлично}

uses crt;

var i,size:integer;

nam:array[1..10] of string;

tick:array[1..10] of integer;

mark:array[1..10] of integer;

markp:array[1..10] of string;

begin

clrscr;

writeln('Введите кол-во учеников в классе');

readln(size);

FOR i := 1 TO size do

begin

clrscr;

writeln('Введите фамилию ученика, билет, оценку цифрой, прописью (через ENTER)');

readln(nam[i]);

readln(tick[i]);

readln(mark[i]);

readln(markp[i]);

end;

clrscr;

FOR i := 1 TO size do

begin

writeln(nam[i],' Билет - ',tick[i],' Балл -',mark[i]);

end;

FOR i := 1 TO size do

begin

IF (mark[i] = 5) AND (markp[i] = 'пять') THEN  writeln(nam[i], ' билет № ', tick[i], mark[i]:2, ' (отлично)');

end;

end.

{98. Выбрать самого высоког ученика по данным из таблицы}

uses crt;

var i,max,rr,vv,size:integer;

    vnam1,vnam2:string;

    nam1:array[1..10] of string;

    nam2:array[1..10] of string;

    r:array[1..10] of integer;

    v:array[1..10] of integer;

begin

clrscr;

writeln('Введите кол-во учеников в классе');

readln(size);

FOR i := 1 TO size do

begin

clrscr;

writeln('Введите фамилию ученика, имя, рост, вес через Enter');

readln(nam1[i]);

readln(nam2[i]);

readln(r[i]);

readln(v[i]);

end;

clrscr;

max := r[1];

FOR i := 1 TO size do

begin

IF r[i] > max THEN

begin

vnam1 := nam1[i];

vnam2 := nam2[i];

rr := r[i];

vv := v[i];

max:=r[i];

end;

end;

clrscr;

writeln('самый высокий ученик');

writeln('Фамилия', 'Имя':10, 'Рост':10, 'Вес':10);

writeln(vnam1, vnam2:12, rr:12, vv:12);

end.



Предварительный просмотр:

Билет №1

1. Понятие информации. Виды информации. Роль информации в живой природе и в жизни людей. Язык, как способ представления информации: естественные и формальные языки. Основные информационные процессы: хранение, передача и обработка информации.

2. Построение алгоритма  (основные алгоритмические структуры) и его реализация в среде учебного исполнителя. Демонстрация полученного алгоритма  в среде учебного исполнителя.

Билет №2

1. Измерение информации: содержательный и алфавитный подходы. Единицы измерения информации. 2. Создание и редактирование текстового документа (исправление ошибок, удаление или вставка текстовых фрагментов), в  том числе использование элементов, форматирования текста (установка паpaмeтpов шрифта, абзаца, внедрение заданных объектов в текст).

Билет №3

1. Дискретное представление  информации: двоичные числа; двоичное кодирование текста; в памяти компьютера. Информационный объем текста.

2. Создание и обработка графических изображений средствами графического редактора. Ввод изображения через сканер или с цифрового фотоаппарата. Простейшая обработка цифрового изображения.

Билет №4

1. Дискретное представление информации: копирование цветного изображения в компьютере (растровый подход). Представление и обработка звука и видеоизображения. Понятие мультимедиа.

2. Работа с файловой системой, с графическим интерфейсом (выполнение стандартных операций с файлами: создание, копирование, переименование, удаление). Организация индивидуального информационного пространства (настройка элементов рабочего стола, проверка на вирусы, использование архиватора).

Билет №5

1. Процесс передачи информации, источник и приемник  информации, канал передачи информации Скорость передачи информации.

2. Создание мультимедийной презентации на основе шаблонов. Выбор типа разметки слайда. Применение шаблона оформления, цветовых схем и эффектов анимации; Показ презентации с использованием автоматической смены слайдов.

Билет № 6

1. Понятие алгоритма. Исполнитель алгоритма. Система команд исполнителя (на примере учебного исполнителя). Свойства алгоритма. Способы записи алгоритмов; блок – схемы.

2. Создание базы данных. Определение структуры базы данных: количество и типы полей, заполнение таблиц (или использование готовых). Организация поиска информации в базах данных. Создание запросов разной сложности.

Билет № 7

1. Основные алгоритмические структуры: следование, ветвление, цикл; изображение на блок-схеме. Разбиение задач на подзадачи. Вспомогательные алгоритмы.

2. Работа с электронной таблицей. Создание таблицы в соответствии с условием задачи, использование  функций. Построение диаграмм и графиков по табличным данным.

Билет № 8

1. Величины: константы, переменные, типы вёличин. Присваивание, ввод и вывод величин. Линейные алгоритмы работы с величинами.

2. Поиск информации в Интернeте с применением языка запросов.

Билет № 9

1. Логические величины, операции, выражения. Логические выражения в качестве условий в ветвящихся и циклических aлгoритмах.

2. Форматирование текстового документа. Установка параметров страницы; вставка номеров страниц, колонтитулов, гиперссылок, изменение параметров шрифта и абзаца.

Билет № 10

1. Представление о программировании: язык программирования (на примере одного из языков высокого уровня); примеры несложных программ с линейной, ветвящейся и циклической структурой.

2. Работа  с архиваторами и антивирусными программами. Создание многотомного архива, использование антивирусных программ.

Билет № 11

1.Основные компоненты компьютера, их функциональное назначение и принципы работы. Программный принцип работы компьютера.

2. Построение алгоритма для обработки величин с реализацией на языке программирования (ветвление, цикл). Отладка программы и получение результатов.

Билет №12

1. Программное обеспечение компьютера, состав и структура. Назначение операционной системы. Командное взаимодействие пользователя с компьютером. Графический пользовательский интерфейс.

2. Создание мультимедийной презентации на основе шаблонов. Выбор типа разметки слайда, применение шаблона оформления, цветовых схем и эффектов анимации. Демонстрация слайдов с использованием управляющих кнопок.

Билет №13

1. Понятие файла и файловой системы организации данных (папка, иерархическая структура, имя файла, тип файла, параметры файла). Основные операции с файлами и папками, выполняемые пользователем. Понятие об архивировании и защите от вирусов.

2. Организация поиска информации в готовой базе данных с применением составного логического выражения.

Билет №14.

1. Информационные ресурсы общества. Основы информационной безопасности, этики и права.

2. Работа с электронной таблицей. Проведение вычислительного эксперимента в среде - электронной, таблицы. Решение задачи, с использованием электронной таблицы для изменяющихся начальных данных.

Билет №15

1. Технологии работы с текстовыми документами. Текстовые редакторы и процессоры: назначение и возможности. Основные структурные элементы текстового документа. Шрифты, стили, форматы. Основные приемы редактирования документа. Встраиваемые объекты. Понятие гипертекста.

2. Построение алгоритма и реализация на изучаемом языке программирования или в сpeдe учебного исполнителя. Демонстрация полученного алгоритма в среде учебного исполнителя или отладка программы и получение результатов.

Билет№16

1. Технологии работы с графической информацией. Растровая и векторная графика. Аппаратные средства ввода и вывода графических изображений. Прикладные программы работы с графикой. Графический редактор. Основные инструменты и режимы работы.

2. Решение задачи по теме «Системы счисления» на изучаемом языке программирования или с использованием стандартной программы «Калькулятор».

Билет № 17

1. Табличные базы данных (БД): основные понятия (поле, запись, первичный ключ записи); типы данных. Системы управления базами данных и принципы работы с ними. Поиск, удаление и сортировка данных в БД. Условия поиска (логические выражения); порядок и ключи сортировки.

2. Построение алгоритма для обработки величин с реализацией на языке программирования. (ветвление, цикл, линейный массив или вспомогательные алгоритмы). Отладка программы, получение результатов.

Билет №18.

1. Технология обработки информации в электронных таблицах (ЭТ). Структура электронной таблицы. Типы, данных: числа; формулы, текст. Правила записи формул. Основные встроенные функции. Абсолютные и относительные ссылки. Графическое представление данных.

2. Построение алгоритма для управления учебным исполнителем (основные алгоритмические структуры). Демонстрация полученного алгоритма в среде учебного исполнителя.

Билет №19

1.Основные принципы организации и функционирования компьютерных сетей. Интернет. Информационные ресурсы и сервисы компьютерных сетей: Всемирная паутина, файловые архивы, интерактивное общение. Назначение и возможности электронной почты. Поиск информации в Интернете.

2. Обработка цифрового изображения в графическом редакторе. Например, устранение дефектов, ретуширование и тоновая коррекция фотографии.

Билет №20

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

2. Построение алгоритма для обработки величин с реализацией на языке программирования (линейный массив или вспомогательные алгоритмы).