21772

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

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

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

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

Русский

2014-03-24

785.71 KB

15 чел.

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


 

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

7966. Честь, совість, гідність людини. Інтелігентність і порядність 55.5 KB
  Честь, совість, гідність людини. Інтелігентність і порядність Мета: Розглянути співвідношення понять честь, совість, гідність людини, інтелігентність і порядність розвивати вміння критично аналізувати різні точки зору на певну проблему виховувати ...
7967. Історія України з найдавніших часів до XV ст 56.5 KB
  Тема уроку. Історія України з найдавніших часів до XV ст. Мета: Визначити, який період історії України вивчатиметься цього навчального року ознайомити учнів зі структурою і методичним апаратом підручника як передумовою їхньої подальшої успішної роб...
7968. Давня історія України 58 KB
  Тема уроку:Давня історія України. Мета уроку: Визначити особливості перших поселень на території сучасної України розвивати вміння учнів отримувати знання, використовуючи різні джерела інформації виховувати в ліцеїстів почуття патріотизму. Тип уро...
7969. Витоки Київської Русі 29.32 KB
  Тема Витоки Київської Русі. Мета уроку: Охарактеризувати виникнення Київської русі та ранню історію його існування розвивати здібність аналізу та обґрунтуванню фактичного матеріалу ПІДНЕСЕННЯ Й ЗАНЕПАД КИЇВСЬКОЇ РУСІ Перебуваючи в тіні дивовижних ...
7970. Правова поведінка правопорушення і юридична відповідальність 84.5 KB
  Тема 3. Правова поведінка правопорушення і юридична відповідальність Мета заняття.Ознайомити студентів із поняттями законність, правопорядок, правомірна поведінка, правопорушення, юридична відповідальність їх ознаками та видами. Охарактеризува...
7971. Поняття дух, душа, духовність. Співвідношення духовного і тілесного 49.5 KB
  Поняття дух, душа, духовність. Співвідношення духовного і тілесного. Мета: Розглянути співвідношення понять дух, душа, духовність, співвідношення духовного і тілесного, розвивати вміння критично аналізувати різні точки зору на певну проблему ...
7973. Історія педагогіки. Навчальний посібник 1.21 MB
  Історія педагогіки У навчальному посібнику для студентів, магістрів, аспірантів розкриті основні розділи з курсу Історія педагогіки. У систематизованому вигляді представлені питання, пов’язані з розвитком світової педагогічної думки, починаюч...
7974. Юридическая педагогика. Учебник 2.02 MB
  Книга является одним из первых учебников, в котором системно излагается курс Педагогика высшей школы для магистров, аспирантов и преподавателей юридических вузов с учетом специфики высшего юридического образования. Дается краткий очерк истории и с...