Рубрики
ЕГЭ Информатика

ПРИМЕР 1.1 Необходимо вычислить сумму длин сторон прямоугольника (периметр прямо­угольника). C клавиатуры…

ПРИМЕР 1.1

Необходимо вычислить сумму длин сторон прямоугольника (периметр прямо­угольника). C клавиатуры вводятся значения двух соседних сторон рассматривае­мого прямоугольника. Результат вычисления периметра следует вывести на экран. Текст необходимой программной разработки для решения данной задачи приведен в листинге Ll 8. Здесь используются два оператора ввода, в диалоге с которыми мы должны ввести два числа, обозначающие соседние стороны прямоугольника (для них в программе отводятся переменные а и в). После этого вычисляется удво­енная сумма сторон, которая и выводится на экран. Для того чтобы после вычисле­ния результат оставался на экране, мы воспользовались дополнительно функцией readln.

Прямоугольника^-r’*T’iJy√i’⅞⅛»∣

Program listing_l_18; var *

А, В, S:real;

Begin

Write (,Ввод А =1);

Readln (А);

Writein(’ Ввод В =,);

Readln(В);

S:=2* (А+В) ;

Write (, S = ’, S);

Readln end.

Учитывая, что в представленной программе используются вещественные числа, вывод удобнее выполнить не в экспоненциальной, а в обычной форме:

Write(,S=,,Sz4:!).

ПРИМЕР 1.2

Необходимо вычислить синус и косинус угла, введенного с клавиатуры. Будем счи­тать, что вводимое с клавиатуры значение угла измеряется в градусах. Однако стандартные тригонометрические функции системы Turbo Pascal требуют указания аргумента в радианах. В листинге 1. 19 представлена необходимая программа, где мы воспользовались уже знакомой функцией, которая в качестве своего значения выдает константу — число π. Далее производится пересчет угла из градусов в ра­дианы и выполняются вычисления тригонометрических функций. program listing_l_19;

Var

Y, С, S: real;

Begin

Write (’ Ввод Y =’);

Read(Y);

Y:=Y*pi/180;

C:=cos(Y);

Writein (‘Косинус равен =,, С);

Sι=sin(Y);

Writein (,Синус равен =’t S);

End.

ПРИМЕР 1,3

Требуется написать программу, которая будет вычислять стоимость покупки в ма­газине канцтоваров. Для определенности будем считать, что в покупаемый набор входят тетради и ручки (и тетради и ручки одного вида). C клавиатуры вводятся:

□ стоимость одной тетради;

□ стоимость одной ручки;

□ количество тетрадей и количество ручек.

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

Program listing_l_20;

Var

Ct, Cr, Sum:real;

Nt, Nr: integer;

Begin

Write (‘Ввод цены тетради =’);

Readl n (Ct);

Write(tВвод цены ручки =,);

Readln(Cr);

Write (,Ввод числа тетрадей =,);

Readln(Nt);

Write (‘ Ввод числа ручек =’);

Readln (Nr);

Sum:=Nt*Ct+Nr*Cr;

Writeln(‘Сумма покупки =’,Sum:5:2); end.

ПРИМЕР 1.4

Необходимо выполнить вычисление площади прямоугольного треугольника. При этом два катета треугольника вводятся с клавиатуры.

Здесь мы должны вспомнить формулу для вычисления площади прямоугольного треугольника:

S=~, (1.1)

Где А и BОбозначают длины катетов. В листинге 1.21 представлена необходимая программа, в которой после ввода двух параметров вычисляется площадь тре­угольника.

Листинг 1.21. Вычисление площади прямоугольного треугольника Z;

Program listing_l_21;

Var

А, В, S: real;

Begin

Write(,Ввод значения 1-го катета ‘);

Readln (А);

Write(’ Ввод значения 2-го катета ‘);

Read(В);

S:=A*B/2;

Write (‘ Площадь равна =’,S:5:2);

End.

ПРИМЕР 1.5

Требуется написать программу, которая должна рассчитать время поездки из пунк­та Л в пункт С. При этом необходимо сначала доехать по шоссе из А в В. а затем по грунтовой дороге из Б в пункт С. Длины путей (в километрах) из А в Б и из Б в C Вводятся с клавиатуры. Также с клавиатуры вводятся скорости по шоссе и по грун­товой дороге (единица измерения для скоростей — км/час). Время в пути необхо­димо вычислить с точностью до часа (следует округлить вычисленное значение).

Программа должна выполнить арифметические действия и отобразить результат (время в пути из А в Q на экране. В листинге 1.22 представлена необходимая про­грамма.

Program listing_l_22;

Var

Dab, Dbc, Vab, Vbcireal;

T: integer;

Begin

Write (* Ввод пути из А в В 1) ;

Readln (Dab);

Write(‘ Ввод пути из В в C ’);

Readln(Dbc);

Write(1Ввод скорости по шоссе ’);

Readln(Vab);

Write (,Ввод скорости по грунтовой дороге ‘);

Readln(Vbc);

Tz=round(Dab∕Vab+Dbc∕Vbc);

Writein(’ Время в пути =,,T);

End.

ПРИМЕР 1.6

Необходимо написать программу, которая должна выполнить преобразование вре­мени, выраженного в секундах, в соответствующее значение, представленное в ми­нутах и секундах. После выполнения необходимых преобразований результат сле­дует отобразить на экране. В листинге 1.23 ‘представлена программа, решающая поставленную задачу. Для получения количества минут мы воспользовались целочисленным делением исходного значения на 60. В данном случае остаток от целочисленного деления является числом секунд, добавляемым к вычисленным минутам.

Листинг 1.23. Преобразованиезначениявременивминутыисекунды

Program listing_l_23;

Var

VremyazMin, Sec: integer;

Begin

Write (‘Ввод значения времени в секундах =’);

Readln(Vremya);

Minz=Vremya div 60;

Secz=Vremya mod 60;

Write (Min, 1мин ’);

Write(Sec,’ Сек’);

End.

ПРИМЕР 1.7

Требуется написать программу, которая должна выполнить преобразование време­ни, выраженного в секундах, в соответствующее значение, только представленное в часах, минутах и секундах. Программа (листинг 1.24) получается лишь немного сложнее предыдущего примера.

ГЛистинг 1.24гГ}йобразрЪание значенйявремДнив часы, минутымрекунды l

Ltbtri∏ rrlΛv,<*bV>tM4b*¼ttvtl ∏v⅛t*tbv∙tbt÷ri* Mftf,⅛ri∙tv∙∙ιtv*hb√,∙tb**tfιtv*tIbVfitt^.Λb*^∙tb⅛t^t∣ΛnvfUbb∙t

Program listing_l_24;

Var

Vremya/Chas, Min, Seczxnteger;

Begin

Write (,Ввод значения времени в секундах =,);

Readln(Vremya);

Chasz=Vremya div 3600;

Minz = (Vremya mod 3600)div 60;

Secz= Vremya — Chas*3600 — Min*60;

Write(Chas,,час ’);

Write(Min,’ мин,);

Write(Sec,, ceκ ,);

End.

ПРИМЕР 1,8

C клавиатуры вводится двузначное число. Необходимо сформировать другое дву­значное число, в котором цифры исходного числа будут переставлены. Например, если исходное число 57, то число с переставленными цифрами равно 75. В листин­ге 1.25 приведена соответствующая программа. Здесь мы воспользовались уже зна­комыми операциями div и mod для выделения первой и второй цифры в числе. После1 этого цифра, присутствующая в разряде единиц, умножается на 10 (стано­вится в новом числе цифрой в разряде десятков) и складывается с другой.

; wк ΛТ/ i„ program listing_l_25;

Var

A:integer;

Begin

Write (,Введите двузначное число,);

Readln(А);

Az=(A div 10) + (A mod 10)*10;

Write(’ Число с перестановкой цифр равно’,А); end.

ПРИМЕР 1.9

C клавиатуры вводится трехзначное число. Необходимо подсчитать сумму цифр этого числа. Например, если исходное число 257, то число с просуммированными цифрами равно 14. В листинге 1.26 приведена программная разработка, решающая данную задачу. Переменные в, с и D мы отвели, соответственно, для первой, третьей и второй цифры исходного числа.

Program listing_l_26; var

А, В, С, Diinteger;

Begin

Write (‘ Введите трехзначное число,);

Readln (А);

8: =A mod JO;

С:=А div 100;

D:= (A mod 100) div 10;

Write(‘ Сумма цифр в числе равна ‘,B+C+D); end.

ПРИМЕР 1,10

C клавиатуры вводится четырехзначное число. Необходимо подсчитать сумму цифр этого числа. Например, если исходное число 1257, то число с просуммиро­ванными цифрами равно 15. В листинге 1.27 приведена программа, которая являет­ся фактически чуть более усложненным вариантом предыдущей разработки. На­значение переменных выглядит так:

□ в — для цифры в разряде единиц;

□ с — для цифры в разряде тысяч;

□ D — для цифры в разряде десятков;

□ E — для цифры в разряде сотен.

Program listing_l_27; var

А, В,С, D,E: integer;

Begin

Write (* Введите четырехзначное число 1);

Readln (А);

В:= A mod 10;

C:= A ‘div 1000;

D:= (A mod 100) div 10;

E:= (A mod 1000) div 100;

Write(‘ Сумма цифр в числе равна ‘,B+C+D+E); end.

ПРИМЕР 1,11

C клавиатуры вводится вещественное число. Необходимо определить первую циф­ру дробной части этого числа. Например, если исходное число 1257.237, то такая цифра равна 2. В листинге 1.28 приведена программа, которая реализует постав­ленную задачу. Мы воспользовались умножением исходного числа на IO для пере­вода первой цифры из дробной части в разряд единиц целой части. После этого с помощью стандартной функции trunc отбрасываем дробную часть. Далее оста­лось сформировать только остаток от целочисленного деления полученного резуль­тата на 10.

Листинг 1.28. Выделение первой цифры дробной части числа S 4 ∕∖-i tl’C * *∙∙*i⅛∙*<Λi∙r∙∙∙∙ik∙∙∙rt∙∙∙r∙∙,∙∙*i⅛∙∙<∙∙∙∙*∙ ∕∙Wo∙⅜⅜**<*4∙4∙∙V4∙'√<*4∙∙*WM∙∙4 «•**••»»«•■ >∙**4t’∙⅛∙∙∙kva∙*∙‰∙<*∙4∙>*⅛⅛4∙∙r^⅛i∙vaXzv¼4∙∙44ΛZ∙44*>ΛZb*∙***ι∙ v∙*i**w*4**r, a*⅜∙ v⅜∙∙*4 A∖*i⅛*∙**⅛ *<*•¥*« *⅜*⅛oi∙⅛⅛i⅞*<4 jawSf∙*i∙⅞*v*4∙*ζ∙4⅛i⅛aM∙⅛*∙4<^*⅜∙

Program listing_l_28; var

A:integer;

В: real;

Begin

Write (‘Введите вещественное число,);

Readln(В);

A:=trunc(B*10) mod 10;

Write (‘ Первая цифра дробной части равна ‘, А);

End.

ПРИМЕР 1.12

C клавиатуры вводится вещественное число. Необходимо найти сумму первых двух (старших) цифр дробной части числа. Например, если исходное число 1257.237, то сумма двух первых цифр дробной части равна 5. В листинге 1.29 приведена необ­ходимая программа. Аналогично шагам предыдущего примера мы сначала перено­сим первые две цифры из дробной части в целую. После этого отбрасываем остав­шуюся дробную часть и формируем двузначное число. На завершающем этапе сле­дует выделение цифр целого числа.

Rj∣⅛⅛⅛⅛ir (^Выделение Двух первых цифр дррбной части числа j√⅞’⅛⅛ 1

Н.» >>..wu>a aι⅜.>aAπλ>π√aaι>.>l t< .hau>.<.>k’aa∣aa><ιka.a⅛k’.fH>u. ι.a>.a>..<⅛>.a. h.taaa∣⅛.’ιa>v>’aHa’>obΛf.><'a'∕HU‘avif procpram listing_l_29;

Var

A, Cr D: integer;

В:real;

Begin

Write (,Введите вещественное число ‘);

Readln(В);

A:=trunc(B*100) mod 100;

С: =A mod 10;

D:= A div 10;

Write(,Сумма первых двух цифр дробной части числа ‘r C+D);

End.

ПРИМЕР 1.13

C клавиатуры вводится четырехзначное число. Необходимо в этом числе переста­вить первую и вторую цифру (поменять цифру в разряде единиц и цифру в разряде десятков). В листинге 1.30 приведена необходимая программа, в которой основные используемые приемы нам уже знакомы. Так, для выделения двух младших разря­дов в числе а мы воспользовались двумя операторами:

В:= A mod 10;

С: = (А mod 100) div 10;

После этого в исходном числе необходимо оставить цифры только в разрядах сотен и тысяч (получить исходное число без цифр в разрядах десятков и единиц). Таким образом, в результате мы получили составляющие искомого числа. На завершаю­щем этапе эти составляющие осталось объединить в единое целое:

E:= D + C + В*10.

Program listing_l_30; var

А, В,С, D,E: integer;

Begin

Write (‘ Введите четырехзначное число *);

Readln (А);

В: =A mod 10;

С: = (А mod 100)div 10;

D:= (A div 100)*100;

E:= D + C +B*10;

Write(,Число с переставленными цифрами равно ‘,E); end.

ПРИМЕР 1.14

C клавиатуры вводятся координаты точки (х, Y), расположенной на плоскости. Необходимо программно определить, попадает ли точка в область, определяемую следующими соотношениями:

Х>5 И Y>7.

Если точка попадает, то на экран необходимо выдать информирующее сообщение. Соответственно, если точка не попала в указанную область на экране, то это также должно быть отражено соответствующим сообщением.

В разработке (листинг 1.31) мы воспользовались переменной логического (булево — го) типа.

Program listing_l_31;

Var

X, Y: real;

Wzboolean;

Begin

Write (‘Введите координаты точки ‘);

Readln(X, Y);

Wz=(X>5) and (Y>7) ;

Writelπ(W)

End.

ПРИМЕР 1.15

C клавиатуры вводятся координаты точки (х, Y), расположенной на плоскости. Необходимо программно определить: попадает ли точка в круг с центром в начале координат и радиусом I?

Здесь мы должны вычислить расстояние от начала координат до точки на плоско­сти. При этом нам понадобится функция возведения в квадрат. Разработка, реали­зующая поставленную задачу, приведена в листинге 1.32.

: Листинг 1,32* Пррвфрка принадлежности^омкикругу, HV.’O,>>>√⅛’..∙iV>’<Λk'.'fΛ't<>r>lι’i√l А ■« A’<>‘>lilw(>lV.>U∙H >.∙.∙rt >ll’.,>.<.*>>>⅞i ,UwaIniHVHOWltHM a>λ√IU><>W(>a>><<>V. U l’>ι<.

Program listing_l_32;

Var

X, Y, Z: real;

Wiboolean;

Begin

Write (,Введите координаты точки,);

Readln(X, Y);

ZZ=Sqr(X)+Sqr(Y);

Wz=(Z<=l);

Writein(W)

End.

ПРИМЕР 1.16

C клавиатуры вводятся координаты точки (х, Y), расположенной на плоскости. Необходимо программно определить: попадает ли точка в круг радиуса 5 с центром в точке хо и YO. Предполагается, что координаты центра круга также вводятся с клавиатуры. Разработка, реализующая поставленную задачу, приведена в листин­ге 1.33.

Program listing_l_33;

Var

X, Y, X0, Y0, Z: real;

Wzboolean;

Begin

Write (‘Введите координаты точки ‘);

Readln(X, Y);

Write (,Введите координаты центра круга ‘);

Readln (XO, YO); «

Zz=Sqrtfsqr(X-XO)+sqr (Y-YO));

Wz=(Z<=5);

Writeln(W)

End.

ПРИМЕР 1.17

На плоскости расположен круг радиуса R с центром в точке хо и YO. Указанные па­раметры вводятся с клавиатуры. Необходимо программно определить: попадает ли центр координат в данный круг. Программа, решающая поставленную задачу, при­ведена в листинге 1.34.

Program listing_l_34;

Var

X0, Y0,R, Zzreal;

Wzboolean;

Begin

Write (,Введите координаты центра круга *);

Readln (XOzYO);

Write(’ Введите радиус круга ’);

Readln (R);

Zz=sqrt(sqr(XO)+sqr(YO));

Wz=(Z<=R);

Writein (W)

End.

ПРИМЕР 1.18

В плоскости расположены две точки. Координаты точек вводятся с клавиатуры. Необходимо программно определить расстояние между точками. Для решения за­дачи здесь необходимо воспользоваться теоремой Пифагора. Программа, решаю­щая поставленную задачу, приведена в листинге 1.35.

Program listing_l_35;

Var

XI, Yl, X2,Y2,Z:real;

Begin

Writ©(,Введите координаты первой точки *);

Readln (XI, Yl);

Write (‘ Введите координаты второй точки ‘);

Readln(X2,Y2);

Z:=sqrt(sqr(Xl-X2)+sqr(Y1-Y2));

Writein(Z:7:2)

End.

ПРИМЕР 1.19

В плоскости построен треугольник. Координаты вершин треугольника вводятся с клавиатуры. Необходимо программно определить периметр треугольника. Текст программной разработки приведен в листинге 1.36.

∑*^¾,»∙Z.’‘* ’ …….. ………………………………………………………. … v …..v∙,4…. …. 4….m∙…v..m, mm..4ψmmm4jmo…∙mt4∙^v.

Листинг 1.36. Вычисление периметра треугольника

R∙»….a>√v.’ι>. it ι.<.iιΛ..<>.r∙ι..*..’>.>⅛⅛..ii>>w.>.>⅜<ι >i√>.к. aVι4¾i’..√.ll<*M<.K'.<.>l i.4>l, a>∙a’aa4√aa’∖√a’a.∖^aι>.. la<.aa4>⅛i∙a∣’aζ⅛aa<∙iaa>*Λ√

Program listing_l_36;

Var

XI, Y1,X2,Y2,X3,Y3,Z:real;

Begin

Write (’ Введите координаты первой вершины ’);

Readln (XI, Yl);

Write(’ Введите координаты второй вершины,);

Readln (X2,Y2);

Write(‘ Введите координаты третьей вершины ‘);

Readln(X3,Y3);

Z:=sqrt(sqr(Xl-X2) +sqr(Y1-Y2) ) ;

Z:=Z+sqrt(sqr(X2-X3)+sqr(Y2-Y3));

Z:=Z+sqrt(sqr(Xl-X3)+sqr(Yl-Y3));

Writein (Z:7:2)

End.

ПРИМЕР 1.20

C клавиатуры вводится трехзначное число. Необходимо определить, есть ли в этом числе одинаковые цифры. Например, если исходное число 525, то программа должна выдать ответ «true». В листинге 1.37 приведена программа, решающая по­ставленную задачу. Назначение переменных таково:

□ в — для цифры в разряде единиц;

□ с — для цифры в разряде десятков;

□ D — для цифры в разряде сотен.

⅞tcfyκr 1.37. Анализ наличие одинаковых цифр л трехзна^ном числе √s ijrif χ√y>*u

ΛHri⅞atfΛtfotJ⅛‰{‰⅜SΛ⅛3iStoi√ι√.w. tf∙H⅛i⅛‰7∕.i⅛h^^^^

Program listing_l_37;

Var

AfBrCf Dtinteger;

Wtboolean;

Begin

Write (,Введите трехзначное число ‘);

Read3n(А);

В:= A mod 10;

C:= (A mod 100) div 10;

D:= A div 100;

W:= (B=C) or (B=D) or (C=D);

Writein(W)

End.

ПРИМЕР 1.21

C клавиатуры вводятся три различных числа. Необходимо сделать вывод о том, какое из чисел является максимальным. В листинге 1.38 приведена программа, ре­шающая поставленную задачу. •

Program listing_l_38;

Var

Ar Br C: integer;

Wlr W2 r W3 zboolean;

Begin

Write (,Введите три числа ‘);

Readin (ArBrC);

Wlz= (A>B)

And (A>C) ;

W2z= (B>A)

W3z= (OA) writein (‘А

And (B>C);

And (OB);

Максимальное — ,rWl);

Writein (,В

Максимальное — ‘r W2);

Writein (, C

Максимальное — ’rW3);

End.

Если не включать условие единственности максимального числа, то фрагмент лис­тинга 1.38 изменится наследующий:

подпись=b)
w2z= (b>=a)
w3z= (o=a)
» width=»80″ height=»55″ class=»»/>
подпись=c);
and (b>=c); and (o=b);
» width=»88″ height=»58″ class=»»/>

ПРИМЕР 1.22

C клавиатуры вводятся три числа. Необходимо сделать вывод о том, все ли они равны между собой или нет. В листинге 1.39 приведена программа, решающая по­ставленную задачу.

Листинг 1.39. Проверка чисел на равенстеф’г?

Program listing_l_39; var

А, В, C: integer;

Wzboolean;

Begin

Write (,Введите три числа ’);

Readln(А, В,С);

W:= (A=B) and (A=C);

Writein(‘ Все числа одинаковые — ‘,W); end.

Типовые задачи и задания из ЕГЭ за 2008 — 2010 годы

В этом разделе приведены готовые листинги программ, которые вам необходимо проанализировать. Создания каких-либо программных разработок здесь не требу­ется. В задачах желательно найти правильные ответы без использования компьюте­ра. В последнем разделе главы приведены правильные ответы.

ЗАДАЧА 1,1

В листинге 1.40 приведена программа с использованием действий над целыми чис­лами. Необходимо определить значения переменных айв, которые будут выведены на экран.

Листинг 1.40. Программа «задаче 1.>1 √,’.4 X

44W44*4r*⅜4√^V4 4 4^∙∙⅜W4i∣⅛∙W√∙⅜>*∙i‰Y-∙ I **V⅞T∙W∙O∙⅛*∙*I ∣ζ⅛4 l’tfrv*44⅞*,θit*l∕t4^444 w4∙k

Program listing_l_40; var

ArВ:integer; begin A:= 3 + 8*4;

B:= (A mod 10) + 14;

A:= (B mod 10) + 2; writein (’ A = ’ f A); writein(, B =,rB); end.

ЗАДАЧА 1.2

В листинге 1.41 приведена программа с использованием действий над целыми чис­лами. Необходимо определить значения переменных айв.

Program listing_l_41; var

AzBzinteger; begin

А:= 1819;

В:= (A div 100)*10 ÷ 9;

A:= (10*B — A) mod 100;

Writein (,А =,, А) ; writein(,В ≡’zB); end.

ЗАДАЧА 1,3

В листинге 1.42 приведена программа с использованием действий над целыми чис­лами. Необходимо без выполнения ее на компьютере определить значение пере­менной А.

Program listing__l_42; var А, В: integer;

Begin

А:= 1;

В:= 9;

А:== -А + В*2;

A:= 4*A mod 10;

Writein (, A ≈’zА); end.

ЗАДАЧА 1.4

В листинге 1.43 приведен фрагмент программы. Необходимо определить, что по­явится на экране после ее выполнения.

Program listing_l_43;

Var A:intec;er;

Begin

А:= 1;

A:= A*200; • writein (* А ’);

Writein (А, А, А) ; end.

ЗАДАЧА 1.5

В листинге 1.44 приведен фрагмент программы. Необходимо определить, что по­явится на экране после ее выполнения.

Листинг 1.44. Программам задаче 1,5 t

……….. …… ……………………………………………………………………………… ‘…. :……… :..

Program listing_l_44;

Var Azinteger;

Begin

А:= 1;

A:= A*200;

Writein (, A,,, ,,,A,);

Writein(А:5,А:7, А:1);

End.

ЗАДАЧА 1,6

В листинге 1.45 приведен фрагмент программы. Необходимо без выполнения ее на компьютере определить, что появится на экране после ее выполнения.

В данной программе используется стандартная процедура Turbo Pascal inc, которая увеличивает значение целочисленной переменной, задаваемой в качестве первого параметра. Это увеличение производится на единицу, если второй параметр отсут­ствует, или на значение, указанное в качестве второго параметра.

-Листинг 1,45. ,Программа к задаче 1.6 ‘

T¾⅜⅛⅛Λ^⅛⅛∙∙. *: ⅛>f, V J. > ∙:. z> ..>√.V⅛s/∖ . ,s■ *• • 4∙√5⅛’г ъ ∙ γ: *y;;:’ ⅛»* г.’As — :.⅛ i*⅛;⅛* >’,<*λ i

Program listing_l_45; var

A:integer;

Begin

А:= 100;

Inc (А) ;

Inc (А, 4);

Writeln(A) ;

End.

ЗАДАЧА 1.7

В листинге 1.46 приведен фрагмент программы. Необходимо определить, что по­явится на экране после ее выполнения.

Процедура dec уменьшает значение целочисленной переменной, задаваемой в качестве первого параметра. Это уменьшение производится на единицу, если второй параметр отсутствует, или на значение, указанное в качестве второго пара­метра.

Program listing_l_46; var

A: integer;

Begin

А: = 100;

Dec (А, А) ;

Inc (А, 5);

Writein (А);

End.

ЗАДАЧА 1.8

В листинге 1.47 приведена программа. Необходимо определить, что появится на экране после ее выполнения.

Program listing_l_47;

Var

N: integer;

Begin

N:=2;

N:=N*N*N;

N:= Sqr(N) *Sqr(N) ;

Write (, N= ,,N) end.

ЗАДАЧА 1.9

В листинге 1.48 приведен фрагмент программы с использованием вещественных чисел. Необходимо определить, что появится на экране после ее выполнения.

Program listing_l_48;

Var

Z, W,X:real;

Begin

Wz=2*2.54;

Zz=I.15;

Xz=W-2*Z;

Write (‘ Summa =,,X:4:1) end.

ЗАДАЧА 1.10

В листинге 1.49 приведен пример программы, которая касается вычислительных действий над целыми числами. Необходимо определить результат, который мы увидим на экране после выполнения программы.

……………………………………………………………………. ,.,.jf……………………………… „-..у…

Листинг 1.49. Программа к задачеЛЛО «

‘ » ‘ ‘»‘. «> л»’

Program listing_l_49;

Var

NzMzWzinteger;

Begin

Nz=7;

Mz=12;

Inc(N);

Wz=N;

Nz=M;

Mz=W;

Writeln(‘N равняется’zN);

Writein (‘M равняется’zM) end.

ЗАДАЧА 1.11

В листинге 1.50 приведен пример программы, которая касается использования стандартных функций системы Turbo Pascal. Необходимо определить число, кото­рое мы увидим на экране в результате выполнения программы.

Program listing_l_50;

Var

Mzinteger;

Begin

M:= -6;

Mz = Sqr (-abs (M)+round(pi) ) ;

Writein (M)

End.

ЗАДАЧА 1,12

В листинге 1.51 приведена программа, которая реализует использование уже зна­комых функций для преобразования вещественных чисел в целые. Необходимо оп­ределить, что будет выведено на экран.

Program listing_l_51;

Var

N: integer;

S:real;

Begin

S.∙=-2.4;

N:= trunc(2*S)+ round(abs(S));

Writein (N)

End.

ЗАДАЧА 1.13

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

Листинг 1.52. Программа К задаче 1.13 |

Program listing_l_52;

Var

W: char;

X: integer;

Begin

Wz=,5′;

Xz=ord(W)-ord(’0’);

Wz=≈’2′;

X: =10*X+ord (W) — ord (, 0,); write (X)

End.

ЗАДАЧА 1.14

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

Program listing_l_53; var W: char;

Xzinteger;

Begin

Wι=’4′;

X:=ord(W)-ord(’ 9,);

W:=’5′;

X:=10*X+ord(W)-ord(‘7’);

Write (X)

End.

ЗАДАЧА 1.15

В листинге 1.54 приведена программа, которая использует две уже знакомые функ­ции для работы с символами. Необходимо определить, что будет выведено на экран в конце программы.

[ Листинг 1.54; Программа ^задаче 1Л5⅛ j⅛⅞ √ J «v’ -∖’V-4″1

Program listing_l_54;

Var

W: char; X: integer; begin W:= ,5,; X:= ord(W)-l; W:= chr(X+l); X:=10*(ord(W)-ord (,4,)); writein (W,1 ’,X) end.

ЗАДАЧА 1.16

В листинге 1.55 приведена программа с использованием действий над целыми чис­лами. Необходимо определить значение переменной с, которое будет выведено на экран в конце программы.

?Листинг1.55.Программакзадаче1.16’г4 ∣ / ч — ; x

U⅛∙∙*4k∙.l*k∙∕**∙**<*.∙∙∙*<∙∙*∙<∙*.∙∙*∙⅛∙∙∙∙∙H∙∙4⅞∙k. Ala√∙∙∙b∙C∙b⅛∙ib^4∙∙*∙^∙*./*.............................. Ub...v.√∙⅜∙*.U∙∙.% A*.∙Uibu∖*brU*k∕U∙¼VU. V.∙. •«*« ««4 ⅜∙*k⅜ •••••••»«»• VU U *∙.n∙∙4ι .kιU∙.∙∙⅛*kaU. .>i∙∙Λ⅜.∙∙∙∖∙f4⅛U∙∙re∙t *b∙UlVU4.k∙t W∙∙Uk∙V4U∙∙∙U. V∙√t1⅛Ul∙rt∙**VM∙k*’*∙f

Program listing_l_55;

Var

А, В, C: integer;

Begin

А:= 7;

А:= А — 4;

В:= — А;

С:=-А+2*В;

Writein (‘C =,,C);

End.

ЗАДАЧА 1,17

В листинге 1.56 приведена программа с использованием действий над целыми чис­лами. Необходимо определить значения переменных х и Y9которые в конце про­граммы будут выведены на экран.

Program listing_l_56;

Var

X, Y: integer;

Begin

X:= 8+2*5;

Y:= (X mod 10) + 14;

X:= (Y div 10) + 3;

Writein(‘X =,,X, ‘ Y =’,X ); end.

ЗАДАЧА 1,18

В листинге 1.57 приведена программа с использованием действий над целыми чис­лами. Необходимо определить значения переменных х и Y9которые в конце про­граммы будут выведены на экран.

Program listing_l_57;

Var

X, Y: integer;

Begin

X:= 4+8*3;

Y:= (X mod 10) + 15;

X:= (Y div 10) + 3;

Writein(‘X =’,X, ‘ Y =,,X ); end.

ЗАДАЧА 1,19

В листинге 1.58 приведена программа с использованием действий над целыми чис­лами. Необходимо определить значение переменной C5которое будет выведено на экран.

Program listing_l_58; var

А, В, C: integer;

3 Зак. 733

Begin

А:= 3;

В:= А + 3;

В:= 1 — В;

С:=-В+3*А;

Writein(‘C =’,С); end.

Ответы к задачам и заданиям из ЕГЭ

Задача 1,1

Первый вычислительный оператор в программе листинга 1.40 приводит к результа­ту: А:=35. Остаток от деления 35 на IO равен 5. Далее это число складывается с 14 и результат (19) записывается в переменную в. Таким образом, ответ на один вопрос — значение переменной в равно 19. Остаток от деления 19 на 10 равен 9. Далее это число складывается с числом 2 и результат (11) записывается в перемен­ную а. В результате значение переменной а равняется 11.

Ответ: 11 и 19.

Задача 1.2

Результат целочисленного деления 1819 на IOO равен 18. Это значение умножается на 10, а результат складывается с числом 9 (в итоге получается 189). Такум обра­зом, значение в после выполнения второго оператора равно 189. В третьем опера­торе выражение в скобках дает результат 71 (189 умножается на Ю, а из результата вычитается 1819). Остаток от деления 71 на 100 равен 71. Таким образом, значение переменной а равняется 71, а переменной в равняется 189.

Задача 1,3

Первый вычислительный оператор в программе листинга 1.3 приводит к занесению в переменную а числа 17 (из 18 вычитается I). Далее в следующем операторе поря­док приоритетности операций говорит о том, что сначала будет выполнена опера­ция умножения, а затем вычисление остатка от деления IO (точнее, приоритет опе­раций одинаков, но первым в выражении стоит знак умножения). В результате в процессе вычисления мы получим число 8.

Задача 1.4

В программе листинга 1.43 приведены два оператора вывода информации на экран. При этом первый оператор выводит пробел и букву а, после чего выполняется перевод строки. В следующей строке три раза подряд выводится значение пере­менной а. В результате мы увидим:

А

200200200

Задача 1.5

В программе листинга 1.44 приведены два операторы вывода информации на экран. При этом первый оператор выводит набор символов, после чего выполняется пере­вод строки. В следующей строке три раза подряд выводится значение переменной а с определенным форматированием. В результате мы увидим:

А А

200 200200

Задача 1.6

В связи с приведенным комментарием при постановке задачи значение переменной а сначала увеличится на I, а затем еще на 4. В результате на экране мы увидим:

105.

Задача 1.7

Учитывая комментарий, приведенный при постановке задачи, значение переменной а сначала уменьшается на I00, а затем увеличивается на 5. В результате на экране мы увидим число 5.

Задача 1,8

Здесь сначала 2 возводится в куб (результат равен 8). После этого выполняется вы­числение квадрата числа 8, который умножается сам на себя. В результате получим 4096.

Задача 1.9

Здесь выполняются действия с вещественными числами. Вывод результата пред­ставлен в обычном формате с ограничением числа разрядов дробной части.

Вычисления вручную дают:

5.08 — 2.3 = 2.78.

Округление до одного разряда дробной части приводит к числу 2.8.

Задача 1.10

Фактически в тексте программы листинга I.49 осуществляется обмен значений. При этом предварительно исходное значение переменной N увеличивается на еди­ницу. В результате мы увидим на экране, что N равняется 12, а м примет значение 8.

Задача 1.11

Здесь выполняется вычисление модуля числа м, а затем округление числа π. Далее сумма этих составляющих возводится в квадрат. В результате мы получим число 9.

Задача 1.12

В программе осуществляется вычисление выражения из двух слагаемых. Первое слагаемое представляет целую часть от произведения 2 на -2.4, что дает -4. В ре­зультате вычисления второго слагаемого получим ответ: 2. И в конечном итоге от­вет равен -2.

Задача 1.13

Первое вычисление х представляет вычитание кодов двух символов. Учитывая, что коды цифр расположены плотно, вычисление приводит к ответу: х=5. Второе дейст­вие формирует ответ, равный 52.

Задача 1.14

Здесь первая вычислительная операция дает ответ: -5. Второе действие формирует ответ: -52.

Задача 1.15

Вычисление х во второй строке исполнительной части программы приводит к коду числа 4 (из ASCII-кода числа 5 вычитается единица). В следующей строке получаем символ 5. Это значение будет первым выведено на экран. Второй резуль­тат— это число Ю. Таким образом, на экране мы увидим:

5 10

Задача 1.16

Первый вычислительный оператор (после присвоения переменной а значения 7) в программе листинга I.55 приводит к результату: А:=з. Далее вычисляется значе­ние переменной в, что приводит к значению — з. После этого вычисляется значение переменной с, что дает значение -9. Это результат сложения — з и -6.

Ответ: -9.

Задача 1.17

В первой строке с вычислением рассчитывается значение переменной х, которое равно 18. Далее в следующей строке число 14 складывается с остатком отделения 18 на 10. В результате этого действия переменная Y принимает значение 22. В по­следней вычислительной строке производится целочисленное деление 22 на Ю, что дает 2. К этому значению добавляется 3 и результат заносится в переменную х. Та­ким образом, х=5.

Ответ: x=5 γ=22.

Задача 1.18

В первой строке с вычислением рассчитывается значение переменной х, которое равно 16. Далее в следующей строке число 15 складывается с остатком от деления 16 на Ю. В результате этого действия переменная γ принимает значение 21. В по­следней вычислительной строке производится целочисленное деление 21 на Ю, что дает 2. К этому значению добавляется 3 и результат заносится в переменную х.

Ответ: x=5 γ=2i.

Задача 1.19

Первый вычислительный оператор (после присвоения переменной а значения 3) в программе листинга 1.58 приводит к результату: В:=6. Далее вычисляется новое значение переменной в, что приводит к значению -5. После этого вычисляется зна­чение переменной с, что дает значение 14.

Ответ: 14.

ГЛАВА 2

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *