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.


 

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

12581. ИССЛЕДОВАНИЕ ХОЛОКОСТА. Глобальное видение 2.15 MB
  ИССЛЕДОВАНИЕ ХОЛОКОСТА. Глобальное видение. Материалы международной Тегеранской конференции 1112 декабря 2006 года. Минск ЗАО Христианская инициатива 2007 Исследование холокоста Глобальное видение. Материалы международной Тегеранской к
12582. Холокост. Общие сведения 402 KB
  ХОЛОКОСТ Реферат Холоко́ст англ. holocaust термин под которым сионистская пропаганда понимает систематическое уничтожение по заранее разработанному плану Германией и её союзниками в ходе Второй Мировой войны всех евреев только за то что они евреи. Теория холокост
12583. Освенцим: мифы и факты 41.55 KB
  Освенцим: мифы и факты Марк Вебер Почти всякий слышал об Освенциме на Западе Освенцим называется Аушвиц примеч. перев. немецком концентрационном лагере 2й Мировой войны где как утверждается были истреблены массы заключенных главным образом евреев в газовых кам
12584. М. Вебер Холокост: нужно выслушать обе стороны 34.42 KB
  М. Вебер Холокост: нужно выслушать обе стороны Почти каждый слышал что немцы убили во время Второй мировой войны шесть миллионов европейских евреев. Американское телевидение кино газеты и журналы постоянно муссируют эту тему. В столице США Вашингтоне построен огр...
12585. Опровержение холокоста 122.5 KB
  ОПРОВЕРЖЕНИЕ ХОЛДОКОСТА Холокост от англ. holocaust из др.греч. ὁλοκαύστος всесожжение жертвоприношение у евреев при котором жертва животное полностью пожиралась огнем: дегенераты зачемто мучили бедных животных. Для того чтобы сжечь 6 шесть млн. всем имевшим...
12586. Музей Холокоста 28.5 KB
  Музей Холокоста Музей Холокоста в Вашингтоне округ Колумбия предлагает своим посетителям увидеть вспомнить и вновь пережить трагедию. Холокост это массовое убийство еврейского народа нацистами во время Второй мировой войны который жил в Германии и в других европей...
12587. Почему я не верю в холокост 1.18 MB
  Почему я не верю в холокост Я перестал верить в холокост изза того что сочинители этого мифа считают меня идиотом постоянно пытаясь выдать за правду несуществующие и невероятные факты. Давно обратил внимание что во всей теории холокоста в какую историю не ткни в...
12588. ОТНОШЕНИЕ РУССКОЙ ПРАВОСЛАВНОЙ ЦЕРКВИ К ТЕМЕ ХОЛОКОСТА. ДИНАМИКА И ПЕРСПЕКТИВЫ ОТНОШЕНИЯ РПЦ К ТЕМЕ КАТАСТРОФЫ И ЧЕРЕЗ НЕЕ К ЕВРЕЯМ, ИЗРАИЛЬТЯНАМ И К ГОСУДАРСТВУ ИЗРАИЛЬ 288.17 KB
  ОТНОШЕНИЕ РУССКОЙ ПРАВОСЛАВНОЙ ЦЕРКВИ К ТЕМЕ ХОЛОКОСТА. ДИНАМИКА И ПЕРСПЕКТИВЫ ОТНОШЕНИЯ РПЦ К ТЕМЕ КАТАСТРОФЫ И ЧЕРЕЗ НЕЕ К ЕВРЕЯМ ИЗРАИЛЬТЯНАМ И К ГОСУДАРСТВУ ИЗРАИЛЬ Оглавление Введение2 Патриархи и богословы3 Алексий II3 Кирилл4 Кураев5 Чаплин8 Стру
12589. Жрецы и жертвы Холокоста Кровавые язвы мировой истории 1.81 MB
  Станислав Куняев Жрецы и жертвы Холокоста Кровавые язвы мировой истории К ЧИТАТЕЛЮ Увенчается ли наше стремление к новому мировому порядку успехом зависит от того выучим ли мы уроки Холокоста. Я. Дж. Кадеган Эта работа была задумана несколько лет...