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 |


