Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика1 / МУ лабы инф алгор 2009 ЭЭФ выпущ исправ окт 09.doc
Скачиваний:
18
Добавлен:
25.04.2015
Размер:
1.06 Mб
Скачать

1.2 Варианты заданий и контрольные вопросы

Составьте блок-схему и программу вычисления выражения. Вычислите его при указанных значениях аргументов, и проверьте результат с помощью калькулятора или Excel. Повторите вычисления при произвольных значениях аргументов. Все результаты запишите в отчет по образцу, показанному на рисунке 1.2.

Program lin_algoritm;

Uses Crt;

Var A, X, Y, {входные и выходные переменные}

S1, S2, S3, S4 : real; {переменные для промежуточных результатов}

Begin ClrScr;

Write (' Vvedite A -> ');

Readln (A);

Write (' Vvedite X -> ');

Readln (x);

S1:=2*Sqrt(A*A+Sqr(X));

S2:=2.5*Sin(A+X)/Cos(A+X);

S3:=Ln(A+x);

S4:=Sin(x)+Cos(A)*Cos(A);

Y:=S1+(S2-S3)/S4;

Writeln (' Otvet Y=',Y:10:3);

Readln;

End. {Конец программы}

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

.

Рисунок 1.2 - Блок-схема и программа линейного алгоритма

Варианты заданий

1) , вычислить приx=0, y=1 (P=-0.333).

2) , вычислить при a=2, b=3 (P=-0.2).

3) , вычислить при x=1, y=1 (Z=0.5).

4), вычислить при a=2, b=4 (P=2).

5) , вычислить при a=5, x=5 (Y=10).

6) , вычислить при x=4, y=3 (Z=3).

7) . вычислить при х =,a=5 (y=-1).

8) , вычислить при a=1, b=10 (P=0.5).

9) , вычислить при x =9 (Y=10).

10) , вычислить при a= /2,x=2 (P=-2).

11) , вычислить при a= /2,x=5,5, y=4,5 (Z=1.09).

12) , вычислить при x= ,a=10, b=3 (Y=2).

13) , вычислить при x=10, y=1 (Z=1).

14) , вычислить при a= ,y=3, x=2 (Z=0).

15) , вычислить при a= ,x=4, b=1 (P=2).

16) , вычислить при a= ,x=6, y=1 (Z=3).

17) , вычислить приx=,y=5 (P=-0.5).

18) , вычислить при a=5; b=4 (Y=1).

19) , вычислить при x=,a=3, b=0,5 (y=0.25).

20) , вычислить при x=;a=3; b=11 (P=-3.5).

21) , вычислить при x=; a=0,5; b=10 (Y=0.5).

22) , вычислить при x=;a=0,5; b=0 (Y=0.2).

Контрольные вопросы

Дайте определение алгоритму. Назовите его основные свойства.

Какой алгоритм называется линейным?

Что такое блок-схема? Назовите элементы блок-схемы.

Опишите структуру программы.

Назовите типы данных, используемые в Pascal?

Расскажите о форматном и бесформатном выводе в Pascal?

Как записываются арифметические выражения?

Как вычислить функции tgx,ctgx,lgx?

Какая разница между операторами Writeln(Х) иWrite(Х).

Если х=3.14151785, что выведет на экран оператор Writeln(‘X=’ ,X:8:5)

Если х=3.14151785, что выведет на экран оператор Write(‘X=’ ,X:8:5)

2 Лабораторная работа 2. Разветвленный алгоритм. Повторения

Цель работы – создание алгоритмов разветвленной структуры и цикла.

2.1 Создание разветвленного алгоритма и программы

2.1.1 Разветвленный алгоритм

Ветвящимся (разветвленным)называется алгоритм, в котором в зависимости от вычисления некоторого условия далее алгоритм продолжается по одному из двух или из нескольких заранее предусмотренныхветвей. На рисунке 2.1 показана блок – схема ветвления. Для реализации ветвления используются два оператораIf илиCase.

Пример записи условного оператора для вычисления функции

If (x<0) then y:=Cos(x) else y:=0;.

Внимание! Условный оператор является одним выражением, поэтому точка с запятой перед else не ставится.

Если в операторе If ветвь than или ветвь else отсутствует, то ветвление называют неполным. При наличии обоих ветвей ветвление называют полным.

Для составленияусловий используются логические функции и отношения, приведенные в приложении В. Результат вычисления условия является логическим типом и может принимать одно из двух значенийtrue(истина) илиfalse(ложь). На блок-схеме пишут соответственноДа иНет.

If ((X>=2) and ((X<=5)) - здесь условие истинно, если одновременно выполняются оба отношения, то есть Х лежит в пределах от 2 до 5.

If ((X<2) or ((Y>5)) - здесь условие истинно, если выполняется хотя бы одно отношение: либо Х < 2, либо Y > 5 или Х <2 и Y >5 одновременно.

В линейном алгоритме порядок выполнения операторов соответствует их записи в программе. Если необходимо нарушить этот порядок, то используется оператор безусловного перехода Goto metka, который в блок-схеме отображается в виде стрелки. Метка, используемая в операторе, показывает, что дальнейшая работа должна проводиться в другой части программы, с той строки, которая обозначена как metka. Метка должна быть описана в разделе Label.

Внимание! После метки в тексте программы ставится двоеточие.

Оператор Goto может применяться для повторений (циклов) выполнения какой-либо части программы. Количество повторений и номер повторения контролируют переменными целого типа, например integer. Ниже приведен фрагмент такой программы.

i:=1; {i – номер повторения}

N:=5; {N – количество повторений}

Metka1: {Ставим двоеточие после метки}

Writeln (‘ Nomer povtoreniya ’, i);

i:=i+1;

If (i<=N) then Goto Metka1;

Результат работы этого фрагмента:

Nomer povtoreniya 1

Nomer povtoreniya 2

Nomer povtoreniya 3

Nomer povtoreniya 4

Nomer povtoreniya 5.

2.1.2 Пример создания алгоритма разветвленной структуры

Вычислить разрывную функциюдля значений Х равных -2, 0, 0.5, 1,.

Алгоритм представлен на рисунке 2.2.

Program vetvlenie;

Uses crt; Label Metka1;

Var i, N: integer;

x, y: real;

Begin

ClrScr;

N:=5; i:=1;

Metka1:

Write (' Vvedi X -> ');

Readln (X);

if (x<0) then y:=exp(x);

if ((x>=0) and (x<=1))

then y:=0;

if (x>1) then y:=sin (x);

writeln (' Otvet Y=' , y:10:3);

i:=i+1;

if (i<=N) then goto Metka1;

end.

В программе N – количество повторений, i – номер повторения. Все ветвления в программе выполнены неполными, так как ветвь else отсутствует.

Результат работы программы показан на рисунке 2.3.

Рисунок 2.3 - Результат

Вывод значения переменной Y выполнен форматированным: выделено 10 знакомест, причем три из них отводятся для вывода дробной части числа. Для повторения части программы (цикла) применен оператор goto. Результат работы программы скопирован с экрана клавишей Print Screen и обработан в графическом редакторе.

Соседние файлы в папке Информатика1