11723

Алгоритмизация и разработка программ разветвляющейся структуры с использованием условного оператора

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

Информатика, кибернетика и программирование

Лабораторная работа №9 Алгоритмизация и разработка программ разветвляющейся структуры с использованием условного оператора Цель занятия: 1.Освоение алгоритмов и программ разветвляющейся структуры. 2.Получение навыков в использовании условного оператор...

Русский

2013-04-10

70 KB

14 чел.

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

Алгоритмизация и разработка программ разветвляющейся структуры с использованием условного оператора

Цель занятия:

1.Освоение  алгоритмов  и  программ разветвляющейся структуры.

2.Получение навыков в использовании условного оператора в программе.

Вопросы для контроля

  1.  Дать определение алгоритма разветвляющейся структуры.
  2.  Каковы две формы записи условного оператора?
  3.  Приведите пример условного оператора.
  4.  В чем разница по смыслу между полной и краткой формами
  5.  записи условного оператора?
  6.  Может ли условный оператор содержать в себе другие условные
  7.  операторы?
  8.  Что такое оператор выбора? Форма записи оператора выбора?
  9.  Какие значения могут принимать Выражение и КонстантноеВыражение
  10.  оператора выбора?
  11.  Что такое условная операция? Пример.
  12.  В чем отличие условной операции от оператора условия?

Постановка  задания

        Составить алгоритм и программу  решения  математической задачи по

        вариантам, заданным преподавателем (таблица 9.1).

        

Содержание отчета

             1.Постановка задачи.

             2.Алгоритм задачи.

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

             4.Таблица данных и результатов.

             5.Анализ допущенных ошибок.

Порядок выполнения работы

1.Включить  ПК.

2.Загрузить систему Borland C++.

3.Выполнить задание.

    3.1.Создать новый файл.

    3.2.Ввести одну из программ  задания (варианты  заданий в таблице 6.1), отладить ее.

    3.3.Ввести по мере выполнения программы исходные данные.

       Примечание:

            данные набираются произвольно, в зависимости от условия,

            и  должны  обеспечить более полный просмотр всех ветвей

            программы.

    3.4.Занести в отчет результат выполнения программы.

    3.5.Показать программу преподавателю.

    3.6.Аналогичным образом проработать остальные задачи  второго задания.

4.Закончить работу с системой Borland C++ без сохранения программы.

Краткие теоретические сведения

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

Форма записи:

if (выражение) Оператор-1; [else Оператор-2;]

Выполнение оператора if начинается с вычисления выражения.

Далее выполнение осуществляется по следующей схеме:

- если выражение истинно (т.е. отлично от 0), то выполняется оператор-1.

- если выражение ложно (т.е. равно 0),то выполняется оператор-2.

- если выражение ложно и отсутствует оператор-2 (в квадратные скобки заключена необязательная конструкция), то выполняется следующий за if оператор.

После выполнения оператора if значение передается на следующий оператор программы, если последовательность выполнения операторов программы не будет принудительно нарушена использованием операторов перехода.

Оператор выбора

Оператор switch предназначен для организации выбора из множества различных вариантов.  

Форма записи:

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

    {   [объявление]

             :

          [ case  КонстантноеВыражение1]: [ список-операторов1]

          [ case  КонстантноеВыражение2]: [ список-операторов2]

             :

             :

          [ default: [ список операторов ]]

    }

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

Значение этого выражения является ключевым для выбора из нескольких вариантов. Тело оператора switch состоит из нескольких операторов, помеченных ключевым словом Сase с последующим КонстантнымВыражением. Следует отметить, что использование целого константного выражения является существенным недостатком, присущим рассмотренному оператору.

Схема выполнения оператора switch следующая:

- вычисляется выражение в круглых скобках;

- вычисленные значения последовательно сравниваются с константными выражениями, следующими за ключевыми словами case;

- если одно из константных выражений совпадает со значением выражения, то управление передается на оператор, помеченный соответствующим ключевым словом case;

- если ни одно из константных выражений не равно выражению, то управление передается на оператор, помеченный ключевым словом default, а в случае его отсутствия управление передается на следующий после switch оператор.

                       

Постановка задания

   Выполнить  задачи  по  вариантам,  заданным   преподавателем. Варианты заданий взять из таблицы 9.1.

                                                   Таблица 9.1.  

№ п.п.

Задание                    

Решить систему уравнений:

1

2

3

4

5

Пример выполнения работы

                  

Решить систему уравнений:

Программа

1-й способ

#include <stdio.h>

#include <math.h>

void main()

{

 float a,b,x,y;

     printf("Введите a,b,x\n");

     scanf("%f %f %f",&a,&b,&x);

      if (x>0) y=(a*a)/b+pow(x,3);

      if (x==0) y=fabs(a*x-b*5);

      if (x<0) y=sqrt((a-b)/(x*x));  

      printf("y= %.3f",y);

}

2-й способ

#include <stdio.h>

#include <math.h>

void main()

{

 float a,b,x,y;

     printf("Введите a,b,x\n");

     scanf("%f %f %f",&a,&b,&x);

      if (x>0) y=(a*a)/b+pow(x,3);

      else if (x==0) y=fabs(a*x-b*5);

                else y=sqrt((a-b)/(x*x));  

      printf("y= %.3f",y);

}

 

              Результат выполнения программы

Алгоритм решения (блок - схема)

                 

                         

    Рис 9.1.Схема алгоритма.


начало

ведите a, b,x

Ввод а, b, x

x>0

y=(a*a)/b+pow(x,3);

да

нет

x=0

y=sqrt((a-b)/(x*x));

да

нет

Вывод y=

конец

y=fabs(a*x-b*5);