- •051001 Профессиональное обучение (по отраслям)
- •230115 Программирование в компьютерных системах
- •1 Общие положения
- •2 Технология выполнения и отчетность по самостоятельной работе
- •Содержание
- •Тема № 2 Программы разветвленной структуры……..……………………………..…….….…8 Тема № 3 Программы разветвленной структуры……..………………………………….….…10
- •Тема №1 Программирование линейной структуры
- •Тема №2 Условный оператор if
- •Тема №3 Множественный выбор
- •Тема №4 Программы циклической структуры
- •4.1. Операторы циклов
- •4.2 Цикл с параметром
- •4.3 Циклы с неизвестным количеством повторений
- •Тема №5 Обработка одномерных массивов
- •Тема №6 Работа с символьными данными
- •Тема № 7 Функции
- •Тема № 8 Структуры
- •Тема № 9 Программные средства для работы с файлами
Тема №2 Условный оператор if
ОСНОВНЫЕ СВЕДЕНИЯ
Алгоритм разветвленной структуры - это алгоритм, в котором вычислительный процесс осуществляется по одной из ветвей. Если количество ветвей две – то используется условный блок, если больше – то множественный выбор. В программах используют соответственно условный оператор IF или оператор SWITCH для реализации разветвленного алгоритма.
Условный оператор IF
Условный оператор в языке Си имеет формат:
if (условие)
оператор1;
else
оператор2;
(полная форма) или
if (условие) оператор1; (сокращенная форма).
Если оператор1 и оператор2 состоят из одного оператора, то в фигурные скобки они не заключаются. Если оператор1 и/или оператор2 являются составным оператором (несколько операторов), то он заключается в фигурные скобки. Условие всегда заключается в круглые скобки.
В качестве примера приведем программу вычисления наибольшего из значений функции y1=x²+1, y2=7-x² , y3=x+1 для любого х.
#include <stdio.h>
main()
{ float x,y1,y2,y3,max;
printf("Введите x\n"); scanf(“%f “,&x);
y1=x*x+1; y2=7-x*x; y3=x+1;
if (y1>y2)
max=y1;
else
max=y2;
if (y3>max)
max=y3;
printf (“x=%8.2f y1=%8.2f y2=%8.2f y3=%8.2f max=%8.2f\n”,x,y1,y2,y3,max);
}
СПИСОК ЗАДАЧ
Составить программы разветвляющейся структуры согласно вариантам задания 1 (используя IF) и задания 2 (используя SWITCH) .
Варианты задания 1(используя IF)
Даны действительные числа x,y. Получить:
а) max(x,y),
б) min(x,y),
в) max(x,y),min(x,y).
Даны действительные числа x, y, z. Вычислить:
а) max(x + y + z, x · y · z),
б) min2 (x + y + z/2, x · y · z) + 1.
Даны действительные числа a, b, c. Проверить выполняется ли неравенство a < b < c.
Найти min значение из трёх величин, определяемых арифметическими выражениями a = sin(x), b = cos(x), c = ln(x) при заданных значениях x.
Даны действительные числа a, b, c. Удвоить эти числа, если a > b > c и заменить их абсолютными значениями, если это не так.
Даны два действительных числа. Заменить первое число нулём, если оно меньше или равно второму, и оставить числа без изменения иначе.
Даны действительные числа x,y. Меньшее из этих двух чисел заменить их полусуммой, а большее – их удвоенным произведением.
Даны действительные числа a, b, c, d. Если a < b < c < d, то каждое число заменить наибольшим из них; если a > b > c > d, то числа оставить без изменения; иначе все числа заменяются их квадратами.
Даны действительные числа a, b, c. Выяснить, имеет ли уравнение ax2+bx+c=0 действительные корни. Если действительные корни имеются, то найти их. В противном случае ответом должно служить сообщение, что действительных корней нет.
Даны действительные положительные числа a, b, c, x, y. Выяснить, пройдёт ли кирпич с рёбрами a, b, c в прямоугольное отверстие со сторонами x и y. Просовывать кирпич в отверстие разрешается только так, чтобы каждое из рёбер было параллельно или перпендикулярно каждой из сторон отверстия.
Даны два действительных числа. Вывести первое число, если оно больше второго, и оба числа если это не так.
Даны три действительных числа. Выбрать из них те, которые принадлежат интервалу (1,3).
Даны три действительных числа. Возвести в квадрат те из них, значения которых не отрицательны.
Если сумма трёх попарно различных действительных чисел x,y,z меньше единицы, то наименьшее из этих трёх чисел заменить полусуммой двух других; иначе заменить меньшее из x и y полусуммой двух оставшихся значений.
Даны два числа. Если первое число больше второго по абсолютной величине, то необходимо уменьшить первое в 5 раз, иначе оставить числа без изменения.
Даны три переменные вещественного типа: A, B, C. Если их значения упорядочены по возрастанию или убыванию, то удвоить их; в противном случае заменить значение каждой переменной на противоположное. Вывести новые значения переменных A, B, C.
Для данного вещественного х, найти значение следующей функции f принимающей вещественные значения:
f(x) = 2sin(x), если х>0,
6 - х, если х < 0.
Для данного вещественного х найти значение следующей функции f принимающей вещественные значения:
-х, если х < 0,
f(x) = х2, если0<х<2,
4, если х > 2.
Даны три целых числа. Возвести в квадрат отрицательные числа и в третью степень — положительные (число 0 не изменять). Определить, является ли целое число чётным.
Определить, верно ли, что при делении неотрицательного целого числа а на положительное целое число b, получается остаток равный одному из двух заданных чисел r или s.
Даны две переменные целого типа: A и B. Если их значения не равны, то присвоить каждой переменной сумму этих значений, а если равны, то присвоить переменным нулевые значения. Вывести новые значения переменных A и B.
Даны три переменные вещественного типа: A, B, C. Если их значения упорядочены по возрастанию, то удвоить их; в противном случае заменить значение каждой переменной на противоположное. Вывести новые значения переменных A, B, C.
В школу танцев принимаются юноши и девушки, имеющие рост не ниже 168 см и не выше 178 см. Их вес должен соотноситься с ростом по формуле: ВЕС <= РОСТ – 115. Определите будет ли принят поступающий в школу.
Написать программу, которая требует ввода времени дня и, в зависимости от введенного значения, желает доброго утра, доброго дня, доброго вечера или спокойной ночи.
Определить кратно ли четырехзначное натуральное число N числу 3. Использовать при этом следующее свойство: если сумма цифр числа кратна 3, то и число кратно 3.
