Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Отчёт по лабораторной работе.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
732.53 Кб
Скачать
  1. Приведем текст алгоритма в записи псевдокодом:

алгоритм Таблица функций

вещ xn, xk, dx, yn, yk, dy, f

начало

вывести сообщение:|yn/xn|

для xn=0, xn<=xk, xn=xn+dx

вывести сообщение: xn

вывести команду: *с новой строки*

для yn=0,1, yn<=yk, yn=yn+dy

вывести сообщение: yn

для xn=0, xn<=xk, xn=xn+dx

вывести команду: *с новой строки*

вывести команду: *с новой строки*

конец

  1. Приведем схему программы:

Начало

xn=0; xk=2; dx=0.25; yn=-0.5; yk=0.5; dy=0.1

1

|yn/xn|

2

xn=0; xn<=xk; xn=xn+dx

3

xn

4

*Переход на строку ниже*

5

1

yn=0.75; yn<=yk; yn=yn+dy

2

6

yn

7

4

3

xn=0; xn<=xk; xn=xn+dx

8

f=

9

f

10

3

4

1

*Переход на строку ниже*

11

2

*Переход на строку ниже*

12

Конец

Номер блока

Описание

1

Известные значения xn=0; xk=2; dx=0.25; yn=-0.5; yk=0.5;dy=0.1

2

Вывод сообщения | yn/xn |

3

Проверка условия xn=0; xn<=xk; xn=xn+dx. Цикл выполняется, пока условие истинно. Как только условие принимает значение "ложь" реализуется выход из цикла и начинает выполняться следующий оператор

4

Вывод значения xn

5

Переход на строку ниже

6

Проверка условия yn=0.75; yn<=yk; yn=yn+dy. Цикл выполняется, пока условие истинно. Как только условие принимает значение "ложь" реализуется выход из цикла и начинает выполняться следующий оператор

7

Вывод значения yn

8

Проверка условия вложенного цикла xn=0; xn<=xk; xn=xn+dx. Цикл выполняется, пока условие истинно. Как только условие принимает значение "ложь" реализуется выход из цикла и начинает выполняться следующий оператор

9

Вычисление f

10

Вывод значения f

11

Переход на строку ниже

12

Переход на строку ниже

  1. Текст программы

#include <stdio.h>

#include <conio.h>

#include <math.h>

void main (void)

{

double xn,xk,dx,yn,yk,dy,f;

xn=0; xk=2; dx=0.25; yn=-0.5; yk=0.5; dy=0.1;

printf("\n\n\n\n");

printf("|yn/xn|");

for(xn=0;xn<=xk;xn=xn+dx)

printf("| %.1lf|",xn);

printf("\n");

for(yn=0.1;yn<=yk;yn=yn+dy)

{

printf("| %.2lf|",yn);

for(xn=0;xn<=xk;xn+=dx)

{

f=pow(e,xn)+ pow(e,-xn)/(pow(e,yn)-pow(e,-yn)*asin((xn+yn)/2);

printf("|%.3lf|",f);

}

printf("\n");

}

printf("\n");

getch();

}

Лабораторная работа 5.

Задание.

Разработать алгоритм с процедурами и функциями. Результат вывести на дисплей.

Вариант 5.

Формула:

функция:

где a=3, b=5, m=4.

Псевдокод.

Создаются переменные a, b, m, k, k1, k2, s1, s2, z, s.

переменным присваиваются значения a=3; b=5; m=4; k1=1; k2=2.

Переменной k присваивается значение k1. Цикл. Если k<=m то вычисляется

z= a*pow(2.7,3*k)/(k+b)+log((10*(a+k)))/sqrt(k+a); s1=s1+z; k=k+1 цикл начинается заново.

Если k>=m

Переменной z присваивается значение 0.

Переменной k присваивается значение k1. Цикл. Если k<=m то вычисляется

z= a*pow(2.7,3*k)/(k+b)+log((10*(a+k)))/sqrt(k+a); z=z*4.5; s2=s2+z; k=k+1

цикл начинается заново. Если k>=m

Вычисляется s=s11-pow(s2,2)/m

Перенос строки

Вывод на экран значения s.

Схема работы системы.

начало

a=3;b=5;m=4;

k1=1;k2=2;

конец

k=k2;k<=m;k=k+1

z=a*pow(2.7,3*k)/(k+b)+

+log((10*(a+k)))/sqrt(k+a)

s1=s1+z

k=k2;k<=m;k++

z=a*pow(2.7,3*k)/(k+b)+

+log((10*(a+k)))/sqrt(k+a)

z=0

z=z*4.5

s2=s2+z

s=s11-pow(s2,2)/m

\n

s

Текст программы.

#include<conio.h>

#include<stdio.h>

#include<math.h>

double fk (double, double, double);

void main (void)

{

double a,b,m,k,k1,k2,s1,s2,z,s;

a=3;b=5;m=4;k1=1;k2=2;

for(k=k2;k<=m;k++)

{

z=fk(a,b,k);

s1=s1+z;

}

z=0;

for(k=k2;k<=m;k++)

{

z=fk(a,b,k);

z=z*4.5;

s2=s2+z;

}

s=s11-pow(s2,2)/m;

printf(“\n”);

printf(“s=%lf”,s);

getch();

}

double fk (double a, double b, double k)

{

double f;

f=a*pow(2.7,3*k)/(k+b)+log((10*(a+k)))/sqrt(k+a);

return f;

}