Решение задач с использованием циклов

ЗАДАЧА 10. Составить таблицу значений функции y=esin(x)cos(x) на отрезке [xn;xk] с шагом dx. Найти сумму положительных значений y и произведение отрицательных y.

Входные данные: xn, xk,dx.

Выходные данные: множество значений x и y, S – сумма положительных значений y и P – произведение отрицательных значений y.

Блок-схема алгоритма решения задачи на рис. 13.

Рис. 13. Алгоритм решения задачи 10

Текст программы c соответствующими комментариями приведен далее.

#include <stdio.h>

#include <math.h>

int main()

{

//Описание всех переменных

float xn, xk, dx, x, y, s, p;

printf("Введите xn,xk,dx");

scanf("%f%f%f",&xn,&xk,&dx);

for(s=0,p=1,x=xn;x<=xk;x+=dx)

{

y=exp(sin(x))*cos(x);

printf("X=%g\tY=%g\n",x,y);

if (y<0) p*=y;

else s+=y;

}

printf("S=%g\tP=%g\n",s,p);

}

ЗАДАЧА 11. Вычислить значения z, которые соответствуют каждому значению х (x = 1; dx = 0.5) по формуле:

.

Считать z до тех пор, пока подкоренное выражение больше или равно 0.02. Определить k — количество вычисленных z.

Входные данные: xn, dx.

Выходные данные: множество значений x и y, k – количество выполненных итераций цикла.

Блок-схема алгоритма на рис. 14. Текст программы, соответствующий б/с алгоритма приведен далее.

Рис. 14. Алгоритм решения задачи 11

#include<stdio.h>

#include<math.h>

void main()

{

float x,dx,z; int k=0;

printf("x="); scanf("%f",&x);

printf("dx="); scanf("%f",&dx);

while (x/(x*x*x+1)>0.02)

{

z=log(x)*sqrt(x/(x*x*x+1));

printf("\n x=%f \t z=%f \n",x,z);

k++;

x=x+dx;

}

printf("\n k=%d",k);

}

Обработка массивов

Массив структурированный тип данных, состоящий из фиксированного числа элементов одного типа.

Простой или одномерный массив это список данных одного и того же типа. Порядковый номер элемента массива называют индексом. Для доступа к данным, хранящимся в определенном элементе массива, необходимо указать имя массива и индекс этого элемента.

Описание массивов

Описать массив можно так:

тип имя_переменной [размерность];

где размерность это количество элементов в массиве. Например:

int х[10]; float a[20];

Размерность массива и тип его элементов определяют объем памяти, который необходим для хранения массива. Следовательно, размерность это целое положительное константное выражение. Например,

const int n=15;.

double B[n];

Элементы массива в С++ нумеруются с нуля (первый элемент, всегда имеет номер ноль, а номер последнего элемента на единицу меньше заданной при его описании размерности):

//Описан массив из 5 символов, нумерация от 0 до 4:

char C[5];


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: