Индивидуальное задание. Тема: операторы ветвления

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

Тема: Операторы ветвления

ТЕОРЕТИЧЕСКАЯ ЧАСТЬ

Инструкция if

Вариант 1:

if (условное выражение)

оператор1;

Вариант 2:

if (условное выражение)

оператор1;

Else

оператор2;

· инструкция if используется для выбора одного из двух направлений дальнейшего хода программы;

· выбор последовательности инструкций осуществляется в зависимости от значения условия— заключенного в скобки выражения, записанного после if;

· инструкция, записанная после else, выполняется в том случае, если значение выражения условие равно нулю, во всех остальных случаях выполняется инструкция, следующая за условием;

· если при соблюдении или несоблюдении условия надо выполнить несколько инструкций программы, то эти инструкции следует объединить в группу — заключить в фигурные скобки;

· при помощи вложенных одна в другую нескольких инструкций if можно реализовать множественный выбор.

·

Пример 1. Отыскание максимума из трех чисел а, b, с.

#include<stdio.h>

void main ()

{

int a=2, b=5, c=8, max;

if (a > b && a > c) max=a;

else if (b > c) max=b;

else max=c;

printf ("max = %d", max);

}

Пример 2. Ввести число и определить, оно больше нуля, меньше или равно

#include<stdio.h>

void main ()

{

int n;

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 ()

{

int n;

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 ()

{

int rez;

printf ("Введите оценку");

scanf (“%d”, &rez);

switch (rez)

{

case 5: printf ("Оценка— отлично."); break;

case 4: printf ("Оценка— хорошо."); break;

case 3: printf ("Оценка— удовлетворительно."); break;

case 2: printf (''Оценка— неудовлетворительно."); break;

default: printf ("Heвернoe значение.");

}

}

Пример 5. Программа выводит на экран меню, в котором пользователь может выбрать одно из следующих действий введя соответствующее число: подсчитать сумму двух чисел, подсчитать разность двух чисел, выйти из программы.

#include<stdio.h>

void main ()

{

int n, a,b;

printf ("Меню:\n”);

printf ("1 – подсчет суммы двух чисел\n ");

printf ("2 – подсчет разности двух чисел\n ");

printf ("3 – выход из программы\n ");

printf ("Ваш выбор? \n ");

scanf (“%d”, &n);

switch (n)

{

case 1:

printf ("Введите два числа\n ");

scanf( "%d%d", &a, &b );

printf ("Сумма равна %d\n ", a+b);

break;

case 2: printf ("Введите два числа\n ");

scanf( "%d%d", &a, &b );

printf ("Разность равна %d\n ", a-b);

break;

case 3: 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. По заданному номеру масти определить название

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

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

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: