ИНДИВИДУАЛЬНОЕ ЗАДАНИЕ

Лабораторная работа№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. По заданному номеру масти определить название

соответствующей масти. При вводе неверных данных вывести

сообщение об ошибке.

ИНДИВИДУАЛЬНОЕ ЗАДАНИЕ