Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТЕОРЕТИЧЕСКИЕ ОСНОВЫ ИНФОРМАТИКИ И ОСНОВЫ ПРОГРАММИРОВАНИЯ НА ЯЗЫКЕ ВЫСОКОГО УРОВНЯ СИ. Лабораторный практикум доцента кафедры «Системы управления и компьютерные технологии» Пановой Т.В. БГТУ «ВОЕНМЕХ».doc
Скачиваний:
78
Добавлен:
09.03.2016
Размер:
866.3 Кб
Скачать

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

Тема

Условные конструкции: операторы ветвления

Цель: получение практических навыков решения задач с использованием условных конструкций.

I. Теоретические сведения.

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

Условный оператор позволяет проверить некоторое условие и, в зависимости от результата проверки, выполнить то или иное действие.

Cтруктуры условного оператора:

  1. неполная форма

if (<условие>)

<оператор>;

<условие> – логическое выражение; если оно истинно (=1), то выполняется <оператор>, стоящий после него, иначе выполняется следующий оператор после условного оператора (после ;).

  1. полная форма

if (<условие>)

<оператор_1>

else

<оператор_2>;

Если <условие> истинно (=1), то выполняется <оператор_1> (стоящий после условия), иначе выполняется <оператор_2>, стоящий после else; далее выполняется следующий оператор после условного оператора (после ;).

<оператор>, <оператор_1>, <оператор_2> могут представлять собой один оператор или группу операторов, заключенных в фигурные скобки ({}).

2. Оператор множественного выбора (переключатель)

Оператор выбора, сравнивая значение заданного выражения с набором перечисленных значений, позволяет выбрать одно из нескольких возможных продолжений программы.

Структура оператора выбора:

switch (<выражение>)

{

case <значение_выражения_1>: <оператор_1>; break;

case <значение_выражения_2>: <оператор_2>; break;

[default: <оператор_n>; break;]

}

<выражение> в операторе switch – значение любого простого типа;

<значения_выражений>, указанных в операторах case, совместимы по типу с <выражением> в операторе switch и обязательно должны отличаться друг от друга.

В случае равенства <выражения> <значению_выражения_1>, выполняется <оператор_1>; иначе, в случае равенства <выражения> <значению_выражения_2>, выполняется <оператор_2>; иначе, и так далее до последнего оператора case;

иначе, если <выражению> не соответствует ни одно значение в операторах case, то управление передается <оператору_n> после ключевого слова default, которое является необязательным.

Если отсутствует оператор default, то выполняется следующий оператор после оператора switch (после }).

Внутри оператора switch оператор break приводит к передаче управления следующему оператору, стоящему после оператора switch, т.е. используется для выхода из переключателя. Если break отсутствует, то после текущего раздела case будет выполняться следующий оператор в операторе switch (case или default).

II. Контрольные вопросы.

  1. Что такое условная конструкция?

  2. Структуры условного оператора.

  3. Как работает условный оператор?

  4. Что представляет собой структура оператора множественного выбора?

  5. Как работает оператор множественного выбора?

III. Практическая часть.

1. Выполнение общего задания.

Задача 1.

1. Постановка задачи: разработать алгоритм вычисления и вывода на экран значения функции

x+2, если x<0;

y = x3+5 , если xπ/2;

sin x+0,5, если 0≤x<π/2;

Значение x вводится с клавиатуры. Написать программу, реализующую разработанный алгоритм.

2. Математическая модель и описательный алгоритм задачи:

  • ввести значение переменной x;

  • если x<0, тоy=x+2;

  • иначе, если xπ/2, тоy=x3+5;

  • иначе, если 0≤x<π/2, т.е. во всех других случаях,y=sin x+0,5;

  • вывести значение переменной y.

3. Блок-схема алгоритма задачи:

4. Текст программы:

#include <stdio.h>

#include <conio.h>

#include <math.h>

int main()

{

const float p=3.14;

float x,y;

printf(“\n input x:”);

scanf(“%f”,&x); // ввод числа в форме с плавающей точкой

if (x<0)

y=x+2;

else

if (x>=p/2)

y=pow(x,3)+5;

else

y=sin(x)+0.5;

printf(“\n output y=%f”,y);

getch();

return 0;

}

5. Тестирование:

Теоретически рассчитанное выходное значение

Практически полученное выходное значение

Тест 1: входные данные: x=-1 (условие x<0)

y=?

y=?

Тест 2: входные данные: x=π≈3,14 (условие x≥π/2)

y=?

y=?

Тест 3: входные данные: x=0 (условие 0≤x<π/2)

y=?

y=?

Тест 4: входные данные: x=π/3≈1,0466 (условие 0≤x<π/2)

y=?

y=?

Задача 2.

1. Постановка задачи: разработать алгоритм вычисления и вывода на экран значения функции b по формуле . Значенияx, y вводятся с клавиатуры. Написать программу, реализующую разработанный алгоритм.

Соседние файлы в предмете Программирование