Линейный и разветвляющийся алгоритм

Автор работы: Пользователь скрыл имя, 26 Октября 2014 в 13:07, лабораторная работа

Краткое описание

Составить блок-схему, написать программу и выполнить ручной счет для вычисления значения переменных y=ln⁡〖2x^3+a^(3/2) 〗 , z=3,7cos22x при заданных значениях аргументов x и a. При запуске программы и для ручного счета подобрать 2 пары значений x и a так, чтобы вычисления пошли по разным веткам да и нет. Найти наибольшее значение c из y и z.

Прикрепленные файлы: 1 файл

лаба информатика 1.docx

— 75.61 Кб (Скачать документ)

 

НИЖЕГОРОДСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

им.  Р.  Е. АЛЕКСЕЕВА

Кафедра ПРИКЛАДНАЯ ИНФОРМАТИКА

Дисциплина ИНФОРМАТИКА

 

 

 

 

 

ОТЧЕТ

О выполнении лабораторной работы №1

Тема: Линейный и разветвляющийся алгоритм

 

 

 

 

Выполнила                                         Студент группы 14-АЭ

                                                       Факультет ИЯЭиТФ

                                                   Качмашева Анна

                 Проверила                                              Чайкина О. И.

                 Приняла 

 

Нижний Новгород

2014 год

Задача №1

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

Составить блок-схему, написать программу и выполнить ручной счет для вычисления значения переменных y= , z=3,7cos22x при заданных значениях аргументов x и a. При запуске программы и для ручного счета подобрать 2 пары значений x и a так, чтобы вычисления пошли по разным веткам да и нет. Найти наибольшее значение c из y и z.

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

Промежуточные результаты: y, z

Окончательный результат: с

  1. Блок-схема :

 



 

 



 





 





 

 

 


 

 

 

 

 

 

 

 

 

  1. Ручной счет:

(1 случай)

  1. Исходные данные x=5 a=1
  2.  
  3. y<z      <(нет)
  4. с=y c=
  5. x=5 a=1
  6. y= z=
  7. c=

(2 случай)

  1. Исходные данные x=0,5 a=1
  2. =ln0,25+1=0,386
  3. y<z      0,386<(да)
  4. с=z c=
  5. x=0,5 a=1
  6. y=0,386 z=
  7. c=1,08

 

 

 

Программа на языке :

#include "stdafx.h"

 

#include<iostream>

#include<math.h>

using namespace std;

void main()

{

setlocale(LC_ALL,"Russian");

double x,a,y,z,c;

cout<<"Vvedite ishodnie dannie\n";

cin>>x>>a;

y=log(2*pow(x,3))+pow(a,3./2.);

z=3.7*pow(cos(2*x),2);

if (y<z) c=z;

else c=y;

cout<<"Ishodnie dannie\n";

    cout<<"x="<<x<<"a="<<a<<endl;

cout<<"Promezutochnie rezyltati\n";

    cout<<"y="<<y<<"z="<<z<<endl;

cout<<"Okonchatilnii rezultat\n";

    cout<<"c="<<c;

}

 

Результаты работы программы:

 

Задача №2

Задача №1

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

Составить блок-схему, написать программу и выполнить ручной счет для вычисления значения переменной , заданной

 

При запуске программы и для ручного счета подобрать 3 пары значений x и y так, чтобы вычисления пошли по разным веткам да и нет.

Исходные данные: x, y

Промежуточные результаты: t

Окончательный результат: u

  1. Блок-схема:


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

 

 

 

 

 

 

 

 

 

 

 

  1. Ручной счет:
  2. случай)
  3. Исходные данные x=0,5 y=0,6
  4. t=xy t=0,5*0,6=0,3
  5. t1  0,31 (да)
  6.   =2,322
  7. x=0,5 y=0,6
  8. t=0,3
  9. u=2,322
  10. случай)
  11. Исходные данные x=1 y=2
  12. t=xy t=1*2=2
  13. t1  21 (нет)
  14. t>2 2>2(нет)
  15. u=cosy u=cos2=-0,416
  16. x=1 y=2

 

 

  1. t=2
  2. u=-0,416

 

  1. случай)
  2. исходные данные x=2 y=3
  3. t=xy t=2*3=6
  4. t1 61 (нет)
  5. t>2 6>2 (да)
  6. 32=2*9=18
  7. x=2 y=3
  8. t=6
  9. u=18

программа на языке С++:

#include "stdafx.h"

 

#include<iostream>

#include<math.h>

using namespace std;

void main()

{

setlocale(LC_ALL,"Russian");

double x,y,t,u;

cout<<"Vvedite ishodnie dannie\n";

cin>>x>>y;

t=x*y;

if (t<=1) u=x+exp(y);

else if (t>2) u=x*pow(y,2);

else u=cos(y);

cout<<"Ishodnie dannie\n";

    cout<<"x="<<x<<"\ty="<<y<<endl;

cout<<"Promezutochnie rezyltati\n";

    cout<<"\tt="<<t<<endl;

cout<<"Okonchatilnii rezultat\n";

    cout<<"u="<<u;

}

 

 

 

 

Результаты работы программы:

 

 

 

 

 


Информация о работе Линейный и разветвляющийся алгоритм