Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


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




[

1.Какие из приведенных ниже команд ветвления являются:

1) правильными

2) неправильными

а) if a<b then a:=a+1 else b:=b-1;

б) if (x<5) and (y>3) then s:=s+1; else s:=s-1;

в) if a<>b then b:=a;

г) if 9 then k:=k+1;

 

2.Какие значения будут принимать переменные A и B в результате выполнения команды ветвления:

if A<B then A:=B else B:=A;

если перед ее выполнением A=0.5, B=-1.7?

 

3.Какая задача решается в результате выполнения команды:

if x<y then max:=y else max:=x;?

 

4.При каких значениях a и b, условие a>b будет:

1) истинным

2) ложным

а) a=2, b=5; б) a=5, b=2; в) a=2, b=2

 

5.Найти значение величины c после выполнения команд ветвления:

if b>=6 then c:=5 else c:=10, если

1) b=2; 2) b=16; 3)b=6

 

6.Каким было значение величины d, если после выполнения команд ветвления:

if d<=4 then c:=5 else c:=10, переменна я c равна:

1)с=5; 2)с=10

а) d=4; б) d=10; с) d=2

7.Какое значение принимает переменная s после выполнения команды ветвления:

Label 1, 2;

Begin

s:=1;

m:=3;

1: if k >=m then goto 2;

s:=s+m

k:=k+1;

goto 1;

 

2: end.J

 

Если

1) k=2;

2) k=3;

3) k=1;

4) k=5;

5) k=0;

а) s=5

б) s=1

в) s=10

г) s=7

д) s=3

е) s=6

ё) s=4


Лабораторная работа №5

Тема работы: Программирование операторов ветвления.

Цель работы: изучение и использование операторов ветвления в программировании.

Задания:

вариант задание
Y= |2*cos(a)|+6*b при a<1; 2*sin(b)+6*a при a>=1;
Y= 7*tg(a)+|6*b| при a<5; 2*tg(b)+6*ln(b) при a>=5;  
Y= 2*cos(a)*sin(b)+7 при a<1; 2*ctg(b)-6*a при a>=1;
Y= 2*cos(a)+6*b при a<1; 2*ln(b)+6*ln(a) при a>=1;  
Y= 2*ctg(a)+|6*cos(3*a)| при a<1; 2*sin(b)-3 при a>=1;

Оператор IF реализует алгоритмическую конструкцию РАЗВИЛКА и изменяет порядок выполнения операторов в зависимости от истинности или ложности некоторого условия. Существует два варианта оператора:

if S then A
else В; {полная развилка}
и
if S then А; {укороченная развилка}

В этих операторах:
S - некоторое логическое выражение, истинность которого проверяется;
А - оператор, который выполняется, если выражение S истинно;
В - оператор, который выполняется, если выражение S ложно.

Так как условный оператор IF является единым предложением, ни перед then, ни перед else точку с запятой ставить нельзя. Примеры использования оператора:

if X < 0 then X := -Y;
if X < 1.5 then Z := X + Y
else Z := 1.5;

Пример. Ввести целое число и вывести символ, соответствующий этому числу в кодировке ASCII, если такой символ есть, или сообщение, что такого символа нет (управляющие символы не учитываются).

program EXAMPLE5;
var X: Integer;
begin
Write('Введите целое число: ');
ReadLn(X);
if (X > 31) and (X < 256) then
WriteLn('Соответствующий символ - ', Chr(X))
else
WriteLn('Такого символа НЕТ')
end.

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

1. Опишите оператор ветвления и правила его использования.

2. Опишите используемые в вашей программе операторы ввода и вывода информации.


Лабораторная работа №6

Тема работы: Создание программ, содержащих оператор цикла.

Цель работы: изучение и использование операторов цикла в программировании.

Задание:

1. Используя оператор for реализовать программу на паскале.

2. Ответить на контрольные вопросы.

Варианты:

1. запрашивает с клавиатуры два произвольных числа X и Y. Если X больше Y, то вычисляет и выводит на экран сумму всех целых чисел от 1 до X, иначе вычисляет и выводит на экран произведение всех целых чисел от X до Y;

2. запрашивает произвольное число N, вычисляет произведение всех целых чисел от 1 до N. Если полученное произведение больше 50, то выводит на экран ее значение, иначе выводит на экран сообщение «Произведение меньше 50»;

 

3. запрашивает с клавиатуры два произвольных числа X и Y. Если X больше Y, то вычисляет и выводит на экран произведение всех целых чисел от 1 до X, иначе вычисляет и выводит на экран сумму всех целых чисел от 1 до Y;

 

4. запрашивает с клавиатуры два произвольных числа X и Y, вычисляет их разность. Если разность больше 10, то вычисляет и выводит на экран произведение всех целых чисел от Y до X, иначе выводит на экран значение разности;

 

Теоретический материал.

1. Цикл с предусловием.
Для реализации циклов с предусловием используется составной оператор, включающий оператор while, do, операторные скобки.
В общем виде цикл реализуется записью:
while <условие> do <действие>;
Если тело цикла содержит более одного действия, то необходимо использовать операторные скобки:
while <условие> do
begin
<оператор 1>;
<оператор 2>;
...
<оператор n>;
end;

 

Пример. Найти все делители целого положительного числа (кроме 1 и самого числа).

program EXAMPLE;
var
X: Integer;
Half: Integer;
Divider: Integer;
i : Integer;
begin
repeat
Write('Введите число больше нуля: ');
ReadLn(X);
if X <= 0 then
WriteLn('Неправильный ввод')
until X > 0;
Half := X div 2;
Divider := 2;
I := 0;
while Divider <= Half do
begin
if X mod Divider = 0 then
begin
Inc(i); {увеличение счетчика на единицу}
WriteLn(i, ' -й делитель равен: ', Divider)
end ;
Inc(Divider) {увеличение делителя на единицу}
end;
if i = 0 then
WriteLn('Делителей нет');
WriteLn('Конец решения')
End.

 

2. Цикл с постусловием.
Для реализации цикла используется составной оператор, состоящий из операторов repeat и until.
В общем виде цикл записывается так:
repeat
<действие>;
until <условие>;

Пример: задано целое число. Вывести на печать все цифры введенного числа.
1 способ:

var a,b: integer; Begin read(a); repeat b:=a mod 10; writeln(b); a:=a div 10; until a=0; End.


2 способ:

var a,b: integer; Begin read(a); while a<>0 do begin b:=a mod 10; write(b); a:=a div 10; end; End.


3. Цикл с параметром.

Для реализации в языке Pascal используется составной оператор, состоящий из операторов for, to, downto, do и при необходимости из операторных скобок. Переменная параметр обязательно объявляется в декларационной части программы и может принадлежать одному из порядковых типов.
Если при изменении переменной параметра необходимо использовать переход к следующему значению, то используется оператор to; если переход необходимо осуществить к предыдущему значению, то используется оператор downto. Тогда в общем виде цикл записывается так:
for I:=I0 to In do
begin
<оператор 1>;
<оператор 2>;
...
<оператор n>;
end;

 

Пример: Вывести на экран буквы от Z до A.

program EXAMPLE;
var i: Char;
begin
for i : = 'Z' downto 'A' do
Write(’ ’,i);
end.

Пример. Вычислить 101 значение sin x с заданным шагом и вывести первое отрицательное значение синуса.

program EXAMPLE;
label l;
var Si: array[0..100] of Real; {массив вещественных чисел}
Step: Real;
X: Real;
i: Integer;
begin
Write('Введите шаг вычисления: ');
ReadLn(Step);
X := 0; {начальный аргумент}
for i := 0 to 100 do
begin
Si[I]:=Sin(X);
X := X + Step
end;
for i :=0 to 100 do
if Si[I] < 0 then
begin
WriteLn('Первое отрицательное значение синуса: ', Si[I], ' Номер элемента: ', i);
goto 1;
end;
WriteLn('Нет отрицательного значения');
1:
end.

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

1. Опишите варианты использования операторов цикла.

Опишите используемые в вашей программе операторы цикла, ввода и вывода информации.
Лабораторная работа №7

Тема работы: Создание программ, содержащих селективный оператор Case.

Цель работы: изучение и использование селективного оператора в программировании.

Теоретический материал.

С помощью этого оператора можно выбрать вариант из любого количества вариантов. Структура этого оператора в Turbo Pascal:

case S of
C1:Instruction1;
C2:Instruction2;
CN: InstructionN;
else Instruction
end;


Поделиться:

Дата добавления: 2015-04-04; просмотров: 111; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.007 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты