ЛБ№2 Операторы ветвления. Отчёт 2 (1 курс). Лабораторная работа 2 Операторы ветвления Вариант 10 студент группы 272302
Скачать 246.74 Kb.
|
Министерство образования Республики Беларусь БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ИНФОРМАТИКИ И РАДИОЭЛЕКТРОНИКИ Кафедра экономической информатики Лабораторная работа №2 «Операторы ветвления» Вариант 10
Минск 2022 Цель: изучить основные принципы работы с операторами ветвления и научиться писать программы с их использованием. Задачи: написать код программ с использованием операторов ветвления. Краткие теоретические сведения Инструкция if используется для выбора одного из двух направлений дальнейшего хода программы; выбор последовательности инструкций осуществляется в зависимости от значения условия — заключенного в скобки выражения, записанного после if; инструкция, записанная после else, выполняется в том случае, если значение выражения условие равно нулю, во всех остальных случаях выполняется инструкция, следующая за условием; если при соблюдении или несоблюдении условия надо выполнить несколько инструкций программы, то эти инструкции следует объединить в группу — заключить в фигурные скобки; при помощи вложенных одна в другую нескольких инструкций if можно реализовать множественный выбор; конструкция switch предназначена для выбора одного из нескольких возможных направлений дальнейшего хода программы. Индивидуальное задание Индивидуальное задание 1(10 вариант): Определить количество положительных чисел среди чисел a, b и c. Код: /*ЛБ2 ЧАСТЬ 1 ИНДИВИДУЛЬНОЕ ЗАДАНИЕ10*/ #include #include int main() { setlocale(LC_ALL, "Rus"); int n; float a, b, c; n = 0; printf("Введите первое число(a) = "); scanf_s("%f", &a); printf("Введите второе число(b) = "); scanf_s("%f", &b); printf("Введите третье число(c) = "); scanf_s("%f", &c); if (a > 0 ) n += 1; if (b > 0 ) n += 1; if (c > 0 ) n += 1; printf("Количество положительных чисел равно =%d ",n); return 0; } Индивидуальное задание 2(10 вариант): Даны площадь круга S1 и площадь квадрата S2. Определить, поместится ли: 1) круг в квадрате; 2) квадрат в круге. Код: /*ЛБ2 ЧАСТЬ 2 ИНДИВИДУЛЬНОЕ ЗАДАНИЕ10*/ #include #include int main() { const float pi = 3.14; float s1, s2; setlocale(LC_ALL,"Rus"); /*Чтобы круг поместился в квадрат, нужно чтобы его радиус был равен половине стороны квадрата или меньше*/ printf("Введите площадь круга = "); scanf_s("%f", &s1); printf("Введите площадь квадрата = "); scanf_s("%f", &s2); if (s1*2 <= s2*pi) printf("Круг поместится в квадрат.\n"); else printf("Круг НЕ поместится в квадрат.\n"); /*Чтобы квадрат поместился в круг, нужно чтобы выполнялось соотношение s1=2pi*s2 */ if (s1 >= s2*pi*2) printf("Квадрат поместится в круг."); else printf("Квадрат НЕ поместится в круг."); return 0; } Индивидуальное задание 3(8 вариант): Составить программу, которая бы с помощью оператора CASE реализовала бы все возможные операции над двумя целыми числами. Код: /*ЛБ2 ЧАСТЬ 3 ИНДИВИДУАЛЬНОЕ ЗАДАНИЕ 8*/ #include #include int main() { setlocale(LC_ALL,"Rus"); int n, a, b; printf("Введите первое ЦЕЛОЕ число = "); scanf_s("%d", &a); printf("Введите второе ЦЕЛОЕ число = "); scanf_s("%d", &b); printf("Меню:\n"); printf("1 – подсчет суммы двух чисел\n "); printf("2 – подсчет разности двух чисел\n "); printf("3 – подсчет произведения двух чисел\n "); printf("4 – подсчет деления двух чисел(первое на второе)\n "); printf("5 – подсчет деления двух чисел(второе на первое)\n "); printf("6 – подсчет остатка от деления двух чисел(первое на второе)\n"); printf("7 – выход из программы\n "); printf("Ваш выбор? \n "); scanf_s( "%d", &n); switch(n) { case 1: printf("Сумма равна %d\n ", a + b); break; case 2: printf("Разность равна %d\n ", a - b); break; case 3: printf("Произведение равно %d\n ", a*b); break; case 4: printf("Деление первого на второе равно %d\n ", a/b); break; case 5: printf("Деление второго на первое равно %d\n ", b/a); break; case 6: printf("Деление первого на второе равно %d\n ", a % b); break; case 7: break; default: printf("Heвернoe значение."); } return 0; } Дополнительное задание 1: Билет с шестизначным номером является “счастливым”, если сумма трех первых цифр равна сумме трех его последних цифр. Составьте алгоритм для определения по номеру билета “счастливый” он или нет. Код: /*ЛБ2 ЧАСТЬ 4 Дополнительная задача 1 */ #include #include #include int main() { setlocale(LC_ALL,"Rus"); int ticket; float i1, i2, i3, i4, i5, i6; printf("Введите номер вашего уникального ШЕСТИЗНАЧНОГО билета = "); scanf_s("%d", &ticket ); i6 = ticket % 10; i5 = (ticket % 100) / 10; i4 = (ticket % 1000) / 100; i3= (ticket % 10000) / 1000; i2 = (ticket % 100000) / 10000; i1 = (ticket % 1000000) / 100000; if (i1 + i2 + i3 == i4 + i5 + i6) printf("Поздравляю!Ваш билет счастливый!"); else printf("Увы!Но ваш билет не счастливый"); return 0; } Дополнительное задание 2: Определить количество целых чисел среди чисел a, b и c. Код: /*ЛБ2 ЧАСТЬ 4 Дополнительная задача 2*/ #include #include int main() { setlocale(LC_ALL, "Rus"); int n; float a, b, c; n = 0; printf("Введите первое число(a) = "); scanf_s("%f", &a); printf("Введите второе число(b) = "); scanf_s("%f", &b); printf("Введите третье число(c) = "); scanf_s("%f", &c); if ((float)((int)a) == a) n += 1; if ((float)((int)b) == b) n += 1; if ((float)((int)c) == c) n += 1; printf("Количество целых чисел равно =%d ", n); return 0; } Выводы: изучил основные принципы работы с операторами ветвления и научился писать элементарные программы с их использованием. |