Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лабораторная работа 3 Программирование

.doc
Скачиваний:
32
Добавлен:
18.02.2018
Размер:
42.5 Кб
Скачать

Задание. Сформировать двумерный статический массив значений вещественного типа, соответствующий таблице значений функции на заданном интервале [a,b] с заданным шагом дискретизации Δx. По сформированным данным найти наибольше и наименьшее значение функции y=f(x) на заданном интервале.

Псевдокод:

Код:

/*******************************************************************************/

/* Функция: Формирование двухмерного массива, нахождение максимального и */

/* минимального значения функции (dx,min_y,max_y,Arr[2][6]: float) */

/* (i: int) */

/* Цель: Сформировать двумерный статический массив значений */

/* вещественного типа, соответствующий таблице значений функции на заданном */

/* интервале [a,b] с заданным шагом дискретизации Δx. По сформированным */

/* данным найти наибольше и наименьшее значение функции y=f(x) на заданном */

/* интервале. */

/* Исходные данные: */

/* dx - Шаг изменения х */

/* min_y - Минимальное Y */

/* max_y - Максимальное Y */

/* i - счетчик в цикле */

/* Arr[2][6] - Двумерный массив */

/* Результат: Вывод значений Y */

/* Вывод минимального и максимального Y */

/* Вызываемые модули: нет */

/* Описание алгоритма: */

/* Объявление переменных, получение от пользователя входных */

/* данных, первоначальные вычисления, цикл с основными */

/* вычислениями */

/* Дата: 2017 / 10 / 25 Версия 16.01 */

/* Автор: Анисмова Е.С. */

/* Исправил: нет */

/*******************************************************************************/

#include <stdio.h>

#include <stdlib.h>

#include <math.h>

int main()

{

char logo[] =

"*********************************************************************\n"

"* *** *** *** ***** *\n"

"* * * * * * Nizhniy Novgorid Technical University *\n"

"* * *** * * Study work number 3. Task number 1. *\n"

"* *** * * *** * Performed student 17-IVT-3 Anisimova E.S *\n"

"* *\n"

"*********************************************************************\n";

int i;

float dx=0.1, min_y, max_y, Arr[2][6];

printf("%s", logo);

printf("Y=(2x-1)/(x-1)^2\n");

Arr[0][0] = -0.5;

for(i=1;i<=5;i++){

Arr[0][i] = Arr[0][i - 1] + dx; /*Задаем значение переменной х*/

}

Arr[1][0] = (2 * Arr[0][0] - 1) / pow((Arr[0][0] - 1), 2);

max_y = Arr[1][0];

min_y = Arr[1][0];

for (i = 1; i <= 5; i++) {

Arr[1][i] = (2 * Arr[0][i] - 1) / pow((Arr[0][i] - 1), 2); /*Вычисление значений Y*/

if (max_y < Arr[1][i])

max_y = Arr[1][i];

if (min_y > Arr[1][i])

min_y = Arr[1][i];

}

for (i = 0; i <= 5; i++) {

printf("Если x = %f Тогда Y = %f\n", Arr[0][i], Arr[1][i]);

}

printf("Минимальное Y = %f\n", min_y);

printf("Максимальное Y = %f", max_y);

return 0;

}

Блок-схема:

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]