Ввод и вывод данных, оператор присваивания



 

Все входные и выходные данные в заданиях этой группы являются веще-

ственными числами.

 

Begin1◦. Дана сторона квадрата a. Найти его периметр P = 4·a.

Begin2◦. Дана сторона квадрата a. Найти его площадь S = a2.

Begin3◦. Даны стороны прямоугольника a и b. Найти его площадь S = a·b и

периметр P = 2·(a + b).

Begin4◦. Дан диаметр окружности d. Найти ее длину L=π·d. В качестве

Значение π использовать 3.14.

Begin5◦. Дана длина ребра куба a. Найти объем куба V=a2 и площадь его

поверхности S = 6·a2.

Begin6◦. Даны длины ребер a,b,c прямоугольного параллелепипеда. Найти

его объем V = a·b·c и площадь поверхности S = 2·(a·b + b·c + a·c).

Begin7◦. Найти длину окружности L и площадь круга S заданного радиуса R:


L = 2·π·R,


S = π·R2.


В качестве значения π использовать 3.14.

Begin8◦. Даны два числа a и b. Найти их среднее арифметическое: (a + b)/2.

Begin9◦. Даны два неотрицательных числа a и b. Найти их среднее геометри-

ческое, то есть квадратный корень из их произведения:√a·b.

Begin10◦. Даны два ненулевых числа. Найти сумму, разность, произведение и

частное их квадратов.

Begin11◦. Даны два ненулевых числа. Найти сумму, разность, произведение и

частное их модулей.

Begin12◦. Даны катеты прямоугольного треугольника a и b. Найти его гипо-


тенузу c и периметр P:

c=

P=a+b+c


Begin13◦. Даны два круга с общим центром и радиусами R1и R2(R1> R2).

Найти площади этих кругов S1и S2, а также площадь S3кольца, внешний

радиус которого равен R1, а внутренний радиус равен R2 :


S1= π·(R1)2,


S2= π·(R2)2,


S3= S1S2.


В качестве значения π использовать 3.14.

Begin14◦. Дана длина L окружности. Найти ее радиус R и площадь S круга,

ограниченного этой окружностью, учиывая, что L = 2·π·R, S = π·R2. В

качестве значения π использовать 3.14.



12


М. Э. Абрамян. Электронный задачник Programming Taskbook 4.6


 

 

Begin15◦. Дана площадь S круга. Найти его диаметр D и длину L окружности,

ограничивающей этот круг, учитывая, что L = 2·π·R, S = π·R2. В качестве

значения π использовать 3.14.

Begin16◦. Найти расстояние между двумя точками с заданными координата-

ми x1и x2на числовой оси: |x2x1|.

Begin17◦. Даны три точки A, B, C на числовой оси. Найти длины отрезков AC

и BC и их сумму.

Begin18◦. Даны три точки A, B, C на числовой оси. Точка C расположена

между точками A и B. Найти произведение длин отрезков AC и BC.

Begin19◦. Даны координаты двух противоположных вершин прямоугольника:

(x1, y1), (x2,y2). Стороны прямоугольника параллельны осям координат.

Найти периметр и площадь данного прямоугольника.

Begin20◦. Найти расстояние между двумя точками с заданными координатами

(x1, y1) и (x2, y2) на плоскости. Расстояние вычисляется по формуле

Begin21 ◦. Даны координаты трех вершин треугольника: (x1, y1), (x2, y2), (x3, y3).

Найти его периметр и площадь, используя формулу для расстояния меж-

ду двумя точками на плоскоcти:

Для нахождения площади треугольника состоронами a, b, c использовать формулу Герона:

S = ,

где p = (a + b + c)/2 — полупериметр.

Begin22◦. Поменять местами содержимое переменных A и B и вывести новые

значения A и B.

Begin23◦. Даны переменные A, B, C. Изменить их значения, переместив содер-

жимое A в B, B — в C, C — в A, и вывести новые значения переменных A,

B, C.

Begin24◦. Даны переменные A, B, C. Изменить их значения, переместив содер-

жимое A в C, C — в B, B — в A, и вывести новые значения переменных A,

B, C.

Begin25◦. Найти значение функции y = 3x6 − 6x2 − 7 при данном значении x.

Begin26◦. Найти значение функции y= 4(x−3)6−7(x−3)3 + 2 при данном

значении x.

Begin27◦. Дано число A. Вычислить A8, используя вспомогательную перемен-

ную и три операции умножения. Для этого последовательно находить A2,

A4 , A8. Вывести все найденные степени числа A.



Ввод и вывод данных, оператор присваивания
13


 

 

Begin28◦.Дано число A.Вычислите А15 ,используя две вспомогательные пере-

менные и пять операций умножения. Для этого последовательно находить

A2, A3, A5, A10, A15. Вывести все найденные степени числа A.

Begin29◦. Дано значение угла α в градусах (0 < α < 360). Определить значение

этого же угла в радианах, учитывая, что 180º=π радианов. В качестве

значения π использовать 3.14.

Begin30◦. Дано значение угла α в радианах (0 < α < 2π). Определить значение

этого же угла в градусах, учитывая, что 180º=π радианов. В качестве

значения π использовать 3.14.

Begin31◦. Дано значение температуры T в градусах Фаренгейта. Определить

значение этой же температуры в градусах Цельсия. Температура по Цель-

сию TC и температура по Фаренгейту TF связаны следующим соотноше-

нием:

TC= (TF− 32)·5/9.

Begin32◦. Дано значение температуры T в градусах Цельсия. Определить зна-

чение этой же температуры в градусах Фаренгейта. Температура по Цель-

сию TC и температура по Фаренгейту TF связаны следующим соотноше-

нием:

T C = (T F − 32)·5/9.

Begin33◦. Известно, что X кг конфет стоит A рублей. Определить, сколько

стоит 1 кг и Y кг этих же конфет.

Begin34◦. Известно, что X кг шоколадных конфет стоит A рублей, а Y кг ири-

сок стоит B рублей. Определить, сколько стоит 1 кг шоколадных конфет,

1 кг ирисок, а также во сколько раз шоколадные конфеты дороже ирисок.

Begin35◦. Скорость лодки в стоячей воде V км/ч, скорость течения реки U км/ч

(U < V ). Время движения лодки по озеру T1 ч, а по реке (против течения)

T2 ч. Определить путь S, пройденный лодкой (путь = время · скорость).

Учесть, что при движении против течения скорость лодки уменьшается

на величину скорости течения.

Begin36◦. Скорость первого автомобиля V1 км/ч, второго — V2 км/ч, расстоя-

ние между ними S км. Определить расстояние между ними через T часов,

если автомобили удаляются друг от друга. Данное расстояние равно сум-

ме начального расстояния и общего пути, проделанного автомобилями;

= t ·υ ,где υ- суммарная скорость.

Begin37◦. Скорость первого автомобиля V1 км/ч, второго — V2 км/ч, расстоя-

ние между ними S км. Определить расстояние между ними через T часов,

если автомобили первоначально движутся навстречу друг другу. Данное



14


М. Э. Абрамян. Электронный задачник Programming Taskbook 4.6

 

 

расстояние равно модулю разности начального расстояния и общего пути,

проделанного автомобилями; = t ·υ , где υ- суммарная скорость


Begin38◦. Решить линейное уравнение A·x + B = 0, заданное своими коэффи-

циентами A и B (коэффициент A не равен 0).

Begin39◦. Найти корни квадратного уравнения Ax2+Bx +C= 0, задан-

ного своими коэффициентами A,B,C(коэффициент A не равен 0), ес-

ли известно, что дискриминант уравнения положителен. Вывести внача-

ле меньший, а затем больший из найденных корней. Корни квадратного


уравнения находятся по формуле:

=(- )/(2A),

 


где Dдискриминант, равный B2− 4A·C.

Begin40◦. Найти решение системы линейных уравнений вида

A1·x + B1·y = C1,

A2·x + B2·y = C2,

заданной своими коэффициентами A1, B1, C1, A2, B2, C2, если известно,

что данная система имеет единственное решение. Воспользоваться фор-

мулами


x = (C1·B2C2·B1)/D,


y = (A1·C2A2·C1)/D,


 

Целые числа


где D = A1·B2A2·B1.


 

Все входные и выходные данные в заданиях этой группы являются це-

лыми числами. Все числа, для которых указано количество цифр (двузначное

число, трехзначное число и т. д.), считаются положительными.

Integer1◦. Дано расстояние L в сантиметрах. Используя операцию деления

нацело, найти количество полных метров в нем (1 метр = 100 см).

Integer2◦. Дана масса M в килограммах. Используя операцию деления нацело,

найти количество полных тонн в ней (1 тонна = 1000 кг).

Integer3◦. Дан размер файла в байтах. Используя операцию деления нацело,

найти количество полных килобайтов, которые занимает данный файл

(1 килобайт = 1024 байта).

Integer4◦. Даны целые положительные числа A и B (A > B). На отрезке дли-

ны A размещено максимально возможное количество отрезков длины B

(без наложений). Используя операцию деления нацело, найти количество

отрезков B, размещенных на отрезке A.



Целые числа



 

 

Integer5◦. Даны целые положительные числа A и B (A > B). На отрезке длины A

размещено максимально возможное количество отрезков длины B (без

наложений). Используя операцию взятия остатка от деления нацело, найти

длину незанятой части отрезка A.

Integer6◦. Дано двузначное число. Вывести вначале его левую цифру (десят-

ки), а затем — его правую цифру (единицы). Для нахождения десятков

использовать операцию деления нацело, для нахождения единиц — опе-

рацию взятия остатка от деления.

Integer7◦. Дано двузначное число. Найти сумму и произведение его цифр.

Integer8◦. Дано двузначное число. Вывести число, полученное при переста-

новке цифр исходного числа.

Integer9◦. Дано трехзначное число. Используя одну операцию деления нацело,

вывести первую цифру данного числа (сотни).

Integer10◦. Дано трехзначное число. Вывести вначале его последнюю цифру

(единицы), а затем — его среднюю цифру (десятки).

Integer11◦. Дано трехзначное число. Найти сумму и произведение его цифр.

Integer12◦. Дано трехзначное число. Вывести число, полученное при прочте-

нии исходного числа справа налево.

Integer13◦. Дано трехзначное число. В нем зачеркнули первую слева цифру и

приписали ее справа. Вывести полученное число.

Integer14◦. Дано трехзначное число. В нем зачеркнули первую справа цифру

и приписали ее слева. Вывести полученное число.

Integer15◦. Дано трехзначное число. Вывести число, полученное при переста-

новке цифр сотен и десятков исходного числа (например, 123 перейдет в

213).

Integer16◦. Дано трехзначное число. Вывести число, полученное при переста-

новке цифр десятков и единиц исходного числа (например, 123 перейдет

в 132).

Integer17◦. Дано целое число, большее 999. Используя одну операцию деле-

ния нацело и одну операцию взятия остатка от деления, найти цифру,

соответствующую разряду сотен в записи этого числа.

Integer18◦. Дано целое число, большее 999. Используя одну операцию деле-

ния нацело и одну операцию взятия остатка от деления, найти цифру,

соответствующую разряду тысяч в записи этого числа.

Integer19◦. С начала суток прошло N секунд (N — целое). Найти количество

полных минут, прошедших с начала суток.



16


М. Э. Абрамян. Электронный задачник Programming Taskbook 4.6


 

 

Integer20◦. С начала суток прошло N секунд (N — целое). Найти количество

полных часов, прошедших с начала суток.

Integer21◦. С начала суток прошло N секунд (N — целое). Найти количество

секунд, прошедших с начала последней минуты.

Integer22◦. С начала суток прошло N секунд (N — целое). Найти количество

секунд, прошедших с начала последнего часа.

Integer23◦. С начала суток прошло N секунд (N — целое). Найти количество

полных минут, прошедших с начала последнего часа.

Integer24◦. Дни недели пронумерованы следующим образом: 0 — воскресенье,

1 — понедельник, 2 — вторник, . . . , 6 — суббота. Дано целое число K,

лежащее в диапазоне 1–365. Определить номер дня недели для K -го дня

года, если известно, что в этом году 1 января было понедельником.

Integer25◦. Дни недели пронумерованы следующим образом: 0 — воскресенье,

1 — понедельник, 2 — вторник, . . . , 6 — суббота. Дано целое число K,

лежащее в диапазоне 1–365. Определить номер дня недели для K -го дня

года, если известно, что в этом году 1 января было четвергом.

Integer26◦. Дни недели пронумерованы следующим образом: 1 — понедель-

ник, 2 — вторник, . . . , 6 — суббота, 7 — воскресенье. Дано целое число K,

лежащее в диапазоне 1–365. Определить номер дня недели для K -го дня

года, если известно, что в этом году 1 января было вторником.

Integer27◦. Дни недели пронумерованы следующим образом: 1 — понедель-

ник, 2 — вторник, . . . , 6 — суббота, 7 — воскресенье. Дано целое число K,

лежащее в диапазоне 1–365. Определить номер дня недели для K -го дня

года, если известно, что в этом году 1 января было субботой.

Integer28◦. Дни недели пронумерованы следующим образом: 1 — понедель-

ник, 2 — вторник, . . . , 6 — суббота, 7 — воскресенье. Дано целое число K,

лежащее в диапазоне 1–365, и целое число N, лежащее в диапазоне 1–7.

Определить номер дня недели для K -го дня года, если известно, что в

этом году 1 января было днем недели с номером N.

Integer29◦. Даны целые положительные числа A, B, C. На прямоугольнике раз-

мера A Ч B размещено максимально возможное количество квадратов со

стороной C (без наложений). Найти количество квадратов, размещенных

на прямоугольнике, а также площадь незанятой части прямоугольника.

Integer30◦. Дан номер некоторого года (целое положительное число). Опре-

делить соответствующий ему номер столетия, учитывая, что, к примеру,

началом 20 столетия был 1901 год.



Логические выражения

 

 

Логические выражения



 

Во всех заданиях данной группы требуется вывести логическое значение

TRUE, если приведенное высказывание для предложенных исходных данных

является истинным, и значение FALSE в противном случае. Все числа, для ко-

торых указано количество цифр (двузначное число, трехзначное число и т. д.),

считаются целыми положительными.

 

Boolean1◦. Дано целое число A. Проверить истинность высказывания: «Чис-

ло A является положительным».

Boolean2◦. Дано целое число A. Проверить истинность высказывания: «Чис-

ло A является нечетным».

Boolean3◦. Дано целое число A. Проверить истинность высказывания: «Чис-

ло A является четным».

Boolean4◦. Даны два целых числа: A, B. Проверить истинность высказывания:

«Справедливы неравенства A > 2 и B ≤ 3».

Boolean5◦. Даны два целых числа: A, B. Проверить истинность высказывания:

«Справедливы неравенства A ≥ 0 или B < −2».

Boolean6◦. Даны три целых числа: A, B, C. Проверить истинность высказы-

вания: «Справедливо двойное неравенство A < B < C».

Boolean7◦. Даны три целых числа: A, B, C. Проверить истинность высказы-

вания: «Число B находится между числами A и C ».

Boolean8◦. Даны два целых числа: A, B. Проверить истинность высказывания:

«Каждое из чисел A и B нечетное».

Boolean9◦. Даны два целых числа: A, B. Проверить истинность высказывания:

«Хотя бы одно из чисел A и B нечетное».

Boolean10◦. Даны два целых числа: A, B. Проверить истинность высказыва-

ния: «Ровно одно из чисел A и B нечетное».

Boolean11◦. Даны два целых числа: A, B. Проверить истинность высказыва-

ния: «Числа A и B имеют одинаковую четность».

Boolean12◦. Даны три целых числа: A, B, C. Проверить истинность высказы-

вания: «Каждое из чисел A, B, C положительное».

Boolean13◦. Даны три целых числа: A, B, C. Проверить истинность высказы-

вания: «Хотя бы одно из чисел A, B, C положительное».

Boolean14◦. Даны три целых числа: A, B, C. Проверить истинность высказы-

вания: «Ровно одно из чисел A, B, C положительное».



18


М. Э. Абрамян. Электронный задачник Programming Taskbook 4.6


 

 

Boolean15◦. Даны три целых числа: A, B, C. Проверить истинность высказы-

вания: «Ровно два из чисел A, B, C являются положительными».

Boolean16◦. Дано целое положительное число. Проверить истинность выска-

зывания: «Данное число является четным двузначным».

Boolean17◦. Дано целое положительное число. Проверить истинность выска-

зывания: «Данное число является нечетным трехзначным».

Boolean18◦. Проверить истинность высказывания: «Среди трех данных целых

чисел есть хотя бы одна пара совпадающих».

Boolean19◦. Проверить истинность высказывания: «Среди трех данных целых

чисел есть хотя бы одна пара взаимно противоположных».

Boolean20◦. Дано трехзначное число. Проверить истинность высказывания:

«Все цифры данного числа различны».

Boolean21◦. Дано трехзначное число. Проверить истинность высказывания:

«Цифры данного числа образуют возрастающую последовательность».

Boolean22◦. Дано трехзначное число. Проверить истинность высказывания:

«Цифры данного числа образуют возрастающую или убывающую после-

довательность».

Boolean23◦. Дано четырехзначное число. Проверить истинность высказыва-

ния: «Данное число читается одинаково слева направо и справа налево».

Boolean24◦. Даны числа A, B, C (число A не равно 0). Рассмотрев дискрими-

нант D = B2− 4·A·C, проверить истинность высказывания: «Квадратное

уравнение Ax2+ B·x + C = 0 имеет вещественные корни».

Boolean25◦. Даны числа x, y. Проверить истинность высказывания: «Точка с

координатами (x, y) лежит во второй координатной четверти».

Boolean26◦. Даны числа x, y. Проверить истинность высказывания: «Точка с

координатами (x, y) лежит в четвертой координатной четверти».

Boolean27◦. Даны числа x, y. Проверить истинность высказывания: «Точка с

координатами (x, y) лежит во второй или третьей координатной четверти».

Boolean28◦. Даны числа x, y. Проверить истинность высказывания: «Точка с

координатами (x, y) лежит в первой или третьей координатной четверти».

Boolean29◦. Даны числа x, y, x1, y1, x2, y2. Проверить истинность высказыва-

ния: «Точка с координатами (x, y) лежит внутри прямоугольника, левая

верхняя вершина которого имеет координаты (x1,y1), правая нижняя —

(x2, y2), а стороны параллельны координатным осям».

Boolean30◦. Даны целые числа a, b, c, являющиеся сторонами некоторого тре-

угольника. Проверить истинность высказывания: «Треугольник со сторо-



Логические выражения

 

 

нами a, b, c является равносторонним».



Boolean31◦. Даны целые числа a, b, c, являющиеся сторонами некоторого тре-

угольника. Проверить истинность высказывания: «Треугольник со сторо-

нами a, b, c является равнобедренным».

Boolean32◦. Даны целые числа a, b, c, являющиеся сторонами некоторого тре-

угольника. Проверить истинность высказывания: «Треугольник со сторо-

нами a, b, c является прямоугольным».

Boolean33◦. Даны целые числа a, b, c. Проверить истинность высказывания:

«Существует треугольник со сторонами a, b, c».

Boolean34◦. Даны координаты поля шахматной доски x, y (целые числа, ле-

жащие в диапазоне 1–8). Учитывая, что левое нижнее поле доски (1, 1)

является черным, проверить истинность высказывания: «Данное поле яв-

ляется белым».

Boolean35◦. Даны координаты двух различных полей шахматной доски x1,

y1, x2, y2 (целые числа, лежащие в диапазоне 1–8). Проверить истинность

высказывания: «Данные поля имеют одинаковый цвет».

Boolean36◦. Даны координаты двух различных полей шахматной доски x1 , y1,

x2, y2(целые числа, лежащие в диапазоне 1–8). Проверить истинность вы-

сказывания: «Ладья за один ход может перейти с одного поля на другое».

Boolean37◦. Даны координаты двух различных полей шахматной доски x1,

y1, x2, y2(целые числа, лежащие в диапазоне 1–8). Проверить истинность

высказывания: «Король за один ход может перейти с одного поля на дру-

гое».

Boolean38◦. Даны координаты двух различных полей шахматной доски x1,

y1, x2, y2(целые числа, лежащие в диапазоне 1–8). Проверить истинность

высказывания: «Слон за один ход может перейти с одного поля на другое».

Boolean39◦. Даны координаты двух различных полей шахматной доски x1, y1,

x2, y2(целые числа, лежащие в диапазоне 1–8). Проверить истинность вы-

сказывания: «Ферзь за один ход может перейти с одного поля на другое».

Boolean40◦. Даны координаты двух различных полей шахматной доски x1,

y1, x2, y2(целые числа, лежащие в диапазоне 1–8). Проверить истинность

высказывания: «Конь за один ход может перейти с одного поля на другое».



20


М. Э. Абрамян. Электронный задачник Programming Taskbook 4.6


 

 

Условный оператор

 

If1. Дано целое число. Если оно является положительным, то прибавить к

нему 1; в противном случае не изменять его. Вывести полученное число.

If2. Дано целое число. Если оно является положительным, то прибавить к

нему 1; в противном случае вычесть из него 2. Вывести полученное число.

If3. Дано целое число. Если оно является положительным, то прибавить к

нему 1; если отрицательным, то вычесть из него 2; если нулевым, то

заменить его на 10. Вывести полученное число.

If4◦. Даны три целых числа. Найти количество положительных чисел в исход-

ном наборе.

If5. Даны три целых числа. Найти количество положительных и количество

отрицательных чисел в исходном наборе.

If6◦. Даны два числа. Вывести большее из них.

If7. Даны два числа. Вывести порядковый номер меньшего из них.

If8◦. Даны два числа. Вывести вначале большее, а затем меньшее из них.

If9. Даны две переменные вещественного типа: A, B. Перераспределить значе-

ния данных переменных так, чтобы в A оказалось меньшее из значений,

а в B — большее. Вывести новые значения переменных A и B.

If10. Даны две переменные целого типа: A и B. Если их значения не равны,

то присвоить каждой переменной сумму этих значений, а если равны,

то присвоить переменным нулевые значения. Вывести новые значения

переменных A и B.

If11. Даны две переменные целого типа: A и B. Если их значения не равны, то

присвоить каждой переменной большее из этих значений, а если равны,

то присвоить переменным нулевые значения. Вывести новые значения

переменных A и B.

If12◦. Даны три числа. Найти наименьшее из них.

If13. Даны три числа. Найти среднее из них (то есть число, расположенное

между наименьшим и наибольшим).

If14. Даны три числа. Вывести вначале наименьшее, а затем наибольшее из

данных чисел.

If15. Даны три числа. Найти сумму двух наибольших из них.

If16. Даны три переменные вещественного типа: A, B, C. Если их значения

упорядочены по возрастанию, то удвоить их; в противном случае заме-

нить значение каждой переменной на противоположное. Вывести новые



Условный оператор

 

 

значения переменных A, B, C.



If17. Даны три переменные вещественного типа: A, B, C. Если их значения

упорядочены по возрастанию или убыванию, то удвоить их; в против-

ном случае заменить значение каждой переменной на противоположное.

Вывести новые значения переменных A, B, C.

If18. Даны три целых числа, одно из которых отлично от двух других, рав-

ных между собой. Определить порядковый номер числа, отличного от

остальных.

If19. Даны четыре целых числа, одно из которых отлично от трех других,

равных между собой. Определить порядковый номер числа, отличного от

остальных.

If20. На числовой оси расположены три точки: A, B, C. Определить, какая из

двух последних точек (B или C ) расположена ближе к A, и вывести эту

точку и ее расстояние от точки A.

If21. Даны целочисленные координаты точки на плоскости. Если точка совпа-

дает с началом координат, то вывести 0. Если точка не совпадает с нача-

лом координат, но лежит на оси OX или OY, то вывести соответственно 1

или 2. Если точка не лежит на координатных осях, то вывести 3.

If22◦. Даны координаты точки, не лежащей на координатных осях OX и OY.

Определить номер координатной четверти, в которой находится данная

точка.

If23. Даны целочисленные координаты трех вершин прямоугольника, стороны

которого параллельны координатным осям. Найти координаты его четвер-

той вершины.

If24. Для данного вещественного x найти значение следующей функции f,

принимающей вещественные значения:

 

f (x) = 2·sin(x), если x > 0,

6 − x, если x ≤ 0.

If25. Для данного целого x найти значение следующей функции f, принимаю-

щей значения целого типа:


 

f (x) =


 

x, если x < −2 или x > 2,

−3·x, в противном случае.


If26◦. Для данного вещественного x найти значение следующей функции f,

принимающей вещественные значения:



22


М. Э. Абрамян. Электронный задачник Programming Taskbook 4.6

 

 

x, если x ≤ 0,

f (x) = x2, если 0 < x < 2,

4, если x ≥ 2.


If27. Для данного вещественного x найти значение следующей функции f,

принимающей значения целого типа:

0, если x < 0,


f (x) =


1, если x принадлежит [0, 1), [2, 3), . . . ,

−1, если x принадлежит [1, 2), [3, 4), . . . .


If28. Дан номер года (положительное целое число). Определить количество

дней в этом году, учитывая, что обычный год насчитывает 365 дней, а

високосный — 366 дней. Високосным считается год, делящийся на 4, за

исключением тех годов, которые делятся на 100 и не делятся на 400

(например, годы 300, 1300 и 1900 не являются високосными, а 1200 и 2000

— являются).

If29. Дано целое число. Вывести его строку-описание вида «отрицательное

четное число», «нулевое число», «положительное нечетное число» и т. д.

If30. Дано целое число, лежащее в диапазоне 1–999. Вывести его строку-

описание вида «четное двузначное число», «нечетное трехзначное число»

и т. д.

 

 

Оператор выбора

 

Case1. Дано целое число в диапазоне 1–7. Вывести строку — название дня

недели, соответствующее данному числу (1 — «понедельник», 2 — «втор-

ник» и т. д.).

Case2◦. Дано целое число K. Вывести строку-описание оценки, соответствую-

щей числу K (1 — «плохо», 2 — «неудовлетворительно», 3 — «удовлетвори-

тельно», 4 — «хорошо», 5 — «отлично»). Если K не лежит в диапазоне 1–5,

то вывести строку «ошибка».

Case3. Дан номер месяца — целое число в диапазоне 1–12 (1 — январь, 2 — фе-

враль и т. д.). Вывести название соответствующего времени года («зима»,

«весна», «лето», «осень»).

Case4◦. Дан номер месяца — целое число в диапазоне 1–12 (1 — январь, 2 —

февраль и т. д.). Определить количество дней в этом месяце для невисо-

косного года.



Оператор выбора



 

 

Case5. Арифметические действия над числами пронумерованы следующим

образом: 1 — сложение, 2 — вычитание, 3 — умножение, 4 — деление. Дан

номер действия N (целое число в диапазоне 1–4) и вещественные числа A

и B (B не равно 0). Выполнить над числами указанное действие и вывести

результат.

Case6. Единицы длины пронумерованы следующим образом: 1 — дециметр,

2 — километр, 3 — метр, 4 — миллиметр, 5 — сантиметр. Дан номер

единицы длины (целое число в диапазоне 1–5) и длина отрезка в этих

единицах (вещественное число). Найти длину отрезка в метрах.

Case7. Единицы массы пронумерованы следующим образом: 1 — килограмм,

2 — миллиграмм, 3 — грамм, 4 — тонна, 5 — центнер. Дан номер едини-

цы массы (целое число в диапазоне 1–5) и масса тела в этих единицах

(вещественное число). Найти массу тела в килограммах.

Case8. Даны два целых числа: D (день) и M (месяц), определяющие пра-

вильную дату невисокосного года. Вывести значения D и M для даты,

предшествующей указанной.

Case9◦. Даны два целых числа: D (день) и M (месяц), определяющие пра-

вильную дату невисокосного года. Вывести значения D и M для даты,

следующей за указанной.

Case10◦. Робот может перемещаться в четырех направлениях («С» — север,

«З» — запад, «Ю» — юг, «В» — восток) и принимать три цифровые ко-

манды: 0 — продолжать движение, 1 — поворот налево, −1 — поворот

направо. Дан символ C — исходное направление робота и целое число N

— посланная ему команда. Вывести направление робота после выполне-

ния полученной команды.

Case11. Локатор ориентирован на одну из сторон света («С» — север, «З» —

запад, «Ю» — юг, «В» — восток) и может принимать три цифровые коман-

ды поворота: 1 — поворот налево, −1 — поворот направо, 2 — поворот на

180◦. Дан символ C — исходная ориентация локатора и целые числа N1

и N2— две посланные команды. Вывести ориентацию локатора после

выполнения этих команд.

Case12. Элементы окружности пронумерованы следующим образом: 1 — ра-

диус R, 2 — диаметр D = 2·R, 3 — длина L = 2·π·R, 4 — площадь кру-

га S = π·R2. Дан номер одного из этих элементов и его значение. Вывести

значения остальных элементов данной окружности (в том же порядке). В

качестве значения π использовать 3.14.


24


М. Э. Абрамян. Электронный задачник Programming Taskbook 4


Case13. Элементы равнобедренного прямоугольного треугольника пронуме-


рованы следующим образом: 1-катет a, 2 –гипотенуза c=a , 3-


высота h, опущенная на гипотенузу (h=c/2), 4 — площадь S=c·h/2.

Дан номер одного из этих элементов и его значение. Вывести значения

остальных элементов данного треугольника (в том же порядке).

Case14. Элементы равностороннего треугольника пронумерованы следую-

щим образом: 1 — сторона a, 2 — радиус R1 вписанной окружности

(R1=a· /6), 3 — радиус R2 описанной окружности (R2= 2·R1), 4 —

площадь S = a2· /4. Дан номер одного из этих элементов и его значение.

Вывести значения остальных элементов данного треугольника (в том же

порядке).

Case15. Мастям игральных карт присвоены порядковые номера: 1 — пики,

2 — трефы, 3 — бубны, 4 — червы. Достоинству карт, старших десятки,

присвоены номера: 11 — валет, 12 — дама, 13 — король, 14 — туз. Даны

два целых числа: N — достоинство (6 ≤ N ≤ 14) и M — масть карты

(1 ≤ M ≤ 4). Вывести название соответствующей карты вида «шестерка

бубен», «дама червей», «туз треф» и т. п.

Case16. Дано целое число в диапазоне 20–69, определяющее возраст (в годах).

Вывести строку-описание указанного возраста, обеспечив правильное со-

гласование числа со словом «год», например: 20 — «двадцать лет», 32 —

«тридцать два года», 41 — «сорок один год».

Case17. Дано целое число в диапазоне 10–40, определяющее количество учеб-

ных заданий по некоторой теме. Вывести строку-описание указанного

количества заданий, обеспечив правильное согласование числа со слова-

ми «учебное задание», например: 18 — «восемнадцать учебных заданий»,

23 — «двадцать три учебных задания», 31 — «тридцать одно учебное за-

дание».

Case18◦. Дано целое число в диапазоне 100–999. Вывести строку-описание

данного числа, например: 256 — «двести пятьдесят шесть», 814 — «во-

семьсот четырнадцать».

Case19. В восточном календаре принят 60-летний цикл, состоящий из 12-

летних подциклов, обозначаемых названиями цвета: зеленый, красный,

желтый, белый и черный. В каждом подцикле годы носят названия живот-

ных: крысы, коровы, тигра, зайца, дракона, змеи, лошади, овцы, обезьяны,

курицы, собаки и свиньи. По номеру года определить его название, если

1984 год — начало цикла: «год зеленой крысы».



Цикл с параметром



 

 

Case20. Даны два целых числа: D (день) и M (месяц), определяющие пра-

вильную дату. Вывести знак Зодиака, соответствующий этой дате: «Водо-

лей» (20.1–18.2), «Рыбы» (19.2–20.3), «Овен» (21.3–19.4), «Телец» (20.4–

20.5), «Близнецы» (21.5–21.6), «Рак» (22.6–22.7), «Лев» (23.7–22.8), «Де-

ва» (23.8–22.9), «Весы» (23.9–22.10), «Скорпион» (23.10–22.11), «Стре-

лец» (23.11–21.12), «Козерог» (22.12–19.1).

 

 

Цикл с параметром

 

For1. Даны целые числа K и N (N > 0). Вывести N раз число K.

For2. Даны два целых числа A и B (A < B). Вывести в порядке возрастания все

целые числа, расположенные между A и B (включая сами числа A и B), а

также количество N этих чисел.

For3. Даны два целых числа A и B (A < B). Вывести в порядке убывания все

целые числа, расположенные между A и B (не включая числа A и B), а

также количество N этих чисел.

For4. Дано вещественное число — цена 1 кг конфет. Вывести стоимость 1,

2, . . . , 10 кг конфет.

For5◦. Дано вещественное число — цена 1 кг конфет. Вывести стоимость 0.1,

0.2, . . . , 1 кг конфет.

For6. Дано вещественное число — цена 1 кг конфет. Вывести стоимость 1.2,

1.4, . . . , 2 кг конфет.

For7. Даны два целых числа A и B (A < B). Найти сумму всех целых чисел

от A до B включительно.

For8. Даны два целых числа A и B (A < B). Найти произведение всех целых

чисел от A до B включительно.

For9. Даны два целых числа A и B (A < B). Найти сумму квадратов всех целых

чисел от A до B включительно.

For10. Дано целое число N (> 0). Найти сумму

1 + 1/2 + 1/3 + . . . + 1/N

(вещественное число).

For11. Дано целое число N (> 0). Найти сумму

N 2+ (N + 1)2+ (N + 2)2+ . . . + (2·N )2

(целое число).

For12◦. Дано целое число N (> 0). Найти произведение

1.1 · 1.2 · 1.3 · . . .



26


 

 

(N сомножителей).


М. Э. Абрамян. Электронный задачник Programming Taskbook 4.6


For13◦. Дано целое число N (> 0). Найти значение выражения

1.1 − 1.2 + 1.3 − . . .

(N слагаемых, знаки чередуются). Условный оператор не использовать.

For14. Дано целое число N (> 0). Найти квадрат данного числа, используя для

его вычисления следующую формулу:

N2= 1 + 3 + 5 + . . . + (2·N − 1).

После добавления к сумме каждого слагаемого выводить текущее значе-

ние суммы (в результате будут выведены квадраты всех целых чисел от 1

до N ).

For15◦. Дано вещественное число A и целое число N (> 0). Найти A в степе-

ни N :

AN = A·A· . . . ·A

(числа A перемножаются N раз).

For16◦. Дано вещественное число A и целое число N (> 0). Используя один

цикл, вывести все целые степени числа A от 1 до N.

For17. Дано вещественное число A и целое число N (> 0). Используя один

цикл, найти сумму

1 + A + A2+ A3+ . . . + AN.

For18. Дано вещественное число A и целое число N (> 0). Используя один

цикл, найти значение выражения

1 − A + A2A3+ . . . + (−1)N·AN.

Условный оператор не использовать.

For19◦. Дано целое число N (> 0). Найти произведение

N ! = 1·2·. . .·N

(N–факториал). Чтобы избежать целочисленного переполнения, вычис-

лять это произведение с помощью вещественной переменной и вывести

его как вещественное число.

For20◦. Дано целое число N (> 0). Используя один цикл, найти сумму

1! + 2! + 3! + . . . + N !

(выражение N ! — N–факториал — обозначает произведение всех целых

чисел от 1 до N : N ! = 1·2·. . .·N ). Чтобы избежать целочисленного пере-

полнения, проводить вычисления с помощью вещественных переменных

и вывести результат как вещественное число.

For21. Дано целое число N (> 0). Используя один цикл, найти сумму

1 + 1/(1!) + 1/(2!) + 1/(3!) + . . . + 1/(N !)



Цикл с параметром



 

 

(выражение N ! — N–факториал — обозначает произведение всех целых

чисел от 1 до N : N ! = 1·2·. . .·N ). Полученное число является прибли-

женным значением константы e = exp(1).

For22. Дано вещественное число X и целое число N (> 0). Найти значение

выражения

1 + X +X 2 /(2!) + . . . + X N /(N !)

(N ! = 1·2·. . .·N ). Полученное число является приближенным значением

функции exp в точке X.

For23. Дано вещественное число X и целое число N (> 0). Найти значение

выражения

XX 3/(3!) + X 5/(5!) − . . . + (−1)N ·X 2N+1/((2·N +1)!)

(N ! = 1·2·. . .·N ). Полученное число является приближенным значением

функции sin в точке X.

For24. Дано вещественное число X и целое число N (> 0). Найти значение

выражения

1 − X2/(2!) + X4/(4!) − . . . + (−1)N·X 2N/((2·N )!)

(N ! = 1·2·. . .·N ). Полученное число является приближенным значением

функции cos в точке X.

For25. Дано вещественное число X (|X | < 1) и целое число N (> 0). Найти

значение выражения

XX 2/2 + X 3/3 − . . . + (−1)N-1·X N/N.

Полученное число является приближенным значением функции ln в точ-

ке 1 + X.

For26. Дано вещественное число X (|X | < 1) и целое число N (> 0). Найти

значение выражения

XX 3/3 + X 5/5 − . . . + (−1)N·X /(2·N +1).

Полученное число является приближенным значением функции arctg в

точке X.

For27. Дано вещественное число X (|X | < 1) и целое число N (> 0). Найти

значение выражения

X + 1·X3/(2·3) + 1·3·X5/(2·4·5) + . . . +

+ 1·3·. . .·(2·N −1)·X 2N+1/(2∙4·. . .·(2·N )·(2·N +1)).

Полученное число является приближенным значением функции arcsin в

точке X.

For28. Дано вещественное число X (|X | < 1) и целое число N (> 0). Найти

значение выражения



28


М. Э. Абрамян. Электронный задачник Programming Taskbook 4.6

 

 

1 + X /2 − 1·X 2/(2·4) + 1·3·X 3/(2·4·6) − . . . +


+ (−1)N-1·1·3·. . .·(2·N −3)·X N /(2·4·. . .·(2·N )). Полученное число является приближенным значением функции


For29. Дано целое число N (> 1) и две вещественные точки на числовой оси:

A, B (A < B). Отрезок [A, B] разбит на N равных отрезков. Вывести H

длину каждого отрезка, а также набор точек

A, A + H, A + 2·H, A + 3·H, . . . , B,

образующий разбиение отрезка [A, B].

For30. Дано целое число N (> 1) и две вещественные точки на числовой оси:

A, B (A < B). Отрезок [A, B] разбит на N равных отрезков. Вывести H

длину каждого отрезка, а также значения функции F (X ) = 1 − sin(X ) в

точках, разбивающих отрезок [A, B]:

F(A), F(A + H), F (A + 2·H), . . . , F(B).

For31. Дано целое число N (> 0). Последовательность вещественных чисел AK

определяется следующим образом:


A0= 2,


AK= 2 + 1/AK−1, K = 1, 2, . . . .


Вывести элементы A1, A2, . . . , AN.

For32. Дано целое число N (> 0). Последовательность вещественных чисел AK

определяется следующим образом:


A0= 1,


AK= (AK−1 + 1)/K, K = 1, 2, . . . .


Вывести элементы A1, A2, . . . , AN.

For33◦. Дано целое число N (> 1). Последовательность чисел Фибоначчи FK

(целого типа) определяется следующим образом:


F1= 1,


F2= 1,


FK= FK−2 + FK−1, K = 3, 4, . . . .


Вывести элементы F1, F2, ..., FN.

For34. Дано целое число N (> 1). Последовательность вещественных чисел AK

определяется следующим образом:


A1= 1,


A2= 2,


AK= (AK−2 + 2·AK−1)/3, K = 3, 4, . . . .


Вывести элементы A1, A2, . . . , AN.

For35. Дано целое число N (> 2). Последовательность целых чисел AK опре-

деляется следующим образом:


A1 = 1,


A2 = 2,


A3 = 3,


AK= AK−1 + AK−2 − 2·AK−3, K = 4, 5, . . . .

Вывести элементы A1 , A2, . . . , AN .



Цикл с условием

 

 

Вложенные циклы

 

For36◦. Даны целые положительные числа N и K. Найти сумму

1K+ 2K+ . . . + N K.



Чтобы избежать целочисленного переполнения, вычислять слагаемые

этой суммы с помощью вещественной переменной и выводить резуль-

тат как вещественное число.

For37. Дано целое число N (> 0). Найти сумму

11 + 22 + . . . + N N.

Чтобы избежать целочисленного переполнения, вычислять слагаемые

этой суммы с помощью вещественной переменной и выводить резуль-

тат как вещественное число.

For38. Дано целое число N (> 0). Найти сумму

1N+ 2N-1+ . . . + N 1 .

Чтобы избежать целочисленного переполнения, вычислять слагаемые

этой суммы с помощью вещественной переменной и выводить резуль-

тат как вещественное число.

For39. Даны целые положительные числа A и B (A < B). Вывести все целые

числа от A до B включительно; при этом каждое число должно выводиться

столько раз, каково его значение (например, число 3 выводится 3 раза).

For40. Даны целые числа A и B (A < B). Вывести все целые числа от A до B

включительно; при этом число A должно выводиться 1 раз, число A + 1

должно выводиться 2 раза и т. д.

 

Цикл с условием

 

While1◦. Даны положительные числа A и B (A > B). На отрезке длины A

размещено максимально возможное количество отрезков длины B (без

наложений). Не используя операции умножения и деления, найти длину

незанятой части отрезка A.

While2◦. Даны положительные числа A и B (A > B). На отрезке длины A раз-

мещено максимально возможное количество отрезков длины B (без нало-

жений). Не используя операции умножения и деления, найти количество

отрезков B, размещенных на отрезке A.

While3. Даны целые положительные числа N и K. Используя только операции

сложения и вычитания, найти частное от деления нацело N на K, а также



30


М. Э. Абрамян. Электронный задачник Programming Taskbook 4.6

 

 

остаток от этого деления.


While4◦. Дано целое число N (> 0). Если оно является степенью числа 3, то

вывести TRUE, если не является — вывести FALSE.

While5. Дано целое число N (> 0), являющееся некоторой степенью числа 2:

N = 2K. Найти целое число K — показатель этой степени.

While6. Дано целое число N (> 0). Найти двойной факториал N:

N !! = N ·(N −2)·(N −4)·. . .

(последний сомножитель равен 2, если N — четное, и 1, если N — нечет-

ное). Чтобы избежать целочисленного переполнения, вычислять это про-

изведение с помощью вещественной переменной и вывести его как веще-

ственное число.

While7◦. Дано целое число N (> 0). Найти наименьшее целое положительное

число K, квадрат которого превосходит N : K2 > N. Функцию извлечения

квадратного корня не использовать.

While8. Дано целое число N (> 0). Найти наибольшее целое число K, квадрат

которого не превосходит N : K 2 N. Функцию извлечения квадратного

корня не использовать.

While9. Дано целое число N (> 1). Найти наименьшее целое число K, при

котором выполняется неравенство 3K > N.

While10. Дано целое число N (> 1). Найти наибольшее целое число K, при

котором выполняется неравенство 3K < N.

While11◦. Дано целое число N (> 1). Вывести наименьшее из целых чисел K,

для которых сумма 1 + 2 + . . . + K будет больше или равна N, и саму эту

сумму.

While12◦. Дано целое число N (> 1). Вывести наибольшее из целых чисел K,

для которых сумма 1 + 2 + . . . + K будет меньше или равна N, и саму эту

сумму.

While13. Дано число A (> 1). Вывести наименьшее из целых чисел K, для

которых сумма 1 + 1/2 + . . . + 1/K будет больше A, и саму эту сумму.

While14. Дано число A (> 1). Вывести наибольшее из целых чисел K, для

которых сумма 1 + 1/2 + . . . + 1/K будет меньше A, и саму эту сумму.

While15. Начальный вклад в банке равен 1000 руб. Через каждый месяц раз-

мер вклада увеличивается на P процентов от имеющейся суммы (P

вещественное число, 0 < P < 25). По данному P определить, через сколько

месяцев размер вклада превысит 1100 руб., и вывести найденное количе-

ство месяцев K (целое число) и итоговый размер вклада S (вещественное



Цикл с условием

 

 

число).



While16. Спортсмен-лыжник начал тренировки, пробежав в первый день

10 км. Каждый следующий день он увеличивал длину пробега на P про-

центов от пробега предыдущего дня (P — вещественное, 0 < P < 50). По

данному P определить, после какого дня суммарный пробег лыжника за

все дни превысит 200 км, и вывести найденное количество дней K (целое)

и суммарный пробег S (вещественное число).

While17. Дано целое число N (> 0). Используя операции деления нацело и

взятия остатка от деления, вывести все его цифры, начиная с самой правой

(разряда единиц).

While18. Дано целое число N (> 0). Используя операции деления нацело и

взятия остатка от деления, найти количество и сумму его цифр.

While19. Дано целое число N (> 0). Используя операции деления нацело и взя-

тия остатка от деления, найти число, полученное при прочтении числа N

справа налево.

While20. Дано целое число N (> 0). С помощью операций деления нацело

и взятия остатка от деления определить, имеется ли в записи числа N

цифра «2». Если имеется, то вывести TRUE, если нет — вывести FALSE.

While21. Дано целое число N (> 0). С помощью операций деления нацело

и взятия остатка от деления определить, имеются ли в записи числа N

нечетные цифры. Если имеются, то вывести TRUE, если нет — вывести

FALSE.

While22◦. Дано целое число N(> 1). Если оно является простым, то есть не

имеет положительных делителей, кроме 1 и самого себя, то вывести TRUE,

иначе вывести FALSE.

While23◦. Даны целые положительные числа A и B. Найти их наибольший

общий делитель (НОД), используя алгоритм Евклида:


НОД(A, B) = НОД(B, A mod B), если B6= 0;


НОД(A, 0) = A,


где «mod» обозначает операцию взятия остатка от деления.

While24. Дано целое число N (> 1). Последовательность чисел Фибоначчи FK

определяется следующим образом:


F1= 1,


F2= 1,


FK= + , K = 3, 4, . . . .


Проверить, является ли число N числом Фибоначчи. Если является, то

вывести TRUE, если нет — вывести FALSE.

While25. Дано целое число N (> 1). Найти первое число Фибоначчи, большее N

(определение чисел Фибоначчи дано в задании While24).



32


М. Э. Абрамян. Электронный задачник Programming Taskbook 4.6


 

 

While26. Дано целое число N (> 1), являющееся числом Фибоначчи: N = FK

(определение чисел Фибоначчи дано в задании While24). Найти целые

числа FK-1 и FK+1 — предыдущее и последующее числа Фибоначчи.