21772

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

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

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

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

Русский

2014-03-24

785.71 KB

19 чел.

Лабораторная работа № 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.


 

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

47528. Методичні рекомендації. Банківська справа 411 KB
  Укладачі: Пшик Богдан Іванович кандидат економічних наук доцент Рисін Віталій Васильович кандидат економічних наук доцент Рецензенти: Славюк Ростислав Анатолійович доктор економічних наук професор заступник директора з наукової роботи Вербицька Тетяна Петрівна заступник директора Львівської філії АТ Укрінбанкâ кандидат економічних наук Відповідальна за випуск: Табачук Галина Прокопівна кандидат економічних наук...
47532. Методические указания. Менеджмент организации 311.5 KB
  В них содержаться основные требования предъявляемые к организации и проведению преддипломной практики к содержанию дипломных работ порядку их выполнения и защиты приведены формы основных документов используемых при оформлении дипломных работ дана примерная тематика дипломных работ по кафедре экономики предприятия и производственного менеджмента. МЕТОДИЧЕСКИЕ УКАЗАНИЯ ПО ОРГАНИЗАЦИИ И ПРОВЕДЕНИЮ ПРЕДДИПЛОМНОЙ ПРАКТИКИ ОБЩИЕ ПОЛОЖЕНИЯ Преддипломная практика студентов является важнейшей частью подготовки высококвалифицированных...
47533. Методические указания. Экономика и бухгалтерский учет 171.5 KB
  Наумова СОДЕРЖАНИЕ 1 Общие вопросы организации дипломного проектирования.4 2 Содержание дипломного проекта .1 Требования к структуре дипломного проекта .4 Требования к содержанию пояснительной записки дипломного проекта.
47534. Осложнения послеоперационного периода – роль сестринского процесса и их профилактика 2.06 MB
  Послеоперационный период - это время от момента операции до выздоровления или перевода пациента на инвалидность. В этот период пациент находится в определенном состоянии, которое обусловлено предшествующей болезнью, оперативным вмешательством по ее устранению и наркотическими средствами, применяемыми во время операции.