Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Структурированная запись алгоритма 25.1Содержание книги
Поиск на нашем сайте 1. Задание начального значения x=1 2. Повторять пока x <=3.1 2.1. Задание начальных значений переменным для вычисления суммы z =0 и степени х stx =1 2.2. Повторять для i =1, 8 2.2.1. Вычисление очередной степени xi stx = stx * x 2.2.2. Прибавление очередного слагаемого z = z + cos (stx) Конец цикла по i 3. Вывод значения х и полученной суммы z 4. Увеличение x на значение шага x = x +0.2 Конец цикла по x Схема алгоритма
Программа на языке Си #include <stdio.h> #include <conio.h>
int main() { int i; double z,x,stx; for(x=1;x<=3.1;x+=0.2) { z=0; stx=1; for (i=1;i<=8;++i) { stx*=x; z+=stx; } printf("x=%.1lf z=%6.3lf\n",x,z); } getch(); return 0; } Программа на языке Паскаль Program main_25_1; Var i:integer; z,x,stx:real; begin x:=1; while x<=3.1 do begin z:=0; stx:=1; for i:=1 to 8 do begin stx:=stx*x; z:=z+cos(stx); end; writeln('x=',x:3:1,' z=',z:6:3); x:=x+0.2; end end. Программа на языке Фортран Program main_25_1 Implicit none integer i real z,x,stx x=1 C1: do while (x<=3.1) z=0 stx=1 C2: do i=1,8 stx=stx*x z=z+cos(stx) enddo C2 print '(A,F3.1,A,F6.3)','x=',x,' z=',z x=x+0.2 enddo C1 end program Программа на языке Python from math import cos x = 1 while x <= 3.1: z = 0 stx = 1 for i in range(1, 9): # i = 1,..., 8 -- 8 итераций stx = stx * x z = z + cos (stx) print("x = {0}, z = {1}".format(x,z)) x = x + 0.2 Программа в системе Матлаб x=1; while x<=3.1 z=0; stx=1; for i=1:8 stx=stx*x; z=z+cos(stx); end disp(sprintf('x=%3.1f z=%6.3f',x,z)) x=x+0.2; end
Второй вариант Можно организовать внешний цикл, вычислив количество его повторений, определяющееся количеством значений х на заданном отрезке от xn до xk с шагом h. Это легко сделать, используя формулу Структурированная запись алгоритма 25.2 1. Задание исходных данных и начального значения x: xn =1, xk=3, h =0.2, x = xn, 2. Вычисление количества значений x на интервале от xn до xk 3. Повторять для j =1, k 3.1. Задание начальных значений переменных для вычисления суммы z =0 и степени х stx =1 3.2. Повторять для i =1, 8 3.2.1. Вычисление очередной степени xi stx = stx * x 3.2.2. Прибавление очередного слагаемого z = z + cos (stx) Конец цикла по i 3.3. Вывод значения х и суммы z 3.4. Увеличение x на значение шага x = x + h Конец цикла по j Схема алгоритма
Программа на языке Си #include <stdio.h> int main() { int i,j,k; double z,x,stx, xn=1,xk=3,h=.2; k=ceil((xk-xn)/h)+1; x=xn; for(j=1;j<=k;j++) { z=0; stx=1; for (i=1;i<=8;++i) { stx*=x; z+=cos(stx); } printf("x=%.1lf z=%6.3lf\n",x,z); x+=h; } return 0; } Программа на языке Паскаль Program main_25_2; Var i, j, k: integer; z, x, stx, xn, xk, h: real; begin xn:=1; xk:=3; h:=0.2; x:=xn; k:=round((xk-xn)/h)+1; for j:=1 to k do begin z:=0; stx:=1; for i:=1 to 8 do begin stx:=stx*x; z:=z+cos(stx); end; writeln('x=', x:3:1,' z=', z:6:3); x:=x+h end; end. Программа на языке Фортран Program main_25_2 Implicit none integer i, k, j real z, x, stx, xn/1/, xk/3/, h/0.2/ k = nint((xk-xn)/h)+1 x = xn C1: do j=1,k z=0 stx=1 C2: do i=1,8 stx=stx*x z=z+cos(stx) enddo C2 print '(A,F3.1,2x,A,F6.3)','x=',x,'z=',z x=x+h enddo C1 end program Программа на языке Python from math import cos xn=1; xk=3; h=0.2; x = xn k = int((xk - xn) / h) + 1 # Получение целой части результата деления, # поскольку k -- целое (количество значений x) for j in range(1, k + 1): # j = 1,..., k -- k итераций z = 0 stx = 1 for i in range(1, 9): # i = 1,..., 8 -- 8 итераций stx = stx * x z = z + cos (stx) print("x = {0}, z = {1}".format(x,z)) x = x + h Программа в системе Матлаб xn=1; xk=3; h=0.2; x=xn; k=(xk-xn)/h+1; for j=1:k z=0; stx=1; for i=1:8 stx=stx*x; z=z+cos(stx); end disp(sprintf('x=%3.1f z=%6.3f',x,z)) x=x+h; end
|
||
|
Последнее изменение этой страницы: 2021-04-12; просмотров: 144; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.217.21 (0.006 с.) |