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

Автор работы: Пользователь скрыл имя, 01 Декабря 2013 в 15:26, лабораторная работа

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

Работа содержит задачи по дисциплине "Информатика" и их решения

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

Лаба 1.docx

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

Нижегородский Государственный  Технический Университет имени  Р.Е. Алексеева

 

 

 

Кафедра « Прикладная математика»

 

Отчет

 

 

по лабораторной работе №1 по информатике

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

Вариант 8.

 

 

 

 

 

 

Выполнила:

 студентка группы 13-ЯР

Колычихина О.А.

Проверила: Тарнаева С.А.

 

 

 

Нижний Новгород, 2013 г.

Задача 1.

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

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

                         z =

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

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

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

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

Блок-схема:

 


 


 



                                                              «Vvedite x,a»


 

 

 

 

 

 

 

 


 


 да


 

                                                                     (y≥z)      нет


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Программа :

#include<iostream>

#include<math.h>

using  namespace  std;

void  main( )

{

double  x,a,y,z,u;

cout<< «vvedite x,a\n»;

cin>>x>>a;

y=pow(fabs(cos(x+pow(a,2))),3);

z=exp(x*a)+asin(2+a*x);

if  (y<z)  u=z;

else  u=y;

cout<< «ishodnie dannie\n»;

cout<< «x=»<<x<< «  a=»<<a;

cout<< «promeshutochnii rezultat\n»;

cout<< «y=»<<y<< « z=»<<z;

cout<< «\nokochko rezultata\n»;

cout<< «u=»<<u;

}

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

 

 

 

 

 

Ручной счет:

I  1) исходные данные: х = 1, а = -1

   2)

   3) z =

   4) y<z     0.07<1.94  (да)

  5) x = 1 ; a = -1

   6) y=0.07;z=1.94

   7) u = 1.94

II  1) исходные данные: x = 6 ; a = -0.5

     2) =1

   3) z = =

    4) y<z    1<-1.52 (нет)

   5) x = 6 ; a = -0.5

   6) y = 1 ; z = -1.52

   7) u = 1

 

Задача 2.

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

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

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

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

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

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

 

Блок-схема:


 


 



                                                              «Vvedite x,a»


 

 


                                                                                                                                 да


 

                           )       нет


 


                                                                                                                                 да 



                                                            нет



 





 


 


 


 





 


 

 

Программа :

#include<iostream>

#include<math.h>

using  namespace  std;

void  main( )

{

double  x,y,u;

cout<< «vvedite x,y\n»;

cin>>x>>y;

if  (pow(x,2)+pow(y,2)<=5) u=1./tan(x+y);

else  if  (pow(x,2)+pow(y,2)>=13) u=x-y;

else  u=pow(x,2)+pow(y,3);

cout<< «ishodnie dannie\n»;

cout<< «x=»<<x<< «  y=»<<y;

cout<< «\nokochko rezultata\n»;

cout<< «u=»<<u;

}

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

 

 

 

Ручной счет:

I  1) исходные данные: х = 1, y = 2

   2)    ;  5 (да)

   3) =ctg(1+3)=ctg3=-7.02

   4)  x = 1 ; y = 2

   5) u=-7.02

II  1) исходные данные: x = 3 ; y = 0.5

   2) (нет)

   3)     (нет)

  4)  u =

  5) x = 3 ; y = 0.5

   6) u = 9.13

 

 

III  1) исходные данные: x = 5; y = 4

     2)   (нет)

    3)  (да)    

    4)  u = x-y=5-4=1

    5) x = 5 ; y = 4

    6) u = 1

 

 


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