Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Otchet 1 семестр 4 вариант 4 факультет.docx
Скачиваний:
17
Добавлен:
12.05.2018
Размер:
323.87 Кб
Скачать

Лабораторная работа № 3 Тема: Операторы повторений

Задание: Составить схему алгоритма и программу на языке С++ для вычисления значений функции y=f(x) в точках от х=х1 до х=хn c шагом ∆х.

x1 = 2

xn = 3

Δx = 0,1

a = 4

b = 7

Решение:

  1. Блок-схема алгоритма

Начало

True

Конец

Вывод

1 – for

2 – while

3 – do while

4 - exit

Ввод nn

nn=1

nn=4

nn=3

nn=2

Ввод

х1, хn, ∆х

x=xn

x≤xk+∆x

x=x+∆x

Вывод х, у

x=xn

x=x+∆x

x≤xk

Ввод

х1, хn, ∆х

Вывод х, у

Ввод

х1, хn, ∆х

x=xn

Вывод х, у

x=x+∆x

x≤xk

Ошибка

да

да

да

да

да

да

да

нет

нет

нет

нет

нет

нет

нет

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

#include "stdafx.h"  #include <iostream>  #include <math.h>  #include <stdlib.h>  #include <locale>  using namespace std;  int _tmain(int argc, _TCHAR* argv[])  {  setlocale(0,"");  system("cls");  double a=4, b=7, y, x, xn,xk,dx;  int nn;  while(true)  {  cout«"1-for \n2-while\n3-do while\n4-exit\n";  cin»nn;  switch(nn)  {  case 1:  cout«"Введи xn\nxn=";  cin»xn;  cout«"Введи xk\nxk=";  cin»xk;  cout«"Введи dx\ndx=";  cin»dx;  for( x=xn; x<=xk+dx; x=x+dx)  {  y=b*x*sqrt(1+a*a*log(x));  cout«x«" "«y«endl;  }  system ("pause");  break;  case 2:  cout«"Введи xn\nxn=";  cin»xn;  cout«"Введи xk\nxk=";  cin»xk;  cout«"Введи dx\ndx=";  cin»dx;  x=xn;  while(x<=xk+dx)  {  y=b*x*sqrt(1+a*a*log(x));  cout«x«" "«y«endl;  x=x+dx;  }  system ("pause");  break;  case 3:  cout«"Введи xn\nxn=";  cin»xn;  cout«"Введи xk\nxk=";  cin»xk;  cout«"Введи dx\ndx=";  cin»dx;  x=xn;  do {  y=b*x*sqrt(1+a*a*log(x));  cout«x«" "«y«endl;  x=x+dx;  } while(x<=xk+dx);  break;  case 4: return 0;  default:cout«"Выбери 1, 2, 3, 4\n";  }  }  system ("pause");  return 0;  }

  1. Результат

Самара, 2017