Индивидуальное задание
Лабораторная работа №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("Осень");
}
Инструкция 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 значение.");
}
}
ИНДИВИДУАЛЬНОЕ ЗАДАНИЕ
1. Создать файл проекта и разработать Си-программу в соответствии с вариантом.
1. Даны два числа a и b. Определите, равны или не равны эти числа.
2. Даны два числа x и y. Можно ли через точку (x,y) провести окружность единичного радиуса с центром в начале координат.
3. Дано целое число k. Определите, является ли оно четным.
4. Имеется круг радиуса R. Можно ли в данном круге вырезать квадратное отверстие размером BxB.
5. Билет с шестизначным номером является “счастливым”, если сумма трех первых цифр равна сумме трех его последних цифр. Составьте алгоритм для определения по номеру билета “счастливый” он или нет.
6. Окружность с центром в точке (x,y) проходит через точку (x1,y1). Определите, принадлежит ли точка (x2,y2) данной окружности.
7. Даны три числа a, b, c. Значение наибольшего из них присвойте переменной d.
8. Составьте алгоритм, определяющий по координатам вершин треугольника его вид: остроугольный, прямоугольный, тупоугольный.
9. Даны три вещественных положительных числа a, b, c. Определите, пройдет ли мяч радиуса а через прямоугольное отверстие размером b*c.
10. Определить, имеется ли среди трёх чисел a, b и c хотя бы одна пара равных между собой чисел.
11. Определить, является ли треугольник со сторонами a, b и c равносторонним.
12. Определить, является ли треугольник со сторонами a, b и c равнобедренным.
13. Определить, имеется среди чисел a, b и c хотя бы одна пара взаимно противоположных чисел.
14. Подсчитать количество отрицательных чисел среди чисел m, n, p.
15. Определить, имеется ли среди целых чисел a, b и c хотя бы одно чётное.
2. Создать файл проекта и разработать Си-программу в соответствии с вариантом.
1. Если среди чисел a, b и c есть пара взаимно противоположных, вывести третье (оставшееся) число, в противоположном случае вывести сообщение "нет".
2. Определить количество положительных чисел среди чисел a, b и c.
3. Подсчитать количество пар взаимно обратных чисел среди трёх чисел a, b и c.
4. Определить количество целых чисел среди чисел a, b и c.
5. Определить, какие из заданных трёх действительных чисел a, b и c являются целыми.
6. Определить, делителем каких целых чисел a, b и c является целое число N.
7. Определить, какая из точек плоскости A(x1,y1), B(x2,y2), C(x3,y3) ближе к началу координат.
8. Определить, находится ли точка M(a,b) внутри верхней части единичного круга с центром в начале координат.
9. Построить алгоритм, определяющий, существует ли треугольник с заданными длинами сторон a, b и c.
10. Даны три числа a, b и c. Составить алгоритм, определяющий среднее геометрическое этих чисел, если все они отличны от нуля, и среднее арифметическое в противном случае.
11. Даны три различных числа a, b и c. Составить алгоритм, определяющий, можно ли из этих чисел образовать арифметическую прогрессию.
12. Даны площадь круга S1 и площадь квадрата S2. Определить, поместится ли: 1) круг в квадрате; 2) квадрат в круге.
13. Даны круг радиуса R и квадрат со стороной a. Определить, поместится ли: 1) круг в квадрате; 2) квадрат в круге.
14. Треугольник задан координатами вершин A(x1,y1), B(x2,y2), C(x3,y3). Определить, лежит ли внутри треугольника точка с координатами M(a,b).
15. Составьте алгоритм решения неравенства ax2+bx+c<0.
3. Создать файл проекта и разработать Си-программу в соответствии с вариантом.
1. По номеру месяца напечатать его название.
2. По номеру месяца напечатать пору года.
3. Описать список времен года: лето, осень, зима, весна. По введенному значению времени года перечисляла все месяца этого сезона.
4. Составить программу, которая бы по названию месяца выдавала бы количество дней в месяце.
5. Составить программу, которая бы по введенному времени года выдавала бы название месяцев, относящихся к нему.
6. Дан список дисциплин, изучаемых в БГУИР и отчетность по ним. Составить программу, которая бы по названию дисциплины выдавала бы отчетность по нему.
Информатика (экзамен, зачет)
Культурология (зачет)
Математика (экзамен ,зачет)
Иностранный язык (экзамен, зачет)
Экономика(экзамен)
7. Дан список дисциплин, изучаемых в БГУИР и номер семестра, когда они изучаются. Составить программу, которая бы по номеру семестра выдавала бы список изучаемых дисциплин.
Информатика-2,1
Культурология-3,4
Математика-4,3
Ин.язык-4,1,2,3
8. Составить программу, которая бы с помощью оператора CASE реализовала бы все возможные операции над двумя целыми числами.
9. Составить программу, которая бы выдавала по названию страны название столицы этой страны (использовать не менее 6-7 названий).
10. Составить программу, которая бы по введенному числу (до 10) выдавала бы название этой цифры.
11. Составить программу, которая бы по введенному названию страны выдавала название ее континента.
12. Составить программу, которая бы по значению переменной Х, означающему некоторую длину в следующих единицах измерения: дециметр, километр, метр, миллиметр, сантиметр, выдавала бы эту длину в метрах.
13. Составить программу, которая реализовала бы следующие действия: по введенному числу К (до 10) выдавала бы соответствующую ей римскую цифру.
14. Для целого числа К от 1 до 9 напечатать фразу "мне К лет", учитывая при этом, что при некоторых значениях К слово "лет" надо заменить на слово "год" или"года"
15. Для натурального числа К напечатать фразу "мы нашли К грибов в лесу", согласовав окончание слова "гриб" с числом К.