Технология программирования. Базовые конструкции C/C++. Липачев Е.К. - 16 стр.

UptoLike

Составители: 

16
cin >> num; // чтение числа
// проверка на четность
if((num%2)==0) cout << "Even \n";
else cout << "Odd \n";
return 0;
}
Результат вычисления арифметического выражения может оказаться
неопределенным. Это может возникнуть, например, из-за переполнения
значение превысит допустимый предел значений данного типа. В этих
случаях говорят об арифметических исключениях, хотя программа
продолжит свою работу и не последует никаких сообщений об ошибке.
Пример. Программа вычислений чисел Фибоначчи. Хотя алгоритм
реализован правильно, и программа успешно завершается, но результаты,
начиная с 47-го числа, неверные мы видим даже отрицательные числа.
Причина – тип int не может хранить большие числа. Использование long
long int способно исправить ситуацию всего лишь для первых 92 чисел, а
с помощью unsigned long long int получим 93 правильных числа
(можно сравнить со значениями, приведенными на странице
http://www.maths.surrey.ac.uk/hosted-sites/R.Knott/Fibonacci/fibtable.html), см.
также пример в разделе ―Цикл for‖.
// fibb.cpp: Вычисление чисел Фибоначчи
//
#include "stdafx.h"
#include <iostream>
using namespace std;
const int n=100;
int _tmain(int argc, _TCHAR* argv[])
{
int f,g,h;
g=0; h=1;
for (int i=2;i<n;i++){
f=g+h;
cout<<'\t'<<f;
h=g;
g=f;
}
return 0;
}
     cin >> num;    // чтение числа
     // проверка на четность
     if((num%2)==0) cout << "Even \n";
     else cout << "Odd \n";
     return 0;
}
     Результат вычисления арифметического выражения может оказаться
неопределенным. Это может возникнуть, например, из-за переполнения –
значение превысит допустимый предел значений данного типа. В этих
случаях говорят об арифметических исключениях, хотя программа
продолжит свою работу и не последует никаких сообщений об ошибке.
       Пример. Программа вычислений чисел Фибоначчи. Хотя алгоритм
реализован правильно, и программа успешно завершается, но результаты,
начиная с 47-го числа, неверные – мы видим даже отрицательные числа.
Причина – тип int не может хранить большие числа. Использование long
long int способно исправить ситуацию всего лишь для первых 92 чисел, а
с помощью unsigned long long int получим 93 правильных числа
(можно сравнить со значениями, приведенными на странице
http://www.maths.surrey.ac.uk/hosted-sites/R.Knott/Fibonacci/fibtable.html), см.
также пример в разделе ―Цикл for‖.
// fibb.cpp: Вычисление чисел Фибоначчи
//
#include "stdafx.h"
#include 
using namespace std;
const int n=100;
int _tmain(int argc, _TCHAR* argv[])
{
    int f,g,h;
    g=0; h=1;
    for (int i=2;i