Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Практические / Пр №3.Циклические программы

.odt
Скачиваний:
6
Добавлен:
17.04.2015
Размер:
19.6 Кб
Скачать

Практическое занятие №3. Циклы.

//Написать программу ввода n чисел, подсчитать сумму чисел

//max и номер максимального значения

//Цикл имеет сл. структуру

// for ( int i=0; i<n ; i++) {операторы;}

#include <stdio.h>

#include <stdlib.h>

#include <math.h>

int main()

{

int n,x,s=0,k=0,max=-32000;

printf("Ввести количество вводимых чисел\n");

scanf("%i",&n);

s=0;

for (int i=0;i<n;i++)

{

scanf("%i",&x);

s+=x;

if (x>max){max=x;k=i;}

}

printf("MAX= %i № max %i S= %i \n", max,k,s);

system("pause");

return 0;

}

//Вводим т= 10

//Вводим числа 1 2 3 4 5 6 7 6 5 4

//Ответ max=7 № мax = 7 s=43

/Вычислить сумму ряда s=1+x+x^2/2!+x^3/3!+

// y=exp(x)

#include <stdio.h>

#include <math.h>

#include <stdlib.h>

main()

{

const float eps=0.0001;

float a,b,h;

int i,n,k;

float c,s,x;

printf("Vvesti nathaloe konethnoe kolithestvo znatheniy\n");

scanf("%f%f%i",&a,&b,&n);

h=(b-a)/n;x=a;

for (x=a; x<b; x+=h)

{

s=1;

c=1.;

k=1;

do

{

c=c*x/k;

s+=c;

k++; }

while (c>eps);

printf("%i %f %f %f\n", k,x,s,exp(x) );

}

system("pause");

}

//Написать программу вычисления значения функции y=exp(-x)

//Начальное значение a конечное b и количество значений

//y=1-x+x^2/2!-x^3/3!-.....

#include <stdio.h>

#include <math.h>

#include <stdlib.h>

main()

{

const float eps=0.00001;

const float h=0.1;

float a,b;

int i,n,k;

float c,s,x;

printf("Vvesti nathaloe konethnoe kolithestvo znatheniy\n");

scanf("%f %f %i",&a,&b,&n);

x=a;

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

{ x=a+i*h;

s=1.;

c=1.;

k=1;

do

{

c=-c*x/k;

s=s+c;

k++;

}

while (abs(c)<eps);

printf(" %i %f %f %f %i\n", i,x,s,exp(-x),k);

}

system("pause");

}

//Вычислить таблицу для функции заданной суммой ряда s=x+x^3/2/3+

//Вычисление значения y=аrcsin(x)

#include <stdio.h>

#include <math.h>

#include <stdlib.h>

main()

{

float a,b,h,eps,t,s,x,r,u;

int k,l;

printf("Vvesti A B H EPS\n");

scanf("%f%f%f%f",&a,&b,&h,&eps);

printf("__________________________________________\n");

printf(" x F(x) asin(x)\n");

printf("__________________________________________\n");

for (x=a; x<=b; x=x+h)

{

k=1;

l=2;

s=x;

t=x;

do

{

t=t*x*x*k/l;

k=k+2;

l=l+2;

s=s+t/k;

}

while (t>eps);

printf(" %f %f %f\n",x,s,asin(x));

}

system ("pause");

}

//Вычислить корень квадратный по итерационной формуле

//Yn=(Yn-1+x/Yn-1)/2

#include <stdlib.h>

#include <stdio.h>

#include <math.h>

main ()

{

float x,yp,y;

const float eps=0.001;

printf("Vvesti X=\n");

scanf("%f",&x);

y=2;

do

{

yp=y;

y=(yp+x/yp)/2;

} while(fabs(y-yp)>eps);

printf("Koren= %f raven%f \n",x,y);

system("pause");

return 0;

}

//Вводим 2

//Ответ 1.416

//Вычисление кубического корня

//Yn+1=(2*Yn+x/Yn^2)/3

#include <stdio.h>

#include <stdlib.h>

int main()

{

float x,y,y1;

printf("Ввести X= Y= \n");

scanf("%f%f",&x,&y);

for (int i=1;i<10;i++){ y1=(2*y+x/y/y)/3;

y=y1;

printf("y=%f \n",y1);}

printf("Значение Функции равно %f \n",y1);

system("pause");

return 0;

}

//Вводим 10 3

//Ответ 2.154

//Вычисление корня методом Ньютона.

// РЕШЕНИЕ

// Дана функция y=f(x).Y=0. Вычислить корень с точностью до e=0,001.

// На интервале a, b есть корень.

// Представим функцию как x=fi(x)

// 1. X k+1 =fi(Xk)//

// 2. если abs (Xk+1-Xk)<e то выходим из цикла

#include <stdio.h>

#include <stdlib.h>

float f(float x)

{return (x*x-7*x+10);}

float fi(float x)

{return (x*x+10)/7;}

float abc(float x)

{return (x>0)? x:-x;}

int main()

{

float xk,xk1,e;

xk1=5.5;

e=0.001;

do { xk=xk1;

xk1=fi(xk);}

while (abc(xk1-xk)>e);

printf(" \n root= %f \n",xk1);

system("pause");

return 0;

}

// при Xk=1 root=2,000000

//Написать программу для составления таблицы умножения

//с помощью цикла в цикле.

#include <stdio.h>

#include <stdlib.h>

main ()

{

int i,j,k;

for (i=1; i<=10; i++){

k=0;

for (j=1;j<10; j++){

k++;

printf("%2i*%2i=%2i",k,i,k*i);}

printf("\n");}

system("pause");

return 0;

}

// Написать программу используя цикл в цикле.

//Во дворе гуси и кролики у них 64 ноги .Сколько гусей и сколько

//кроликов во дворе.

#include <stdio.h>

#include <stdlib.h>

int main()

{

int i,j;

for (i=1;i<=64;i++)

for (j=1;j<=64; j++)

if (i*2+4*j==64) printf("Go=%i Kr=%i\n",i,j);

system("pause");

return 0;

}

//2 15

//4 14

//6 13

//8 12

//Найти все двузначные числа, сумму квадратов цифр равна m.

#include <stdio.h>

#include <stdlib.h>

main ()

{

int m,i,j;

printf("Ввести число М \n");

scanf("%i",&m);

for (i=1; i<10 ; i++)

for(j=0;j<10;j++)

if(i*i+j*j==m) printf(" %i \n",i*10+j);

system("pause");

return 0;

}

//100

//68

//86

Домашнее задание.

123. Напишите программу, которая выводит на экран таблицу умножения, например, на 7. Рекомендуемый вид экрана во вре­ мя выполнения программы приведен ниже. 7x2=14 7x3=21 7x4=28 7x5=35 7x6=42 7x7=49 7x8=56 7x9=63