Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лаб_2_метод_указания.doc
Скачиваний:
2
Добавлен:
09.11.2018
Размер:
412.67 Кб
Скачать

Цикл for в циклах с параметром Вычисление суммы чисел натурального ряда от 1 до 10

//вариант_1

const int N =10;

int main ()

{ int summa=0;

for(int i=1; i <=N; i++)

summa += i;

cout << summa << endl;

_getch();

return 0;

}

//вариант_2

const int N=10;

int main ()

{ int summa=0;

for(int i=1; i <=N; )

summa += i++;

cout << summa << endl;

_getch();

return 0;

}

//вариант_3

const int N=10;

int main ()

{

for(int i=1, summa = 0; i <=N; cout << summa << endl)

summa += i++;

//cout << summa << endl; error!! Undeclared “summa”

_getch();

return 0;

}

Вывод на экран кодов символов

//цифры

char s;

for (s ='0'; s <= '9'; s++)

cout << s << " " << static_cast <int> (s) << endl;

//латинские буквы char s;

for (s ='A'; s <= 'Z'; s++)

cout << s << " " << static_cast <int> (s) << endl;

for (s ='a'; s <= 'z'; s++)

cout << s << " " << static_cast <int> (s) << endl;

Приостановка выполнения программы на n секунд

const int DELAY =500000000;

int main (){

long i;

int n;

cout << "sec=?\n";

cin >> n;

for (; n; n--)

for (i=0; i<DELAY; i++) ;

cout << n << endl;

_getch();

return 0;

}

Получение натуральных делителей числа N

int main ()

{

unsigned N;

cout << "\ninput N:"; cin >> N;

for (unsigned i = 2; i <= N / 2; i++) // перебор значений делителей

if (!(N % i))cout << i << " "; //если i есть делитель числа N

cout << endl;

_getch();

return 0;

}

Проверка, является ли натуральное число N простым

int main ()

{

unsigned N;

cout << " input N:"; cin >> N;

bool b=true ;

for (unsigned i = 2; (i <= N / 2) && b; i++)

if (!(N % i)) b=false;

if (b) cout << "da" << endl;

else cout << "net" << endl;

_getch();

return 0;

}

Вычисление значений функции на отрезке

Составим программу для вычисления и вывода на печать таблицы значений функции у = а*х2 при а =17.7, х изменяется от x0 = 25.5 до xn = 35.0 с шагом h = 0.5 с помощью цикла for:

int main ()

{double a = 17.7, x0 = 25.5, xn = 35.0, x, y, h = 0.5;

const double X_end = xn+h/2 ; //35.0 +h/2, чтобы попала точка 35.0

for ( x=x0; x < X_end; x+=h)

{ y = a*x*x;

printf ("x=%7.2lf y=%10.2lf\n", x, y);

_getch();

}

return 0;

}

или

int main ()

{double a= 17.7, x0 = 25.5, xn = 35.0, x, y, h = 0.5;

const double X_beg = x0-h/2 ; //25.5-h/2, чтобы попала точка 25.5

for (x=35.0; x > X_beg; x-=h)

{ y = a*x*x;

printf ("x=%7.2lf y=%10.2lf\n", x, y);

_getch();

}

return 0;

}

или

#include <math.h>

int main ()

{ double a= 17.7, x, y, h = 0.5, x0= 25.5, xn=35.0;

const int k = int((xn-x0)/h)+1; //или floor ((xn-x0)/h)+1;

x=x0;

for (int i=1; i<=k; i++)

{y = a*x*x;

printf ("x=%7.2lf y=%10.2lf\n", x, y);

x+=h;

_getch();

}

return 0;

}