program Project1_1;

{$APPTYPE CONSOLE}

uses

SysUtils;

var

X, k0, k1, k2, k3, X1, X2:Byte;

begin

{Ввод исходных данных}

Write('Введите X : '); ReadLn(X);

{Вычисление коэффициентов разложения}

k0:=X mod 3; X:=X div 3; //k0:=X mod 3;

k1:=X mod 3; X:=X div 3; //k1:=X div 3 mod 3;

k2:=X mod 3; //k2:=X div 9 mod 3;

k3:=X div 3; //k3:=X div 27;

33

{Вывод вычисленных коэффициентов разложения

числа Х по степеням 3 с поясняющими текстами}

WriteLn;

WriteLn('Кэффициенты разложения '

,'введённого числа по степеням 3');

НЕ нашли? Не то? Что вы ищете?

WriteLn('k3 = ',k3,'k2 = ':7,k2,'k1 = ':7

,k1,'k0 = ':7,k0);

{Вычисление непосредственно по формуле (2.1)}

X1:=k3*27+k2*9+k1*3+k0;

{Вывод результатов}

WriteLn('Вычислено по формуле (2.1) непосредственно');

WriteLn(k3,'*27+',k2,'*9+',k1,'*3+',k0,' = ',X1);

{Вычисление по формуле (1.1),

преобразованной по схеме Горнера}

X2:=((k3*3+k2)*3+k1)*3+k0;

{Вывод результатов}

WriteLn ('Вычислено по формуле(2.1) '

,'представленной по схеме Горнера');

WriteLn('((',k3,'*3+',k2,')*3+',k1,')*3+'

,k0,' = ',X2);

ReadLn;

end.

Лабораторная работа 3

Программы разветвляющейся структуры. Средства разработки программ разветвляющейся структуры.

Программой разветвляющейся структуры называют такую, в которой в зависимости от исходных данных возможны различные последовательности выполнения операторов, причем на любой последовательности каждый оператор выполняется только один раз. Для реализации программ или фрагментов программ с разветвляющейся структурой используют сложные операторы1: условные if и выбора case. В случае применения условных операторов ветвление алгоритма обусловлено проверками логических выражений (в языке Object Pascal их называют булевыми выражениями), результатом вычисления которых могут быть лишь два значения: истина и ложь. В условных операторах используются как простейшие булевы выражения, основанные на сравнении выражений других типов, так и сложные, с логическими операциями. Простейшими булевыми выражениями являются отношения.

Пример. Требуется записать условный оператор, вычисляющий новое значение Y исходя из заданных значений A, B, X, Y по формуле

Алгоритм:

Вот этот оператор:

if A > B then

if B >= 3 then

Y:=2

else

else

Y:=X;

Составить программу вывода значений функции Y(X ), заданной графиком (функция не определена при | Х | > 3)

или, что то же самое, формулой

где Z = -1, если X < 0; Z = 0, если X = 0; Z = 1, если X > 0, двумя способами:

а) с помощью минимального числа операторов if then else, без применения булевых операций (not, and, or, xor), б) с помощью минимального числа операторов if then (без else) с применением булевых операций. Вывести с поясняющими текстами значение Х и вычисленные значения функции:

program Project2;

{$APPTYPE CONSOLE}

uses

SysUtils, Math;

var

X, A,Z, Y:Real;

F:Boolean;

begin

Write('Введите значение аргумента: ');

ReadLn(X);

//Вычисление абсолютного значения Х

A:=Abs(X);

Z:=Sign(X); //Вычисление Z

{ Вычисление без применения булевых операций }

if A>=3 then

WriteLn('Функция не определена. ')

49

else

begin

if A<=1 then

Y:=Z*(1-A)

else if A<2 then

Y:=Z

else

Y:=-Z;

WriteLn('Y = ',Y:4:2);

end;

{ с применением булевых операций }

if A>=3 then

WriteLn('Функция не определена. ');

if A<=1 then

WriteLn('Y = ',Z*(1-A):4:2);

if (A>1) and (A<2) then

WriteLn('Y = ',Z:4:2);

if (A>=2) and (A<3) then

WriteLn('Y = ',-Z:4:2);

ReadLn;

end.

Лабораторная работа 4

Средства разработки программ циклической структуры.

Программой циклической структуры называют такую, в которой операторы могут повторно, при изменяющихся значениях переменных выполняться несколько раз, образуя цикл. Различают следующие виды циклов: цикл с заданным числом повторений или цикл с параметром (операторы цикла for: for to и for downto), цикл с предусловием (оператор цикла while), цикл с постусловием (оператор цикла repeat until). В циклах можно выделить управляющие части, определяющие начало и условия выполнения, и части из одного или нескольких операторов (тело), выполняющие необходимые преобразования данных. Цикл называют простым, если в его теле нет других циклов. Часто  при  решении  задач  необходимо  многократно  выполнять  определённую  последовательность  действий.  Такие  повторяющиеся  действия  называются  циклами.  В  языке  Object Pascal  возможна  организация  3-х  видов  циклов.

С  параметром  (оператор  for) С  предусловием  (оператор  while) С  постусловием  (оператор repeat)

Оператор  цикла  for  организует  выполнение  последовательности  операторов  заранее  известное  число  раз.  Существуют  два  варианта  оператора:

1. С  увеличением  счётчика:

for  <счётчик> := <начальное значение>  to  <конечное значение>  do  <оператор>;

2.  С  уменьшением  счётчика:

for <счётчик>:=<начальное значение>downto <конечное значение>do <оператор>;

Здесь 

<счётчик>  –  переменная  порядкового  типа –  параметр  цикла;

<начальное значение>  и  <конечное значение> –  выражения,  которые  должны  быть  совместимы  с  параметром  цикла;

<оператор>  –  это  оператор,  который  выполняется  в  цикле  –  тело  цикла.

Если  в  цикле  необходимо  выполнить  группу  операторов,  то  её  следует  заключить  в  операторные  скобки  begin…end.

Оператор  for  действует  следующим  образом.  Вначале  вычисляются  начальное  и  конечное  значения  счётчика.  Далее  счётчику  присваивается  начальное  значение.  Затем  значение  счётчика  сравнивается  с  конечным  значением.  Далее,  пока  счётчик  меньше  или  равен  конечному  значению  ( в  первом  варианте )  или  больше  или  равен  ( во  втором  варианте ),  выполняется  очередная  итерация  цикла.  В  противном  случае  происходит  выход  из  цикла.  Выполнение  очередной  итерации  включает  в  себя  сначала  выполнение  тела  цикла,  а  затем  присвоение  счётчику следующего  большего  значения  (в  первом  варианте )  или  следующего  меньшего  значения  ( во  втором  варианте ).  Если  параметр  цикла  целого  типа,  то  это  означает  увеличение  либо  уменьшение  его  на  1.  В  первом  варианте  начальное  значение  должно  быть  меньше  конечного,  а  во  втором  варианте  –  больше  конечного.  В  противном  случае  тело  цикла  не  будет  выполнено  ни  разу.

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9