Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Цикл while, вывод в стиле С




Программа для вычисления и вывода на печать с помощью цикла while таблицы значений функции с условием у(х), если х изменяется от xn = 2.0 до xk = 5.0 с шагом h=0.5.

y(х) =

#include <stdio.h>    

#include <conio.h>

#include <math.h>

int main()

{

 double xn = 2.0, xk = 5.0, x, y, h = 0.5;

 const double X _ end = xk + h /2;      //чтобы не делать проверку в цикле
                                 // на точное равенство с xk

//////////////////////////////////////////////////////////////////////

printf("\nwhile:\n");

printf ("%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c\n",

218,196,196,196,196,194,196,196,196,196,196,196,196,196,196,191);

printf ("%c x %c y %c\n",179, 179, 179);

              // вывод шапки без завершающей разделительной линии

x = xn;

while (x < X_end)

{

if (x <= 3.5) y = cos(x);

  else y = sin(x);

printf("%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c\n",195,196,196,196,
               196,197,196,196,196,196,196,196,196,196,196,180);

                   // вывод разделительной линии

  printf("%c%4.2lf%c%9.5lf%c\n", 179, x, 179, y, 179);

                  // вывод значений   

x += h; //переход к очередной точке отрезка

          //очередная точка отсчитывается от предыдущей!!!  

  }

printf("%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c\n",

192,196,196,196,196,193,196,196,196,196,196,196,196,196,196, 217);

         // вывод завершающей разделительной линии

_getch();

return 0;

}

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

┌────┬─────────┐

│ x │ y │

├────┼─────────┤

│2.00│ -0.41615│

├────┼─────────┤

│2.50│ -0.80114│

├────┼─────────┤

│3.00│ -0.98999│

├────┼─────────┤

│3.50│ -0.93646│

├────┼─────────┤

│4.00│ -0.75680│

├────┼─────────┤

│4.50│ -0.97753│

├────┼─────────┤

│5.00│ -0.95892│

└────┴─────────┘

----------------------------------------------------------------------------------------- 

Цикл while, вывод в стиле С++

Программа для вычисления и вывода на печать с помощью цикла  while таблицы значений функции с условием

y(х) =

если х изменяется от xn = 2.0 до xk = 5.0 с шагом h=0.5:

 

#include <iomanip> //для манипуляторов вывода

#include <math.h>

#include <iostream>

Using namespace std;

int main()

{

 double xn = 2.0, xk = 5.0, x, y, h = 0.5;

 const double X _ end = xk + h/2; //чтобы не делать проверку в цикле
                                 // на точное равенство с xk 

 char c,c1,c2,c3,c4,c5,c6,c7,c8,c9,c10;

 c=char(196); c1=char(218); c2=char(194); c3=char(191);

 c4=char(179); c5=char(195); c6=char(197); c7=char(180);

 c8=char(192); c9=char(217); c10=char(193);

 cout<< c1 << c << c << c << c << c << c2 << c << c << c << c << c << c << c << c << c << c << c << c3 << '\n';

cout<<c4<<" x " << c4 << " y " << c4 << '\n';

                   // вывод шапки без завершающей разделительной линии  

int i = 0;

x = xn;  //первая точка отрезка

while (x < X_end)

{

 if (x <= 3.5)

{

y=cos(x);

  }

 else

{

y=sin(x);

}

cout<< c5 << c << c << c << c << c << c6 << c << c << c << c << c << c << c << c << c << c << c << c7 << '\n';
                      // вывод разделительной линии  

cout << setiosflags(ios::fixed) << setprecision(2);
   // подготовка к выводу x: с фиксир.точкой и 2 знаками после точки   

cout << c4 << setw (5) << x; // вывод х в 5 позиций
  

cout << setiosflags (ios:: fixed) << setprecision (6);
       // подготовка к выводу y: с фиксир.точкой и 6 знаками после точки   

cout << c4 << setw(11) << y << c4 <<"\n"; // вывод y в 11 позиций

i++;     

x = xn + i * 0.5;   //очередная точка отрезка отсчитывается от xn!!!

}    // end_while

cout<< c8 << c << c << c << c << c << c10 << c << c << c << c << c << c << c << c << c << c << c << c9 << '\n';

// вывод завершающей разделительной линии

system("pause"); 

return 0;

}

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

┌─────┬───────────┐

│ x │ y │

├─────┼───────────┤

│ 2.00│ -0.416147│

├─────┼───────────┤

│ 2.50│ -0.801144│

├─────┼───────────┤

│ 3.00│ -0.989992│

├─────┼───────────┤

│ 3.50│ -0.936457│

├─────┼───────────┤

│ 4.00│ -0.756802│

├─────┼───────────┤

│ 4.50│ -0.977530│

├─────┼───────────┤

│ 5.00│ -0.958924│

└─────┴───────────┘

Обратить внимание, что выполняемые в цикле операторы
i++;      

x = xn + i*0.5; //очередная точка отрезка отсчитывается от xn!!!  
можно заменить на выполняемый в цикле оператор
x += 0.5; //очередная точка отрезка отсчитывается от предыдущей!!!  

 

----------------------------------------------------------------------------------------- 





Поделиться с друзьями:


Дата добавления: 2018-10-15; Мы поможем в написании ваших работ!; просмотров: 153 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Неосмысленная жизнь не стоит того, чтобы жить. © Сократ
==> читать все изречения...

4323 - | 3997 -


© 2015-2026 lektsii.org - Контакты - Последнее добавление

Ген: 0.01 с.