Структурированная запись алгоритма 7 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Структурированная запись алгоритма 7



1. Повторять 10 раз для k, изменяющегося от 1 до 10 с шагом 1 (k =1,10)

1.1. Вывести на экран значение k и k 2

Схема алгоритма

Текст программы на языке Си

#include <stdio.h>

int main (void)

{

int k;

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

printf (″%d - %d\n″, k, k*k);

return 0;

}

Текст программы на языке Паскаль

Program Pr7;

var k: integer;

begin

for k:=1 to 10 do

writeln (k,’ – ’, k*k)

end.

Текст программы на языке Фортран

Program Pr7

Implicit none

integer k

do k=1, 10

print *, k,’ – ’, k*k

enddo

end

Программа на языке Python

for k in range(1, 11): # k = 1, 2, 3,..., 9, 10

print(" k = ", k, " k*k = ", k*k)

Программа в системе Матлаб

for k=1:10

disp(strcat(int2str(k),'-',int2str(k*k)))

end

 

Задача 8. Получение таблицы значений функции

Условие задачи. Получить таблицу значений функции  для аргумента x, изменяющегося от -1 до 1 с шагом 0,1.

Для решения задачи необходимо знать границы отрезка, на котором изменяется аргумент х, и шаг изменения х. По условию границы отрезка - от -1 до 1, а шаг изменения х на заданном отрезке равен 0.1. Поэтому вводить исходные данные с клавиатуры не надо. В задаче требуется получить таблицу значений функции, поэтому сначала один раз нужно вывести общий заголовок таблицы и заголовки колонок ‘х и ‘f(x) . А сами значения x и f (x) нужно выводить в две колонки. Вычислять значения функции и выводить эти значения надо последовательно для каждого значения х, которое будет изменяться с шагом h = 0.1. Для этого надо организовать цикл. При организации цикла можно воспользоваться двумя вариантами. Либо использовать арифметический цикл по количеству значений х на отрезке, для которых будет вычислена функция f(x), используя формулу  (где xk, xn – верхняя и нижняя границы отрезка, h – шаг изменения x), либо организовать итерационный цикл, который будет продолжаться пока x<= 1. Мы воспользуемся первым вариантом. Для этого вычислим количество значений х на отрезке от xn = -1 до xk = 1 . До цикла зададим начальное значение х = x n. Далее в цикле, который будет выполняться k раз, вычислим значение функции f=cos2(x), выведем на экран значения х и f, затем увеличим значение x на значение шага x=x+0.1 для вычисления следующего значения функции. При выводе следует учесть, что значения x и f должны располагаться под соответствующими заголовками. Это обеспечивается в программах использованием форматов вывода.

Структурированная запись алгоритма 8

1. Вывод заголовка таблицы и заголовков колонок.

2. Задание значений xn =-1, xk = 1, h = 0.1 и начального значения х = -1.

3. Вычисление количества повторений k =(xk - xn)/ h +1.

4. Повторятьдля i = 1, k

4.1. Вычисление значения функции f = cos 2 (x)

4.2. Вывод на экран x и значения функции f

4.3. Изменение аргумента x=x+ h

Конец цикла по i

Схема алгоритма

Программа на языке Си

#include <stdio.h>

#include <math.h>

int main (void)

{

int i, k;

double x,f,xn=-1.,xk=1.,h=0.1;

printf (²Таблица значений функции\n²);

printf (² x   f(x)\n”);

k=ceil((xk-xn)/h+1);

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

{

f=cos(x);

printf (²%4.1lf%11.2lf\n”, x, f*f);

x+=.1;

}

return 0;

}

Программа на языке Паскаль

Program main_8;

Var

i, k: integer;

f, x, xn, xk, h: real;

begin

writeln('Таблица значений функции');

writeln(' x f(x)');

xn:=-1;

xk:=1;

h:=0.1;

x:=xn;

k:=round((xk-xn)/h)+1;

for i:=1 to k do

begin

f:=sqr(cos(x));

writeln(x:4:1, f:11:2);

x:=x+h;

end;

end.

Программа на языке Фортран

Program main_8

Implicit none

integer i, k

real f, x,xn/-1./,xk/1./,h/0.1/

k=nint((xk-xn)/h)+1

x=xn

print '(5x,A)', 'Таблица значений функции f(x)'

print '(8x,A,8x,A)', 'x', 'f'

do i=1,k

f=cos(x)**2

print '(7x,F4.1,F11.2)', x, f

x=x+h

enddo

end program main_8

Программа на языке Python

from math import cos

from math import pow

print("Таблица значений функции")

print(" x   f(x)")

xn = -1.0; xk = 1.0; h = 0.1; x = xn

k = int((xk-xn)/h) + 1

for i in range(k):

# i = 0, 1,..., k-1 -- всего k Значений

f = pow(cos(x),2)

print("{:.1f}{:11.2}".format(x, f))

x = x + h

Программа в системе Матлаб

disp('Табл.значений функции');

disp(' x f(x)');

xn=-1;

xk=1;

h=0.1;

x=xn;

k=(xk-xn)/h+1;

for i=1:k

f=cos(x)^2;   

disp(sprintf('%4.1f %11.2f', x,f))

x=x+h;

end



Поделиться:


Последнее изменение этой страницы: 2021-04-12; просмотров: 46; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.223.0.53 (0.009 с.)