42707

Изучение массивов в языке ANSI C

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

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

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

Русский

2014-03-24

1.8 MB

6 чел.

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

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

Массивы

Цель работы

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

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

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

Задание

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

- Организовать ввод начального и конечного значений аргумента и  параметра, количество шагов расчета функций G, F, Y;

- Организовать расчет значений функций  G, F, Y с сохранением результатов в массив;

- В полученных массивах найти и вывести наибольший и наименьший элементы;

- Организовать вывод результатов расчета в табличной форме (пары аргумент - значение).

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

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

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

#include <stdio.h>

#include <stdlib.h>

#include <math.h>

#include <conio.h>

const double PI = 3.14159265;

float arr[2][100];

void f_G(float a, float x1,float x2, int k)

{

 float G;

 float gg;

 float x,dx;

 x = x1;

 dx = fabs((x2-x1)/k);

 int i = 0;

 do 

 {

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

   if (gg != 0 )

   {

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

     arr[1][i] = x;

     arr[2][i] = G;

     i++;

   }

   x = x + dx;

 } while (x<x2);

 for (int j=0;j<i;j++)

 {

   printf("%4f \t %8f\n",arr[1][j],arr[2][j]);

 }

 

 return;

}

void f_F(float a, float x1,float x2, int k)

{

 float F;

 float ff;

 float x,dx;

 x = x1;

 dx = fabs((x2-x1)/k);

 int i = 0;

 do 

 {

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

   

  F = cos(ff);

     arr[1][i] = x;

     arr[2][i] = F;

     i++;

 

   x = x + dx;

 } while (x<x2);

 for (int j=0;j<i;j++)

 {

   printf("%4f \t %8f\n",arr[1][j],arr[2][j]);

 }

 return;

}

void f_Y(float a, float x1,float x2, int k)

{

 float Y;

 float yy;

 float x,dx;

 x = x1;

 dx = fabs((x2-x1)/k);

 int i = 0;

 do 

 {

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

 

 if (yy >= 0)

   {

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

     arr[1][i] = x;

     arr[2][i] = Y;

     i++;

   }

   x = x + dx;

 } while (x<x2);

 for (int j=0;j<i;j++)

 {

   printf("%4f \t %8f\n",arr[1][j],arr[2][j]);

 }

 

 

 

 return;

}

void menu()

{

 int ch;

 int k;

 float a,x1,x2;

 do 

 {

   system("cls");

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

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

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

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

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

   ch = _getch();

   switch (ch)

   {

   case 0: { switch (_getch())

           {

   case 59:      //F1

     _flushall();

           

     printf("Enter a:");

     scanf_s("%f",&a);

     _flushall();

     printf("Enter x1:");  //Началное значение интервала для расчета функции G

     scanf_s("%f",&x1);

     _flushall();

     printf("Enter x2:"); //Конечное значение интервала для расчета функции G

     scanf_s("%f",&x2);

  

     do 

     {

       _flushall();

       printf("Enter K (not biger 100):");  //Количество шагов расчета функции G

       scanf_s("%d",&k);

     } while (k<0 || k>100);

     f_G(a,x1,x2,k);

     system("pause");

     break;

   case 60:      //F2

     _flushall();

     

     printf("Enter a:");

     scanf_s("%f",&a);

     _flushall();

     printf("Enter x1:");  //Началное значение интервала для расчета функции F

     scanf_s("%f",&x1);

     _flushall();

     printf("Enter x2:"); //Конечное значение интервала для расчета функции F

     scanf_s("%f",&x2);

  

     do 

     {

       _flushall();

       printf("Enter K (not biger 100):"); //Количество шагов расчета функции F

       scanf_s("%d",&k);

     } while (k<0 || k>100);

     f_F(a,x1,x2,k);

     system("pause");  

     break;                                

   case 61:     //F3

     _flushall();

    

     printf("Enter a:");

     scanf_s("%f",&a);

     _flushall();

     printf("Enter x1:");  //Началное значение интервала для расчета функции Y

     scanf_s("%f",&x1);

     _flushall();

     printf("Enter x2:"); //Конечное значение интервала для расчета функции Y

     scanf_s("%f",&x2);

     do 

     {

       _flushall();

       printf("Enter K (not biger 100):"); //Количество шагов расчета функции Y

       scanf_s("%d",&k);

     } while (k<0 || k>100);

     f_Y(a,x1,x2,k);

     system("pause");

     break;

           }

           break;   

           }

   }

 } while (ch !=27);

 return;                 

}

int main()

{

 menu();

 system("pause");

 return 0;

}

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

Функция f_G


Функция f_F

Функция f_Y

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

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


 

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

80207. Типи ринків і моделі поведінки споживачів 115 KB
  Процес прийняття рішення про купівлю Етапи сприймання товаруновинки Промисловий та споживчий ринки З погляду маркетингового управління розрізняють два основних типи ринків: споживчий і промисловий. Порівняльна характеристика споживчого і промислового ринків Характеристика Промисловий ринок Споживчий ринок Обсяг збуту Великий Невеликий Обсяг закупок Великий Невеликий Кількість споживачів Невелика Велика Прийняття рішення про закупку Багато людей Небагато Природа покупки Фахова Дилетантська Розміщення споживачів Географічно сконцентроване...
80208. Добір цільових ринків 69 KB
  Добір цільових ринків План Поняття сегментації Критерії ефективної сегментації Основні принципи сегментації ринків Стратегії охоплення ринку Позиціонування товарів Поняття сегментації Будьяка фірма усвідомлює що її товар не може подобатись одразу всім покупцям. В останньому випадку слід зосередитися на частині ринку або сегментах. При сегментації ринку розрізнення а точніше виділення споживачів має відбуватися на основі вияву суттєвих значущих з погляду фірми різниць між групами споживачів при чому таких різниць які справляють...
80209. Основи товарної політики компанії 139.5 KB
  Товар product комбінація власне товару і обслуговування що компанія пропонує цільовому ринку дизайн позиція на ринку виробнича лінія довжина і глибина марки упаковка гарантії сервісне обслуговування і т. Ціна price визначає кількість грошей що повинні сплатити покупці щоб одержати товар ціна виробника оптовика роздрібного торговця; політика знижок і їхня структура; умови контрактів; цінова політика залежно від собівартості від ситуації на ринку від корисності товару; цінова політика загарбницька очікувальна тощо....
80210. Стратегія збуту і просування товарів 111.5 KB
  Стратегія збуту і просування товарів План Розподіл товару. Реклама Методи стимулювання збуту і пропаганда Особистий продаж і прямий маркетинг Просування товарів і правовий захист споживачів Розподіл товару. Поняття про канали розподілу Розповсюдження товарів на ринку має два елементи: Розподіл товару передача права власності від виробника до споживача. Товарорух фізичне розповсюдження товару.
80211. Маркетинговий менеджмент 120 KB
  Стратегічне планування в маркетингу. Організація відділів маркетингу. Стратегічне планування в маркетингу Раніше ми визначили що згідно з концепцією маркетингу єдиним способом досягнення корпоративних цілей щодо обороту прибутку доходу на інвестиції тощо є задоволення потреб споживачів. Маркетингу як функції менеджменту належить у цьому процесі особлива роль задавати координати іншим стратегічним напрямам діяльності фірми: управління фінансами виробництвом матеріальнотехнічним забезпеченням персоналом.
80212. Загальне поняття маркетингу 99 KB
  Загальне поняття маркетингу План Причини появи і розвитку маркетингу. Сутність маркетингу. Базові поняття маркетингу. Причини появи і розвитку маркетингу Серед понять що стали ознакою сучасного бізнесу особливе місце займає маркетинг.
80213. Онтологическая и гносеологическая стороны основного вопроса философии 54 KB
  Среди совокупности проблем, которые исследует та или иная отрасль знания, всегда можно выделить основные, базисные. Такой основной, базисной проблемой философии, от решения которой, в конечном счете...
80214. Что такое онтология. Онтологическая проблематика 48.5 KB
  Словосочетание онтология образовано из греческих слов ontos (сущее) и logos (слово) и по-русски есть – учение о сущем. Впервые этот термин обнаруживается в «Философском лексиконе» (1613) немецкого философа Рудольфа Гоклениуса...