21772

Условный оператор if и оператор выбора switch

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

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

Задача лабораторной работы состоит в практическом освоении оператора условия и выбора, совмещения их с функциями ввода и вывода, математическими функциями в одном приложении, написание приложения по индивидуальному варианту.

Русский

2014-03-24

785.71 KB

16 чел.

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

по дисциплине “Языки программирования”

Лабораторная работа № 2. Условный оператор if и оператор выбора switch

Цель работы

Целью данной лабораторной работы является изучение на практике условного оператора и оператора выбора языка ANSI C.

Задача лабораторной работы

Задача лабораторной работы состоит в практическом освоении оператора условия и выбора, совмещения их с функциями ввода и вывода, математическими функциями в одном приложении, написание приложения по индивидуальному варианту.

Задание

Модифицировать программу из лабораторной работы №1 с учетом следующих требований:

а) Осуществить проверку входных значений на принадлежность области определения функции (e.g. функция y = log(x) определена для x ≥ 0). Вывести сообщение об ошибке, если входные значения не принадлежат области определения функции.

б) Добавить ввод значения для выбора функции (1 - вычислить функцию G, 2 - вычислить функцию F, 3 - вычислить функцию Y; при ином введенном значении вывести сообщение об ошибке).

Блок-схема основной программы и дополнительных функций

Составим схему программы

Листинг программы:

#include <stdio.h>

#include <stdlib.h>

#include <math.h>

#include <conio.h>

const double PI = 3.14159265;

void f_G(float a, float x)

{

 float G;

 float gg;

 gg = 25 * a * a + 30 * a * x + 9 * x * x;

 

 if (gg == 0 )

 {

   printf("G - Zero division\n");

 }

 else

 {

 G = 9 * (7 * a * a - 19 * a * x + 10 * x * x) / gg;

   printf("G = %f\n",G);

 }

 return;

}

void f_F(float a, float x)

{

 float F;

 float ff;

 ff = 9 * a * a - 13 * a * x - 10 * x * x;

 F = cos(ff);

 printf("F = %f\n",F);

 return;

}

void f_Y(float a, float x)

{

 float Y;

 float yy;

 yy = -80 * a * a - 46 * a * x + 21 * x * x + 1;

 if (yy<0)

 {

   printf("Y - Argument negativ\n");

 }

 else

 {

   Y = logf(yy)/logf(10.0);

   printf("Y = %f\n",Y);

 }

 return;

}

void menu(float a, float x)

{

 int ch;

 do 

 {

   system("cls");

printf("a = %f ,  x = %f\n",a,x);

   printf("******MENU*******\n");

   printf("F1. Function 1\n");

   printf("F2. Function 2\n");

   printf("F3. Function 3\n");

   printf("ESC. Exit...\n");

   ch = _getch();

   switch (ch)

   {

   case 0: { switch (_getch())

              {

               case 59:      //F1

                 f_G(a,x);

                 system("pause");

                 break;

               case 60:      //F2

                 f_F(a,x);

                 system("pause");  

                 break;                                

               case 61:     //F3

                 f_Y(a,x);

                 system("pause");

                 break;

              }

           break;   

           }

   }

 } while (ch !=27);

 return;                 

}

int main()

{

 printf("Hello world!\n");

 _flushall();

 float a,x;

 printf("Enter a:");

 scanf_s("%f",&a);

 _flushall();

 printf("Enter x:");

 scanf_s("%f",&x);

 

 menu(a,x);

 

 

 system("pause");

 return 0;

}


Тестирование программы


Выводы по работе

В ходе выполнения лабораторной работы я изучил особенности  написания  программы  на языке ANSI C, в основе которой лежит алгоритм структуры с условиями и выбора,  а также основы работы в интегрированной среде MS Visual Studio 2010.


 

А также другие работы, которые могут Вас заинтересовать

49058. ПРОЕКТИРОВАНИЕ ВОЛОКОННО-ОПТИЧЕСКОЙ ЛИНИИ СВЯЗИ НОВОСИБИРСК – КРАСНОЯРСК 814.5 KB
  Разработана линейная часть волоконно-оптической системы передачи данных со следующими параметрами: скоростью передачи 136264 Мбит с; рабочей длиной волны 1550 нм; протяженностью трассы 761 км; вероятность ошибки BER не более 1010; энергетическим бюджетом в 40 дБ; избыточностью системы 27; коэффициентом готовности 0.Скорость передачи определяется исходя из п. Волоконная оптика: компоненты системы передачи измерения.
49059. Создание новой нейросистемы (разработанной в программе разработчиков Borland Delphi 2006) 870 KB
  Нейронные сети. Нейронные сети и нейрокомпьютеры - это одно из направлений компьютерной индустрии в основе которого лежит идея создания искусственных интеллектуальных устройств по образу и подобию человеческого мозга1. Искусственные нейронные сети представляют собой устройства использующие огромное число элементарных условных рефлексов называемых по имени недавно умершего канадского физиолога синапсами Хебба. Уже сейчас искусственные нейронные сети применяются для решения очень многих задач обработки изображений управления роботами и...
49060. Сканирующая туннельная микроскопия 1.64 MB
  История создания сканирующего туннельного микроскопа Сканирующие элементы зондовых микроскопов Недостатки пьезокерамики Устройства для прецизионных перемещений зонда и образца Шаговые электродвигатели Шаговые пьезодвигатели Измерительные методики СТМ Топографический режим Токовый режим Туннельная спектроскопия ВАХ контакта металлметалл ВАХ контакта металл полупроводник ВАХ контакта...
49061. Изготовление зубьев ковша экскаватора с применением стали 110Г13Л 604 KB
  Разработка технологического процесса термической обработки стали. Расшифруйте состав и определите группу стали по назначению; объясните назначения введения Mn в эту сталь; назначьте режим термической обработки и опешите структуру после термообработки. Совершенство производства выпуск современных разнообразных машиностроительных конструкций инструмента специальных приборов и машин невозможны без дальнейшего развития производства...
49062. Развитие творческого мышления младших школьников на уроках математики 771.5 KB
  Задачи как средство развития творческого мышления младших школьников. Систематическая работа учителя в режиме творческого обучения когда ежедневно ученикам на уроках предлагается решить по желанию на выбор нестандартные задачи способствует формированию положительного отношения к заданиям проблемно-поискового характера критичности мышления и умению проводить миниисследования; содействует проявлению более высокой степени самостоятельности в постановке вопросов и поиска решений. Поэтому очень важно в круг...
49063. Гидравлический расчет трубопроводов 289.5 KB
  Определяем скорость движения на первом участке м с движение турбулентное Определим коэффициент сопротивления Rэабсолютная шероховатость трубы Потери напора на трение...
49064. ГИДРАВЛИЧЕСКИЙ РАСЧЁТ ТРУБОПРОВОДОВ 288 KB
  На трубопроводе с общим расходом воды Q0 имеется участок с параллельно включенными ветвями (рис.2). Определить расходы в отдельных ветвях и напор, действующий между точками разветвления НАВ. Трубы стальные сварные умеренно заржавевшие
49065. Методы локализации неисправностей на аппаратуре СВ и РМ 405 KB
  Схема управления и программ. Весь цикл ЦВУ по времени разделен на четыре программы (П1,П2,П3,П4), каждая из которых содержит до четырех подпрограмм и определенное количество команд. Схема управления и программ конструктивно размещена в нескольких ТЭЗах...
49066. Устройство сбора телеметрической информации с оценкой измеряемой величины с порогом 382 KB
  Конструктивная реализация устройства включает в себя ряд коммутаторов с подключенными к ним дешифраторами аналоговоцифровой преобразователь АЦП и микропроцессорный блок включающий в себя сам микропроцессор тактовый генератор и память ПЗУ и ОЗУ 5 стр. В работе произведен расчет и выбор АЦП расчет и выбор коммутаторов разработка структурной схемы алгоритма программы отладки расчет требуемой памяти и частоты выборки отсчетов. Чтобы считать с определенного датчика сигнал необходимо выбрать коммутатор его канал и запустить АЦП....