0% нашли этот документ полезным (0 голосов)
6 просмотров10 страниц

CPP Lab02

Документ описывает лабораторную работу, посвященную условным конструкциям в программировании, включая использование операторов if и switch. Приведены примеры кода для решения различных задач, таких как нахождение максимальной площади прямоугольников, определение свойств чисел и обработка дат. Также содержатся самостоятельные задания для практики и индивидуальные задания с вариантами.

Загружено:

daunizmploho
Авторское право
© All Rights Reserved
Мы серьезно относимся к защите прав на контент. Если вы подозреваете, что это ваш контент, заявите об этом здесь.
Доступные форматы
Скачать в формате DOCX, PDF, TXT или читать онлайн в Scribd
0% нашли этот документ полезным (0 голосов)
6 просмотров10 страниц

CPP Lab02

Документ описывает лабораторную работу, посвященную условным конструкциям в программировании, включая использование операторов if и switch. Приведены примеры кода для решения различных задач, таких как нахождение максимальной площади прямоугольников, определение свойств чисел и обработка дат. Также содержатся самостоятельные задания для практики и индивидуальные задания с вариантами.

Загружено:

daunizmploho
Авторское право
© All Rights Reserved
Мы серьезно относимся к защите прав на контент. Если вы подозреваете, что это ваш контент, заявите об этом здесь.
Доступные форматы
Скачать в формате DOCX, PDF, TXT или читать онлайн в Scribd

Лабораторная работа 2.

Условные конструкции: if, switch

1. Известны стороны двух прямоугольников.


а) вывести на экран наибольшую из их площадей

Пример 1 - решение с использованием if: Пример 2 - решение через тернарный оператор ?:


#include <iostream> #include <iostream>
using namespace std; using namespace std;
int main() int main()
{ {
setlocale(0, ""); setlocale(0, "");
double a1, b1, a2, b2; double a1, b1, a2, b2;
cout << "Введите стороны 1-го cout << "Введите стороны 1-го
прямоугольника \n"; прямоугольника \n";
cout << "a1= "; cin >> a1; cout << "a1= "; cin >> a1;
cout << "b1= "; cin >> b1; cout << "b1= "; cin >> b1;
cout << "Введите стороны 2-го cout << "Введите стороны 2-го
прямоугольника \n"; прямоугольника \n";
cout << "a2= "; cin >> a2; cout << "a2= "; cin >> a2;
cout << "b2= "; cin >> b2; cout << "b2= "; cin >> b2;

double s1, s2; double s1, s2;


s1 = a1 * b1; s1 = a1 * b1;
s2 = a2 * b2; s2 = a2 * b2;

if (s1 > s2) cout << "max площадь = " << (s1 > s2 ? s1 :
cout << "max площадь у первого, S= " << s2);
s1;
else return 0;
cout << "max площадь у второго, S= " << }
s2;
Пример 3 - решение с использованием стандартных функций:
return 0; …
} {

cout << "max площадь = " << max(s1, s2);

return 0;
}

Самостоятельно:
b) для первого решения (с использованием if) изменить вывод программы так, чтобы при равенстве площадей на
экране появлялось сообщение об этом.
c) Решить аналогичную задачу для трех прямоугольников тремя способами: через if, через ?: и при помощи функции
max(). При этом считать, что все три площади разные, т.е. случаи равенства площадей можно не рассматривать.

2. Ввести целое число, вывести сообщение о том


а) положительно это число, отрицательное или нуль;
b) четное это число или нечетное.

3. Дано действительное число x. Вычислить и вывести f(x)


а) использовать не более двух if, логические операции (&&, ||) не использовать

б) при получении не числового результата – вывести понятное сообщение об этом


4. Ввести дату, заданную двумя целыми числами: число месяца (от 1 до 31) и номер дня недели (от 1 до 7).
a) если день - это «пятница, 13-ое» или «вторник, 13-ое»,
то вывести сообщение с рекомендацией быть осторожнее, иначе ничего не выводить.

#include <iostream>
using namespace std;
int main()
{
setlocale(0, "");
int dM, dW;
cout << "Введите дату: ";
cout << "День месяца: ";
cin >> dM;
cout << "Номер дня в неделе: ";
cin >> dW;

решение 1 - с использованием вложенных if решение 2 - с использованием только || решение 3 - с использованием && и ||

if (13 == dM) // операция ИЛИ - || // операция И - &&


if (5 == dW) if (13 == dM)
cout << "неудачный день if (5 == dW || 2 == dW) if ((13 == dM) && (5 == dW || 2 ==
"; cout << "неудачный день dW))
else "; cout << "неудачный день ";
if (2 == dW)
cout << "неудачный день
";

return 0;
}
Самостоятельно:
b) В Италии неудачным считается «пятница, 17-е».
Дополните программу так, чтобы и для этой даты, выводилась надпись о неудачном дне

5. Вывести сообщение:
а) уместится ли круглый торт радиуса r в прямоугольную коробку со сторонами a и b;
уместится ли тот же торт в ту же коробку, если высота торта z, а высота коробки c.
(изменять форму торта нельзя)
b) Пройдет ли кирпич со сторонами Х, У, Z через прямоугольное отверстие со сторонами a и b.

6. Ввести оценку ученика по пятибалльной системе, вывести подходящий текстовый комментарий


Рассмотрите оператор switch, сравните с аналогичным решением через if, протестируйте работу первого решения.

Пример 1 - решение с использованием switch: Пример 2 - решение с использованием if:


#include <iostream> #include <iostream>
using namespace std; using namespace std;
int main()
{ int main()
setlocale(0, ""); {
int x; //переменная для хранения оценки setlocale(0, "");
cout << "введите свою оценку: "; int x; //переменная для хранения оценки
cin >> x; cout << "введите свою оценку: ";
//оператор множественного выбора cin >> x;
switch (x) {
case 5: cout << "отлично"; break; //цепочка if..else
case 4: cout << "хорошо"; break; if (5 == x) cout << "отлично";
case 3: cout << "удовлетворительно"; else if (4 == x) cout << "хорошо";
break; else if (3 == x) cout << "удовлетворительно";
else if (2 == x || 1 == x) cout << "плохо";
case 2: else cout << "неверные данные";
case 1: cout << "плохо "; break;
default: cout << "неверныe данные"; return 0;
} }

return 0;
}
Самостоятельно: удалите инструкцию break в строке с оценкой 4, протестируйте программу, какие строки
теперь выводятся на экран при вводе оценки 4?

7. Ввести два вещественных числа и знак арифметической операции (+, -, *, использовать тип данных char).
Вывести результат применения этой операции к введенным числам. В решении использовать switch

8. Производится выстрел по мишени, известны координаты попадания (х,у). 0 очков


Вывести количество выбитых очков по условиям, изображенным на рисунке 5 очков
10 очков
-4 -2 2 4

9. Даны действительные числа х и у. Определить, принадлежит ли точка с координатами (х, у) заштрихованной части
плоскости
у у
а) b) c) d)
1 6 2
3 у=-2х+2
-2 0 х -5 5

0 1 х

10. Даны действительные положительные числа х, у, z.


а) Выяснить, существует ли треугольник с длинами сторон х, у и z.
b) Если такой треугольник есть, то вывести является ли он равнобедренным, прямоугольным, равносторонним

11. Запросить у пользователя дату его рождения (день, номер месяца, год – целые числа) и текущую дату. Вычислить
возраст человека – количество полных прожитых лет.
Вывести сообщение «Вам возраст лет(год, года)», согласовав слово лет-год-года со значением возраста

12. Даны три целых числа. Не используя циклические конструкции и массивы,


a) вывести сумму тех чисел, которые больше 10
b) количество четных чисел
c) среднее из этих чисел (то число, которое между наибольшим и наименьшим)
d) номер наименьшего из этих чисел
Индивидуальные задания 1 (лаб.работы 1-2)
Вариант 1
1. Единицы массы пронумерованы следующим образом: 1 — килограмм, 2 — миллиграмм, 3 — грамм, 4 —
тонна, 5 — центнер. Дан номер единицы массы (целое число в диапазоне 1–5) и масса тела в этих
единицах (вещественное число). Найти массу тела в килограммах.
2. Известно х. Вычислите и выведите на экран

{ 14
r=¿ 2 x , если -2,5≤x≤2,5¿ {√2x+1, если x>2,5 ¿¿¿¿
2
3. Известны координаты точки на плоскости. Вывести, попала ли точка в заштрихованную область.

4. Ввести целое число. Считать это число количеством грибов. Вывести текстовую строку «Джонни собрал
введенное_число гриб(а, ов)», причем окончание слова гриб должно быть согласовано с введенным числом (1
гриб; 2 или 3 или 4 гриба; 5 грибов, …, 11 грибов, 12 грибов… 21 гриб, 22 гриба,… и т.д.)

Вариант 2
1. Арифметические действия над числами пронумерованы следующим образом: 1 — сложение, 2 —
вычитание, 3 — умножение, 4 — деление. Дан номер действия N (целое число в диапазоне 1–4) и
вещественные числа A и B (В не равно 0). Выполнить над числами указанное действие и вы-
вести результат.
2. Известно х. Вычислите и выведите на экран

{ {
2
2+x 1
t=¿ , если x>0¿ 2 +√x+1, если -1<x≤0¿ ¿¿¿
x 3
3. Известны координаты точки на плоскости. Вывести, попала ли точка в заштрихованную область.

4. Ввести целое число. Считать это число количеством ложек. Вывести текстовую строку «Дульсинея спрятала
введенное_число лож (ку, ки, ек)», причем окончание слова должно быть согласовано с введенным числом
Вариант 3
1. Дан номер месяца — целое число в диапазоне 1–12 (1 — январь, 2 — февраль и т. д.). Определить
количество дней в этом месяце для не високосного года.
2. Известно х. Вычислите и выведите на экран

{ 5
p=¿ 12 , если x≤−10¿ {√|10−x |, если -10<x≤0 ¿¿¿¿
7
2

3. Известны координаты точки на плоскости. Вывести, попала ли точка в заштрихованную область.

4. Ввести целое число. Считать это число количеством кораблей. Вывести текстовую строку «Джек утопил
введенное_число корабл(ь, я, ей)», причем окончание слова должно быть согласовано с введенным числом

Вариант 4
1. Ввести строку, она может принимать только значения «RUS» и «ENG»).
Ввести целое число, его значения в диапазоне 1–7.
Вывести строку — название дня недели, соответствующее второму введенному числу (1 —
«понедельник», 2 — «вторник» и т. д.) на языке, заданном значением строки. Использовать оператор
switch, не использовать массивы.
2. Известно х. Вычислите и выведите на экран

{ { π 2
y=¿ cos(πx− ), если x≥5¿ 10 , если 0<x<5 ¿ ¿
2 3
3. Известны координаты точки на плоскости. Вывести, попала ли точка в заштрихованную область.

4. Ввести целое число. Считать это число количеством орехов. Вывести текстовую строку «Бурундук закопал
введенное_число орех(, а, ов)», причем окончание слова должно быть согласовано с введенным числом

Вариант 5
1. Ввести дату в формате день(целое число), месяц(целое число), год(целое число).
а) Вывести ее же в формате день(целое число), месяц(название месяца), год(целое число)
b) дополнительно к п. а) вывести время года («зима», «весна», «лето», «осень»). Использовать оператор
switch, не использовать массивы.
2. Известно х. Вычислите и выведите на экран

{ {
3
x −5 4
y=¿ , если x≤0¿ 10 , если 0<x≤7 ¿ ¿
x −1 7
3. Известны координаты точки на плоскости. Вывести, попала ли точка в заштрихованную область.

4. Ввести целое число. Считать это число количеством змей. Вывести текстовую строку «Мангуст поймал
введенное_число зме(ю, и, й)», причем окончание слова должно быть согласовано с введенным числом

Вариант 6
1. Единицы длины пронумерованы следующим образом: 1 — дециметр, 2 — километр, 3 — метр, 4 —
миллиметр, 5 — сантиметр. Дан номер единицы длины (целое число в диапазоне 1–5) и длина отрезка в
этих единицах (вещественное число). Найти длину отрезка в метрах.
2. Известно х. Вычислите и выведите на экран

{ { π π1 π
f=¿ tg(πx), если - <x< ¿ , если x≤− ¿ ¿ ¿
2 2x 2
3. Известны координаты точки на плоскости. Вывести, попала ли точка в заштрихованную область.

4. Ввести целое число. Считать это число количеством ёлок. Вывести текстовую строку «Коты нарядили и опрокинули
введенное_число ёл(ку, ки, ов)», причем окончание слова должно быть согласовано с введенным числом

Вариант 7
1. Элементы окружности пронумерованы следующим образом: 1 — радиус R, 2 — диаметр D = 2·R, 3 — длина
L = 2·π·R, 4 — площадь круга S = π·R2. Дан номер одного из этих элементов и его значение. Вывести
значения остальных элементов данной окружности (в том же порядке). В качестве значения π
использовать 3.11.
2. Известно y. Вычислите и выведите на экран

x=¿{sin(πy), если y≤−1¿{( y -1) , если -1< y≤0¿ ¿


22

3. Известны координаты точки на плоскости. Вывести, попала ли точка в заштрихованную область.

4. Ввести целое число. Считать это число количеством кактусов. Вывести текстовую строку «Мыши изгрызли
введенное_число кактус( ,а, ов)», причем окончание слова должно быть согласовано с введенным числом

Вариант 8
1. В восточном календаре годы носят названия животных: крысы, коровы, тигра, зайца, дракона, змеи,
лошади, овцы, обезьяны, курицы, собаки и свиньи. По номеру года определить его название, если 2020
год — начало цикла: «год крысы».
2. Известно х. Вычислите и выведите на экран

{ {
13 π
n=¿ 5 +x , если 2<x≤5 ¿ cos( +πx), если x>5¿ ¿ ¿
2 2
3. Известны координаты точки на плоскости. Вывести, попала ли точка в заштрихованную область.

4. Ввести целое число. Считать это число количеством стульев. Вывести текстовую строку «Он сел на
введенное_число стул( ,а, ьев)», причем окончание слова должно быть согласовано с введенным числом

Вариант 9
1. Мастям игральных карт присвоены порядковые номера: 1 — пики, 2 — трефы, 3 — бубны, 4 — червы.
Достоинству карт, старших десятки, присвоены номера: 11 — валет, 12 — дама, 13 — король, 14 — туз.
Даны два целых числа: N — достоинство (6 ≤ N ≤ 14) и M — масть карты (1 ≤ M ≤ 4). Вывести название
соответствующей карты вида «шестерка бубен», «дама червей», «туз треф» и т. п.
2. Известно х. Вычислите и выведите на экран
{
14
r=¿ x , если -2,5≤x≤2,5 ¿ {√2 x+1, если x>2,5¿¿¿¿
2
3. Известны координаты точки на плоскости. Вывести, попала ли точка в заштрихованную область.

4. Ввести целое число. Считать это число количеством столов. Вывести текстовую строку «В драке сломали
введенное_число стол (, а, ов)», причем окончание слова должно быть согласовано с введенным числом

Вариант 10
1. Элементы равностороннего треугольника пронумерованы следующим образом: 1 — сторона a, 2 — радиус
R1 вписанной окружности (R1 = a 3/ 6), 3 — радиус R2 описанной окружности (R2 = 2·R1), 4 — площадь S =
a2 ·3/1. Дан номер одного из этих элементов и его значение. Вывести значения остальных элементов
данного треугольника (в том же порядке).
2. Известно w. Вычислите и выведите на экран

{
|w2−1|
z=¿ , если w≤3¿ { 1000, если 3<w<4¿¿¿¿
2w−7
3. Известны координаты точки на плоскости. Вывести, попала ли точка в заштрихованную область.

4. Ввести целое число. Считать это число количеством мух. Вывести текстовую строку «Портняжка убил
введенное_число мух(у, и, )», причем окончание слова должно быть согласовано с введенным числом

Вариант 11
1. Элементы равнобедренного прямоугольного треугольника пронумерованы следующим образом: 1 —
катет a, 2 — гипотенуза c = a 2 , 3 — высота h, опущенная на гипотенузу (h = c/2), 4 — площадь S = c·h/2. Дан
номер одного из этих элементов и его значение. Вывести значения остальных элементов данного
треугольника (в том же порядке).
2. Известно v. Вычислите и выведите на экран
{
10
h=¿ , если v≥2¿ {(v+1) , если -2<v<2¿¿¿¿
πv
2

3. Известны координаты точки на плоскости. Вывести, попала ли точка в заштрихованную область.

4. Ввести целое число. Считать это число количеством литров. Вывести текстовую строку «Друзья выпили
введенное_число литр ( , а, ов)», причем окончание слова должно быть согласовано с введенным числом

Вариант 12
1. Робот может перемещаться в четырех направлениях («С» — север, «З» — запад, «Ю» — юг, «В» — восток)
и принимать три цифровые команды: 0 — поворот налево, 1 — поворот направо, 2— продолжать
движение. Дан символ N — исходное направление робота и целое число K — посланная ему команда.
Вывести направление робота после выполнения полученной команды.
2. Известно y. Вычислите и выведите на экран

{ |y+1|
z=¿ 1+ , если 0≤y≤3 ¿ { y +1, если y>3¿ ¿¿¿
y+2
4

3. Известны координаты точки на плоскости. Вывести, попала ли точка в заштрихованную область.

4. Ввести целое число. Считать это число количеством долларов. Вывести текстовую строку «Билли заработал
введенное_число доллар( , а, ов)», причем окончание слова должно быть согласовано с введенным числом

Вариант 13
1. Даны два целых числа: D (день) и M (месяц), определяющие правильную дату не високосного года.
Вывести значения D и M для даты, следующей за указанной.
2. Известно a. Вычислите и выведите на экран
{
√с=¿ 1+a , если a≥−4¿{√|a−5|, если -10<a<−4¿¿¿¿
2

|a−1|+1
3. Известны координаты точки на плоскости. Вывести, попала ли точка в заштрихованную область.

4. Ввести целое число. Считать это число количеством яблок. Вывести текстовую строку «Ежик нес введенное_число
яблок(о, ка, )», причем окончание слова должно быть согласовано с введенным числом

Вариант 14
1. Элементы правильного шестиугольника пронумерованы следующим образом:
1 — сторона t,
2 — радиус R описанной окружности ( ),

3 — радиус r вписанной окружности, ,

4 — площадь S, , ,
5 — периметр Р,
Дан номер одного из этих элементов и его значение. Вывести значения остальных элементов данного
треугольника (в том же порядке).
2. Известно х. Вычислите и выведите на экран

{
π
т=¿ πx− , если x≤5 ¿ { x +10, если 5<x<15 ¿¿¿¿
2
2

3. Известны координаты точки на плоскости. Вывести, попала ли точка в заштрихованную область.

4. Ввести целое число. Считать это число количеством шишек. Вывести текстовую строку «Белка съела
введенное_число шиш (у, и, ек)», причем окончание слова должно быть согласовано с введенным числом

Вам также может понравиться