Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Програм готовый вариант БОГОДЯЖ . кр.docx
Скачиваний:
1
Добавлен:
16.08.2019
Размер:
196.89 Кб
Скачать

3.4 .Задание 4

в диапазоне изменение от 0 до 5 с шагом 0.5.

При решении данной задачи используем алгоритмы циклической структуры "до" и "пока". Параметром данного цикла является х, причем при каждом повторном вычислении его значение следует увеличивать на величину шага.

Объявим переменную х в разделе объявлений вещественного типа и зададим в программе ей начальное значение равное 0. В процессе вычислений значение переменной будет изменяться с заданным шагом 0,5.

Для вычисления y при х1 будем использовать алгоритмическую структуру "цикл-до", а при вычислении функции в диапазоне 0<x<3 – "цикл-пока".

Блок-схема одного из вариантов алгоритма решения задачи приведена на рис.4. Как видно, программно алгоритм можно описать с помощью условных операторов. Но мы будем использовать специальные средства языка, реализующие циклические структуры.

С учетом сказанного, программа, соответствующая представленному алгоритму будет иметь вид:

Начало

Ввод х:=0

конец

x:=x+0.5

t:=b*Sqr(Sin(x)/Cos(x))

x>0

x:=x+0.5

Вывод t

t:= ln(2)*(x+a)

Рис. 4. Блок-схема алгоритма задачи 4

ENDIF}{$ENDIF}

Результаты работы

программы:

Tabl

-----------------------

| x= 0.00 |t= 1.14 |

-----------------------

| x= 0.50 | t= 1.4914 |

-----------------------

| x= 1.00 | t= 12.13 |

-----------------------

| x= 1.50 | t= 994.25 |

-----------------------

| x= 2.00 | t= 23.87 |

-----------------------

| x= 2.50 | t= 2.79 |

-----------------------

Classes

{ you can add units after this };

var t,x,a,b:real;

begin

x:=0;

writeln(' Tabl ');

writeln('|x=',x:6:2,'|t=',t:6:2,'|');

writeln('--------------------');

repeat

a:=1.65;

t:= ln(2)*(x+a);

writeln('| x=',x:6:2, ' | t=',t:6:2, ' |');

writeln('--------------------');

x:=0.5;

until x>0;

while x<3 do

begin

b:=5;

t:=b*Sqr(Sin(x)/Cos(x));

writeln('|x=',x:6:2,'|t=',t:6:2,'|');

writeln('--------------------');

x:=x+0.5;

end;

readln

end.

3.5 .Задание 5

program Zadacha5;

{$mode objfpc}{$H+}

uses

Classes, SysUtils

{ you can add units after this };

const n=20;

var i, Imin :byte;

Xmin : real; // наименшийший элемент

x : array[1.. n] of real;

begin

for i :=1 to n do

begin

write( 'vvedite ', i, ' element massive x' );

readln(x [i ]); //ввод элемента массива Х

end;

Xmin := x[1]; //кандидат в Хmin

Imin :=1; //его номер Imin

for i :=2 to n do if x[i] > Xmin then

begin //поиск Хmin

Xmin:=x[i];

Imin:=i;

end;

writeln;

writeln('Xmin=', Xmin:6:2, ' Imin=', Imin);

readln //вывод результата

end.

Результат:

vvedite 1 element massive x 2

vvedite 2 element massive x -8

vvedite 3 element massive x 6

vvedite 4 element massive x -10

vvedite 5 element massive x 6

vvedite 6 element massive x 4

vvedite 7 element massive x -7

vvedite 8 element massive x 3

vvedite 9 element massive x 5

vvedite 10 element massive x -8

Xmin= 6.00 Imin

Вывод по работе

При выполнении контрольной работы было выполнено 5 заданий.

По заданиям были составлены блок-схемы для каждого из них.

В процессе выполнения задания было усвоено линейное программирование, разветвляющиеся алгоритмы, алгоритмы в которых используя оператор fotodo, операторы whiledo и repeatuntil,и работа с массивами