Алгоритмы линейной, разветвленной и циклической структуры

Лесосибирский филиал

Кафедра: Информационных и технических систем

 

АЛГОРИТМЫ ЛИНЕЙНОЙ, РАЗВЕТВЛЕННОЙ И ЦИКЛИЧЕСКОЙ СТРУКТУРЫ

Пояснительная записка

(ИТС. 230100.003 ПЗ)

 

Руководитель:

 

________П.А. Егармин

(подпись)

____________________

(оценка, дата)

 

Разработал:

Студент группы 61-1

________ А.П. Жудрак

(подпись)

____________________

(дата)


Содержание

 
 


ПРОГРАММИРОВАНИЕ АЛГОРИТМОВ ЛИНЕЙНОЙ СТРУКТУРЫ.. 3

Задание 1. 3

Задание 2. 5

Задание 3. 9

ПРОГРАММИРОВАНИЕ АЛГОРИТМОВ РАЗВЕТВЛЕННОЙ СТРУКТУРЫ 12

Задание 1. 12

Задание 2. 14

ПРОСТЕЙШАЯ ЦЕЛОЧИСЛЕННАЯ АРИФМЕТИКА.. 18

Задание 1. 18

ОПЕРАТОРЫ ЦИКЛА (FOR) 22

Задание 1. 22

Задание 2. 25

Задание 3. 29

Задание 4. 32

ОПЕРАТОРЫ ЦИКЛА (WHILE, REPEAT) 37

Задание 1. 37

Задание 2. 39

 

 


Вариант №2

 

ПРОГРАММИРОВАНИЕ АЛГОРИТМОВ ЛИНЕЙНОЙ СТРУКТУРЫ

Цель работы: Изучение базовой алгоритмической конструкции «линейное следование». Изучение структуры Pascal-программы, синтаксиса и семантики блоков Pascal-программы. Изучение процедур ввода-вывода WRITELN, WRITE, READ, READLN, оператора присваивания.

 

Задание 1.

Постановка задачи:

Даны числа x, y, z. Разработать программу вычисления значений переменных a, b, если

a=ln )

b=sin3tg(yx+z)

 

Математическая формулировка задачи:

В данных формулах трудность представляет только нахождение значения числа в сложной степени. Эта задача решается представлением степени через натуральный логарифм:

Таблица 1 - Таблица внешних спецификаций:

  Имя переменной Назначение переменной Тип переменной Единицы измерения
Входные данные x y z вводимое число вводимое число вводимое число real real real -
Промежуточные вычисления d c число число real real  
Выходные данные a b число число real real -

Расчет контрольных примеров:

При x=1, y=2, z=3: a = =0, b = =0,0260

При x=1, y=3, z=1: a = ln(3-1)0,3 ()=0,62, b=sin3tg(31+1)=-0,0835

 

Блок-схема:

 

Рисунок 1 – Блок-схема к заданию №1

 

Программная реализация:

program chisla;

uses

crt;

var a,b,c,d,x,y,z: real;

begin

clrscr;

writeln('‚Введите x, y, z');

readln(x,y,z);

a:=ln(exp(3/10*ln(y-x)))*exp(sqrt(abs(x))*ln(y));

d:=exp((x+z)*ln(y));

c:=sin(d)/cos(d);

b:=sin(c)*sin(c)*sin(c);

writeln('a= ', a:4:2, ' b= ', b:4:4);

readln

end.

 

 


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

 
 


1) в процессе диалога с пользователем вводим значения x=1, y=2, z=3;

2) вычислениеa:=ln(exp(3/10*ln(y-x)))*exp(sqrt(abs(x))*ln(y));

3) вычисление d:=exp((x+z)*ln(y));

4) вычисление c:=sin(d)/cos(d);

5) вычисление b:=sin(c)*sin(c)*sin(c);

6) печать ‘a= 0’

7) печать ‘b= 0.0260’

 

1) в процессе диалога с пользователем вводим значения x=1, y=3, z=1;

2) вычисление a:=ln(exp(3/10*ln(y-x)))*exp(sqrt(abs(x))*ln(y));

3) вычисление d:=exp((x+z)*ln(y));

4) вычисление c:=sin(d)/cos(d);

5) вычисление b:=sin(c)*sin(c)*sin(c);

6) печать ‘a= 0.62’

7) печать ‘b= -0.0835’

Задание 2.

Постановка задачи:

Даны действительные положительные числа A,B,C. По трем сторонам с длинами A,B,Cможно построить треугольник. Найти угла треугольника.

Математическая формулировка задачи:

В данных формулах трудность представляет только нахождение углов треугольника. Эта задача решается через теорему косинусов:

csa= ; csc= ; csb= ;

 

u1= ;

 

u2= ;

 

u3= ;


 

Таблица 2 - Таблица внешних спецификаций:

  Имя переменной Назначение переменной Тип переменной Единицы измерения
Входные данные csa csb csc a   b   c   u1 u2 u3 180/pi Косинус альфа Косинус бетта Косинус гамма Сторона треугольника Сторона треугольника Сторона треугольника Угол альфа Угол бета Угол гамма Перевод радиан в градусы real real real real   real   real   real real real real  
Выходные данные u1 u2 u3 Угол альфа Угол бета Угол гамма real real real градусы градусы градусы

Расчет контрольных примеров:

Приa=4, b=3, c=4:

 

csa=

csc=

csb= =0,72

u1= )* =68,0

u2= )* =69,0

u3= )* =44,0

 

Приa=3, b=4, c=5:

 

csa=

csc=

csb= =0,8

u1= )* =90

u2= )* =53,1

u3= )* =36,9

Блок-схема:

 

Рисунок 2 – Блок-схема к заданию №2


Программная реализация:

program Project;

uses

crt;

var csa,csb,csc: real;

a,b,c,u1,u2,u3: real;

begin

clrscr;

writeln('Введите а ');

readln(a);

writeln('Введите b');

readln(b);

writeln('Введите с');

readln(c);

if (a<b+c) and (b<a+c) and (c<a+b) then

begin

csa:=(sqr(b)+sqr(c)-sqr(a))/(2*b*c);

csc:=(sqr(a)+sqr(b)-sqr(c))/(2*a*b);

csb:=(sqr(c)+sqr(a)-sqr(b))/(2*a*c);

u1:=((pi/2)-arctan((csa)/(sqrt(1-csa*csa))))*180/pi;

u2:=((pi/2)-arctan((csc)/(sqrt(1-csc*csc))))*180/pi;

u3:=((pi/2)-arctan((csb)/(sqrt(1-csb*csb))))*180/pi;

writeln('Угол 1= ', u1:4:1, ' Градусов.');

writeln('Угол2 = ', u2:4:1, ' Градусов.');

writeln('Угол 3 = ', u3:4:1, ' Градусов.');

end

else writeln(' Это не треугольник, повторите ввод');

readln

end.

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

1) в процессе диалога с пользователем вводим значения a=4, b=3, c=4;

2) проверка (a<b+c) и (b<a+c) и (c<a+b) (да)

3) вычисление csa:=(sqr(b)+sqr(c)-sqr(a))/(2*b*c);

4) вычисление csc:=(sqr(a)+sqr(b)-sqr(c))/(2*a*b);

5) вычисление csb:=(sqr(c)+sqr(a)-sqr(b))/(2*a*c);

6)u1:=((pi/2)-arctan((csa)/(sqrt(1-csa*csa))))*180/pi;

7)u2:=((pi/2)-arctan((csc)/(sqrt(1-csc*csc))))*180/pi;

8)u3:=((pi/2)-arctan((csb)/(sqrt(1-csb*csb))))*180/pi;

9) печать ('Угол 1 = 68.0 градусов.');

10)печать ('Угол 2 = 44.0' градусов.');

11)печать ('Угол 3 = 68.0' градусов.');

 

1) в процессе диалога с пользователем вводим значения a=3, b=4, c=5;

2) проверка (a<b+c) и (b<a+c) и (c<a+b) (да)

3) вычисление csa:=(sqr(b)+sqr(c)-sqr(a))/(2*b*c);

4) вычисление csc:=(sqr(a)+sqr(b)-sqr(c))/(2*a*b);

5) вычисление csb:=(sqr(c)+sqr(a)-sqr(b))/(2*a*c);

6)u1:=((pi/2)-arctan((csa)/(sqrt(1-csa*csa))))*180/pi;

7)u2:=((pi/2)-arctan((csc)/(sqrt(1-csc*csc))))*180/pi;

8)u3:=((pi/2)-arctan((csb)/(sqrt(1-csb*csb))))*180/pi;

9) печать ('Угол 1 = 36.9 градусов.');

10)печать ('Угол 2 =53.1 градусов.');

11)печать ('Угол 3 = 90.0 градусов.');

 

 

Задание 3.

Постановка задачи:

Написать программу дл я перевода значений температуры, заданной по шкале Цельсия, в значения, соответствующие шкалам Фаренгейта, Кельвина и Ренкина.

 

Математическая формулировка задачи:

В данных формулах трудность представляет только формулы перевода температур. Эта задача решается через подстановку в формулы:Ф:=1.8*0С+32;К:=0С+273.15;Р:=Ф+460;

 

Таблица 3 - Таблица внешних спецификаций:

  Имя переменной Назначение переменной Тип переменной Единицы измерения
Входные данные   a Вводимая температура real 0C
  Выходные данные a   b   c   d Температура по Цельсию Температура по Фаренгейту Температура по Кельвину Температура по Ренкину real   real   real   real 0C   0C   0C   0C

Расчет контрольных примеров:

Приa=1:

b=1,8*1+32=33,800C

c=1+273,15=2740C

d=33,80+460=493,80 0C

При а=5:

b=5*1,8+32=41 0C

c=5+273,15=278 0C

d=41+460=501 0C

 

Блок-схема:

Рисунок 3 – Блок-схема к заданию №3

 

Программная реализация:

program nePeBod_ZHa4eHui_TemnEpATyPbI;

uses

crt;

var

a,b,c,d: real;

begin

clrscr;

writeln('‚Введите значение температуры:');

readln(a);

b:=1.8*a+32;

c:=a+273.15;

d:=b+460;

writeln(Градус по Цельсию: ', a:4:2);

writeln('Градус по Фаренгейту: ', b:4:2);

writeln('Градус по Кельвину: ', c:4:2);

writeln('Градус по Кельвину: ', d:4:2);

readln;

end.

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

1) В процессе диалога с пользователем вводим значения температуры 1:

2) Вычислениеb=1.8*a+32;

3) Вычисление c:=a+273.15;

4) Вычисление d:=b+460;

5) Печать ‘Градус по Цельсию: 1’

6) Печать 'Градус по Фаренгейту: 33.80’

7) Печать 'Градус по Кельвину: 274.15’

8) Печать 'Градус по Кельвину: 493.80’

 

1) В процессе диалога с пользователем вводим значения температуры 5:

2) Вычислениеb=1.8*a+32;

3) Вычисление c:=a+273.15;

4) Вычисление d:=b+460;

5) Печать ‘Градус по Цельсию: 5.00’

6) Печать 'Градус по Фаренгейту: 41.00’

7) Печать 'Градус по Кельвину: 278.15’

8) Печать 'Градус по Кельвину:501.00’

 

 


Дата добавления: 2015-12-18; просмотров: 9; Мы поможем в написании вашей работы!

Поделиться с друзьями:




Мы поможем в написании ваших работ!