Мегаобучалка Главная | О нас | Обратная связь


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



2019-12-29 456 Обсуждений (0)
Лабораторная работа №2 0.00 из 5.00 0 оценок




Программы разветвлённой структуры

1. ЦЕЛЬ РАБОТЫ: приобретение практических навыков в составлении алгоритмов и программ разветвленной структуры.

ОСНОВНЫЕ СВЕДЕНИЯ

Алгоритм разветвленной структуры - это алгоритм, в котором вычислительный процесс осуществляется по одной из ветвей. Если количество ветвей две – то используется условный блок, если больше – то множественный выбор. В программах используют соответственно условный оператор IF или оператор SWITCH для реализации разветвленного алгоритма.

Условный оператор IF

Условный оператор в языке Си имеет формат:

if (условие) оператор1; else оператор2; (полная форма) или

if (условие) оператор1; (сокращенная форма).

Если оператор1 и оператор2 состоят из одного оператора, то в фигурные скобки они не заключаются. Если оператор1 и/или оператор2 являются составным оператором (несколько операторов), то он заключается в фигурные скобки. Условие всегда заключается в круглые скобки.

В качестве примера приведем программу вычисления наибольшего из значений функции y1=x²+1, y2=7-x² , y3=x+1 для любого х.

 //lab2_prim1.c 

 #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); }

Множественный выбор

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

Switch (выражение)

{ case метка_1: список_операторов_1;

……………………………………….

case метка_n: список_операторов_n;

default : операторы; }

 Значения выражения и меток должны быть целочисленными константами.

 Например, определим количество дней по введенному номеру месяца.

//lab2_prim2.c множественный выбор

 #include<stdio.h>

 #include<conio.h> // Заголовочный файл для работы с терминалом

 int m;

 main()

{

 printf("\n Введите номер месяца :"); scanf("%d",&m);

 printf("\n В %4d месяце дней: ",m);

 switch(m){

 case 1: case 3: case 5: case 7: case 8: case 10: case 12:printf("тридцать один\n");break;

 case 2: printf ("двадцать восемь \n");break;

 case 4: case 6: case 9: case 11: printf("тридцать\n");break;

 default: printf("\n Номер  месяца   неверен \n");}

 getch ();

 }

В примере программы, если номер месяца превышает 12, выводится сообщение о неверном вводе месяца, для чего используется default. Оператор break служит для прерывания цикла проверки и перехода в конец переключателя. В случае отсутствия break, происходит переход на следующую ветвь. Функция getch, подключающаяся заголовочным файлом conio.h, ожидает нажатия любой клавиши. Это позволяет просмотреть результаты, не используя ALT+F5 для просмотра экрана пользователя.

ВЫПОЛНЕНИЕ РАБОТЫ

Составить программы разветвляющейся структуры согласно вариантам задания 1 (использ7 уя IF) и задания 2 (используя SWITCH) .                            

Варианты задания 1

1) Даны четыре числа. На сколько их сумма меньше их произведения?

2) Даны четыре числа. Вычислить сумму положительных среди них чисел.

3) Даны четыре числа. Вычислить произведение отрицательных среди них чисел.

4) Даны четыре числа. Все отрицательные среди них числа заменить на 0.

5) Даны четыре числа. Определить сколько среди них отрицательных и сколько положительных. 

6) Даны четыре числа. Определить порядковый номер наименьшего среди них.

7) Даны два числа. Большее из этих двух чисел заменить их полусуммой, а меньшее удвоенным произведением.

8) Даны три числа. Меньшее среди них заменить на 0 .

9) Даны четыре числа. Найти разность между наибольшим и наименьшим среди них.

10) Даны три числа K, M и N. Поменять их значения местами таким образом, чтобы K < M < N.

11) Даны четыре разных числа. Найти среди них два наибольших.

12) Даны три числа. Поменять местами большее и меньшее из этих чисел.

Варианты задания 2

Предусмотреть ситуацию неправильного ввода исходных данных.

1) Вводится число программ N<=20. Напечатать фразу "Я разработал N программ", согласовав слово "программа" с числом N.

2) Вводится число экзаменов N<=20. Напечатать фразу "Мы успешно сдали N экзаменов", согласовав слово "экзамен" с числом N.

3) Вводится число лет (N<=25). Напечатать фразу "Мне N лет", согласовав слово "лет, год, года" с числом N.

4) Вводится число студентов N<=30. Вывести фразу "В нашей группе N студентов", согласовав слово "студент" с числом N.

5) Вводится число М - номер месяца. Определить номер квартала по введенному номеру месяца и номер полугодия.

6) Вводится число М - номер месяца. Определить время года по введенному номеру месяца и номер полугодия.

7) Вводится целое число С. Если -9<=c<=9 вывести величину числа в словесной форме с учетом знака, в противном случае - предупреждающее сообщение и повторный ввод.

8) Вводится номер семестра N<=10. Вывести фразу "Я проучился N семестров", согласовав слово "семестр" с числом N. Определить номер курса. 

9)  В китайском гороскопе года носят следующие названия: крыса, корова, тигр, заяц, дракон, змея, лошадь, овца, обезьяна, петух, собака, свинья. Учитывая, что 1996 – год крысы, написать программу, определяющую название года по его номеру.

10) Вводится число Т – порядковый день в году. Определить номер месяца М и дня недели D, соответствующих Т.(Например, если Т=365 . то М=12, а D=31)

11) Вводится номер месяца М и дня D. Определить порядковый номер дня в году Т соответсвующий этой дате.

12) Вводится номер месяца М и дня D. Определить день недели с датой М и D, считая, что год начинается с понедельника.

КОНТРОЛЬНЫЕ ВОПРОСЫ

4.1. Сравните виды условных операторов Си.

4.2. Всегда ли ставятся скобки и какие в условном операторе?

4.3. Зачем ставятся в переключателе операторы break и default?

4.4. Как будет работать программа из примера без break?



2019-12-29 456 Обсуждений (0)
Лабораторная работа №2 0.00 из 5.00 0 оценок









Обсуждение в статье: Лабораторная работа №2

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Как построить свою речь (словесное оформление): При подготовке публичного выступления перед оратором возникает вопрос, как лучше словесно оформить свою...
Как вы ведете себя при стрессе?: Вы можете самостоятельно управлять стрессом! Каждый из нас имеет право и возможность уменьшить его воздействие на нас...
Почему человек чувствует себя несчастным?: Для начала определим, что такое несчастье. Несчастьем мы будем считать психологическое состояние...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (456)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.006 сек.)