Программирование и основы алгоритмизации. Елизаров И.А - 8 стр.

UptoLike

Лабораторная работа 2
ПРОГРАММИРОВАНИЕ ВЕТВЯЩИХСЯ АЛГОРИТМОВ
Цель работы: Приобретение навыков программирования ветвящихся алгоритмов.
Основные сведения
Для программирования ветвящихся алгоритмов применяются условный оператор и оператор выбора.
Условный оператор имеет следующий формат:
if(<логическое выражение>) <оператор 1>;
else <оператор 2>;
Операторы 1 и 2 могут быть простыми или составными. Если логическое выражение, выступающее в качестве условия
ветвления, принимает значение 0 (ложно), то выполняется оператор 2, если 1 (истина) – оператор 1.
Неполная форма условного оператора:
if(<логическое выражение>) <оператор>;
Пример 2.1.
Из трех данных вещественных чисел
x
, y ,
z
выбрать наибольшее.
# include<stdio.h>
void main()
{ double x,y,z,max;
printf("Введите х y z");
scanf("%lf%lf%lf",&x,&y,&z);
if(x>=y) if(x>=z) max=x;
else max=z;
else if(y>=z) max=y;
else max=z;
printf("Максимальное значение=%lf",max);
}
Оператор выбора позволяет программировать ветвления по многим направлениям. Этот оператор организует переход на
одну из нескольких ветвей в зависимости от значения заданного выражения (селектора выбора).
Формат оператора выбора:
switch(<выражение>)
{ case constant1: <последовательность операторов>; break;
….
case constantN: <последовательность операторов>; break;
default: <последовательность операторов>;
}
Условная операция имеет три операнда:
<условие>?<оператор 1>:<оператор 2>;
Вычисляется условие. Если условие истинно, то выполняется оператор 1 и его результат есть результат операции.
Пример 2.2. с = (a + b) == 0? 3:5; Если сумма а и b равна нулю, то с будет равно 3, иначе с = 5.
Практические задания
1. Даны две точки ),(
11
yxA и ),(
22
yxB . Составить алгоритм, определяющий, которая из точек находится ближе к на-
чалу координат.
2. Имеется пронумерованный список деталей: 1) шуруп, 2) гайка, 3) винт, 4) гвоздь, 5) болт. Составить программу, ко-
торая по номеру детали выводит на экран ее название.
3. Даны целые числа
m , n . Если числа не равны, то заменить каждое из них одним и тем же числом, равным больше-
му из исходных, а если равны, то заменить числа нулями.
4. Определить, равен ли квадрат заданного трехзначного числа кубу суммы цифр этого числа.
5. Написать программу, которая по номеру месяца выдает название следующего за ним месяца (при
m = 1 получаем
февраль, 4 – май).
6. Подсчитать количество отрицательных чисел среди чисел
а, b, c.
7. Подсчитать количество целых чисел среди чисел
а, b, c.
8. Определить, делителем каких чисел
а, b, c является число k .
9. Перераспределить значения переменных
x
и y так, чтобы в
x
оказалось большее из этих значений, а в y мень-
шее.
10. Определить правильность даты, введенной с клавиатуры (числоот 1 до 31, месяцот 1 до 12). Если введены не-
корректные данные, то сообщить об этом.