Анализ результатов и выводы.




Постановка задачи.

Вычислить заданное целочисленное выражение для данных a, b в формате int, используя оператор if. Результат Х - тоже целочисленный (signed int или long int).

Описание входных и выходных данных

Исходные данные: a, b.

Результат: Х – целочисленное значение арифметического выражения.

 

Набор тестов

 

 

Исходные данные: a= b=  
         
         
Выходные данные: Х= Нет решений -125 Нет решений    

 

Описание алгоритма.

Из условия задачи следует, что все переменные имеют целочисленный тип, поэтому преобразования типов выполнять нет необходимости.

Для нахождения значения Х необходимо проверить отношения между переменными a и b:

1) Если a>b и b ≠ 0, то Х = а/b + 7.

2) Если a=b, то Х = -125.

3) Если a<b и a ≠ 0, то Х = (3*b +9) % a.

Во всех остальных случаях задача не имеет решения.

Решение задачи можно разбить на несколько этапов:

1. Вводим исходные данные a, b.

2. Определяем, отношения между переменными a, b и область допустимых значений.

3. Вычисляем Х, через соответствующее выражение.

 

 

5. Блок-схема решения задачи.

       
   
 
 


Текст программы.

 

#include "stdio.h"

#include "conio.h"

 

void main()

{

int a, b, x;

printf("\nВычисление целочисленного выражения\n");

printf("vvedite a -->");

scanf ("%i",&a);

printf("vvedite b -->");

scanf ("%i",&b);

if (a > b)

if (b!= 0)

{x = a/b + 7;

printf("Значение целочисленного выражения = %i \n ", x);

}

else printf("Нет решений\n");

else if (a==b)

{x = -125;

printf("Значение целочисленного выражения = %i \n ", x);

}

else if (a!= 0)

{x = (3*b+9)%a;

printf("Значение целочисленного выражения = %i \n ", x);

}

else printf("Нет решений\n");

 

getch(); //задержка выхода из программы

}

Анализ результатов и выводы.

В данной лабораторной работе были рассмотрены операции целочисленного деления: «/ » - выделение целой части и «% » - выделение остатка отделения. Данные операции имеют место, если все операнды арифметического выражения целочисленные.

Проверка результатов работы программы дала положительные результаты.

 

 

Пример отчета о выполнении лабораторной работы № 3

 

ЛАБОРАТОРНАЯ РАБОТА № 3

На тему: «Реализация разветвляющихся алгоритмов»

 

1. Постановка задачи. Вычислить значение функции y=f(x) при заданном действительном значении аргумента х:

2.Описание входных и выходных данных

Исходные данные: х – аргумент функции.

Промежуточные данные: - промежуточная переменная, добавленная для удобства написания алгоритма.

Результат: у – значение функции.

3.Набор тестов

Исходные данные: х= -3 -2.5      
Выходные данные: у=   Нет решений -0.083333 Нет решений 4.356709

 

4. Описание алгоритма.

Из условия задачи следует, что значение у зависит от значения переменной х, которая может принимать значение из интервала . Этот интервал разбит на три части: , в каждой из которых у вычисляется по одной из формул: , и соответственно. Это хорошо видно, если отобразить заданные функции графически.

 

Решение задачи можно разбить на несколько этапов:

1. Вводим исходные данные х.

2. Определяем, в какой интервал попадает х: в первый (I), второй (II) или третий (III), что бы определить через какую функцию вычислить у.

3. Определяем, попадает ли х в область определения найденной функции: , или . Если да, то вычисляем значение функции и выводим результат, если нет – выводим на экран соответствующее сообщение о невозможности решения данной задачи.

 

5. Блок-схема решения задачи.

 
 


 

6.Текст программы.

 

#include "stdio.h"

#include "conio.h"

#include "math.h"

 

int main()

{

float x,y,q;

printf("\nВычисление значения функции\n");

printf("vvedite x -->");

scanf ("%f",&x);

q = x*x-x-12;

if (x<-2)

{

if (q>=0)

{y=sqrt(sqrt(sqrt(q)));

printf("y= %f \n ",y);

}

else printf("Resheniy net \n");

}

else

if (x<3)

{if (q!=0)

{

y=1/(q);

printf("y= %f \n",y);

}

else printf("Resheniy net \n");

}

else

if (q>0)

{

y=log(q);

printf("y= %f \n",y);

}

else printf("Resheniy net \n");

getch();//задержка выхода из программы

return 0;

}

7.Анализ результатов и выводы

 

Разработанная программа вычисления значения функции y=f(x) при введенном с клавиатуры значении аргумента х решает поставленную задачу в полном объеме. При написании программы использовался полный оператор условного перехода

if (<условие>) <действие1> else <действие2>;

Программная реализация приведенного алгоритма отличается от самого алгоритма. Это связанно с особенностями используемого языка программирования С/С++, и с запретом на использование оператора безусловного перехода:

goto <метка>;

В качестве недостатка программной реализации можно отметить наличие большого числа одинаковых функций по выводу результата на экран или его отсутствия. Для устранения данного недостатка необходимо изменить алгоритм решения задачи.

 

Пример отчета о выполнении лабораторной работы № 4

 

ЛАБОРАТОРНАЯ РАБОТА № 4

На тему: «Вывод рекуррентных формул для вычисления функциональных рядов»

 

Постановка задачи.

Вывести рекуррентную формулу и написать программу вычисления функционального ряда. Исходные данные: действительное – х, натуральное – n.



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2019-01-11 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: