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.


 

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

46247. Классификация дооржно-ремонтных работ, организация содержания и ремонта дорог 13.87 KB
  Текущий ремонт АД 3.Капитальный ремонт АД Содержание АДкомплекс профилактических работ с учетом сезона выполняемый в течении года по уходу за АД сооружениями и полосой отвода по выявлению и устранению незначительных по объему повреждений и дефектов а также по предотвращению их развития . Состав работ устанавливается по результам обследования фактического состояния дороги или по результату осмотров Текущий ремонт Это комплекс или отдельные виды работ выполняемых с целью предотвращения интенсивного износа покрытий и развития дефектов...
46248. Основные закономерности развития ребенка в младенческом возрасте 13.83 KB
  Основные закономерности развития ребенка в младенческом возрасте. Социальная ситуация психического развития ребенка ситуация мы Л. Ведущий тип деятельности: эмоционально непосредственное общение предметом которого для ребенка является взрослый человек. Дефицит общения в младенческом возрасте оказывает отрицательное влияние на дальнейшее психическое развитие ребенка Эриксон: базовое недоверие к миру.
46250. Виды взрослости в подростковом возрасте 13.76 KB
  Виды взрослости в подростковом возрасте. Подростковый период переходный период от детства к взрослости. Центральное новообразование подросткового возраста возникновение представления о себе как не о ребенке; подросток начинает чувствовать себя взрослым стремится быть и считаться взрослым но у него нет еще ощущения подлинной полноценной взрослости зато есть огромная потребность в признании его взрослости окружающими. Итак чувство взрослости по определению Д.
46251. Система права. Метод правового регулирования 38.5 KB
  Именно предмет и метод правового регулирования – основа разделения системы права на отрасли. Предметом правового регулирования являются те общественные отношения...
46252. Языковая просодия, уровни изучения. Фразовая интонация: составляющие факторы. Фразовое ударение в высказывании. Проблема экспрессивного выделения 13.67 KB
  Звуковой такт звуковая синтагма совокупность нескольких слогов объединённых одним ударением это часть звуковой фразы. Выделение голосом слов в предложении или во фразе называется фразовым ударением. В русском предложении cлова не выделяются так резко фразовым ударением и оно падает почти на каждое слово; русская речь по сравнению с английской производит впечатление более плавной. Конечно и в русской речи есть слова которые не выделяются ударением но их не так много.
46253. Понятие о постоянстве объекта в концепции Ж. Пиаже 13.64 KB
  Пиаже Поскольку объективное знание не может приобретаться посредством простой регистрации внешней информации а имеет свой источник во взаимодействиях между субъектом и объектами оно с необходимостью предполагает два типа активности: с одной стороны координацию самих действий и с другой стороны установление взаимоотношений между объектами. Эти два типа активности взаимозависимы поскольку данные отношения устанавливаются единственно через действия. Отсюда следует что объективное знание всегда подчинено определенным структурам действия. Но...
46255. Основные направления научного изучения языковой лексики 13.53 KB
  Лексиколо́гия наука о слове; это раздел языкознания изучающий словарный состав языка или лексику. В лексикологии рассматриваются: слово и его значение система взаимоотношений слов история формирования современной лексики функциональностилевое различие слов в разных сферах речи Объектом изучения является слово. Оно изучается также в морфологии и словообразовании. Однако если в них слова оказываются средством для изучения грамматического строя и словообразовательных моделей и правил языка то в лексикологии слова изучаются для...