ИНДИВИДУАЛЬНОЕ ЗАДАНИЕ
Лабораторная работа№2
Тема: Операторы ветвления
ТЕОРЕТИЧЕСКАЯ ЧАСТЬ
Инструкция if
Вариант 1:
if(условное выражение)
оператор1;
Вариант 2:
if(условное выражение)
оператор1;
Else
оператор2;
· инструкция ifиспользуется для выбора одного из двух направлений дальнейшего хода программы;
· выбор последовательности инструкций осуществляется в зависимости от значения условия— заключенного в скобки выражения, записанного после if;
· инструкция, записанная после else, выполняется в том случае, если значение выражения условие равно нулю, во всех остальных случаях выполняется инструкция, следующая за условием;
· если при соблюдении или несоблюдении условия надо выполнить несколько инструкций программы, то эти инструкции следует объединить в группу — заключить в фигурные скобки;
· при помощи вложенных одна в другую нескольких инструкций ifможно реализовать множественный выбор.
·
Пример 1. Отыскание максимума из трех чисел а, b, с.
#include<stdio.h>
void main()
{
inta=2, b=5, c=8, max;
if(a > b && a > c) max=a;
else if(b > c) max=b;
elsemax=c;
printf("max = %d", max);
}
Пример 2. Ввести число и определить, оно больше нуля, меньше или равно
#include<stdio.h>
void main()
{
intn;
printf("Enter n");
scanf(“%d”, &n);
if(n>0) printf("n>0");
else if(n<0) printf("n<0");
else printf("n=0");
}
Пример 3: Напишите программу (используя инструкцию if), которая запрашивает упользователя номер месяца и затем выводит соответствующее название времени года. В случае, если пользователь введет недопустимое число, программа должна вывести сообщение
"Ошибка ввода данных".
#include<stdio.h>
void main()
{
intn;
printf("Введите номер месяца");
scanf(“%d”, &n);
if (n==1 || n==2 || n==12) printf("Zima");
else if(n>=3 && n<=5) printf("Весна");
else if(n>=6 && n<=8) printf("Лето");
else printf("Осень");
}
Задание 1: Выполнить пример 1, пример 2 и пример 3, приведенный в методических рекомендациях.
Задание 2: Написать программу (используя инструкцию if) вычисления стоимости разговора по телефону с учетом 20% скидки, предоставляемой по субботам и воскресеньям. Ниже приведен рекомендуемый вид экрана программы во время ее работы (данные, введенные пользователем, выделены полужирным шрифтом).
Вычисление стоимости разговора по телефону.
Введите исходные данные:
Длительность разговора (целое количество минут) -> 3
День недели (1— понедельник, ... 7— воскресенье) -> 6
Предоставляется скидка 20%.
Стоимость разговора: 5.52 руб.
Задание 3: Написать программу (используя инструкцию if), которая запрашивает у пользователя номер дня недели и выводит одно из сообщений: "Рабочий день", "Суббота" или "Воскресенье".
Задание 4: Написать программу, в которой вводятся три вещественных числа и находиться минимальное и максимальное значение среди этих трех чисел.
Инструкция switch
Вариант 1:
switch( выражение )
{
caseконстанта1: оператор1; break;
caseконстанта2: оператор2; break;
caseконстанта N: операторы; break;
default: оператор; break;
}
Вариант 2:
switch( выражение )
{
caseконстанта1: оператор1; break;
caseконстанта2: оператор2; break;
caseконстанта N: операторы; break;
}
· инструкция switchпредназначена для выбора одного из нескольких возможных направлений дальнейшего хода программы;
· выбор последовательности инструкций осуществляется в зависимости от равенства значения переменной-селектора константе, указанной после слова case;
· если значение переменной-селектора не равно ни одной из констант, записанных после case, то выполняются инструкции, расположенные после слова default;
· в качестве переменной-селектора можно использовать переменную целого (int) или символьного (char) типа.
·
Пример 4. Требуется вывести на экран оценку, введенную цифрой, прописью.
#include<stdio.h>
void main()
{
intrez;
printf("Введите оценку");
scanf(“%d”, &rez);
switch(rez)
{
case5: printf("Оценка— отлично."); break;
case4: printf("Оценка— хорошо."); break;
case3: printf("Оценка— удовлетворительно."); break;
case2: printf(''Оценка— неудовлетворительно."); break;
default: printf("Heвернoe значение.");
}
}
Пример 5. Программа выводит на экран меню, в котором пользователь может выбрать одно из следующих действий введя соответствующее число: подсчитать сумму двух чисел, подсчитать разность двух чисел, выйти из программы.
#include<stdio.h>
void main()
{
intn, a,b;
printf("Меню:\n”);
printf("1 – подсчет суммы двух чисел\n ");
printf("2 – подсчет разности двух чисел\n ");
printf("3 – выход из программы\n ");
printf("Ваш выбор? \n ");
scanf(“%d”, &n);
switch(n)
{
case1:
printf("Введите два числа\n ");
scanf("%d%d", &a, &b);
printf("Сумма равна %d\n ", a+b);
break;
case2: printf("Введите два числа\n ");
scanf("%d%d", &a, &b);
printf("Разность равна %d\n ", a-b);
break;
case3: return; break;
default: printf("Heвернoe значение.");
}
}
Задание 4: Выполнить пример 4 и пример 5, приведенный в методических
рекомендациях.
Задание 5: Напишите программу (используя инструкцию switch), которая
запрашивает у пользователя номер дня недели, затем выводит название дня недели или
сообщение об ошибке, если введены неверные данные.
ИНДИВИДУАЛЬНОЕ ЗАДАНИЕ
1. Создать файл проекта и разработать Си-программу в соответствии с вариантом.
Вариант 1: Известны два расстояния: одно в километрах, другое – в футах (1 фут = 0,45м). Какое из расстояний меньше, а какое больше?
Вариант 2: Даны радиус круга и сторона квадрата. У какой фигуры площадь больше?
Вариант 3: Даны объемы и массы двух тел из разных материалов. Материал какого из тел имеет большую плотность?
Вариант 4: Известны сопротивления двух несоединенных друг с другом участков электрической цепи т напряжение на каждом из них. По какому участку протекает меньший ток?
Вариант 5: Дано натуральное число. Определить является ли оно четным.
Вариант 6: Дано двузначное число. Определить какая из его цифр больше: первая или вторая.
2. Создать файл проекта и разработать Си-программу в соответствии с вариантом.
Вариант 1: Составить программу, которая в зависимости от порядкового номера месяца (1,2,…,12) выводит на экран его название (январь, февраль, …,декабрь)и количество дней в этом месяце. При вводе неверных данных
вывести сообщение об ошибке.
Вариант 2: Мастям игральных карт условно присвоены следующие порядковые номера: масти «пики» -1, масти «трефы» - 2, масти «бубны» - 3, масти «червы» - 4. По заданному номеру масти определить название
соответствующей масти. При вводе неверных данных вывести
сообщение об ошибке.
ИНДИВИДУАЛЬНОЕ ЗАДАНИЕ