37805

Програмування лінійних та розгалужених алгоритмів

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

Информатика, кибернетика и программирование

Ознайомитися з операторами вводу, виводу і присвоєння, навчитися записувати лінійні алгоритми на мові програмування Pascal; закріпити теоретичні відомості про розгалужені алгоритми, оператори передачі управління, навчитися програмувати розгалуження.

Украинкский

2017-03-19

62.52 KB

1 чел.

9

Міністерство освіти і науки України

Хмельницький національний університет

Кафедра системного програмування

Лабораторна робота №1

з програмування

на тему:

«Програмування лінійних та розгалужених алгоритмів»

Виконав:

Студент групи КІ-10-1

Ноль М.Г.

Перевірив:

Савенко О.С.

Хмельницький

2010

Лабораторна робота №1

Тема: програмування лінійних та розгалужених алгоритмів.

Мета: ознайомитися з операторами вводу, виводу і присвоєння, навчитися записувати лінійні алгоритми на мові програмування Pascal; закріпити теоретичні відомості про розгалужені алгоритми, оператори передачі управління, навчитися програмувати розгалуження.

Завдання

Задача 1. За заданими сторонами a, b, c трикутника знайти величини згідно з варіантами. Передбачити введення значень a, b, c  з клавіатури. Виведення вихідних даних здійснювати з відповідним пояснюючим текстом.

Варіант 8. Знайти .

b2 + c2a2)/2bc.

Блок-схема 1

початок

Ввести(a,b,c)

P1:=(b*b+c*c-a*a)/(2bc)

P2:=sqrt(1-p1*p1)

P:=p1+p2

Вивести(р)

кінець

uses crt;

  (*оголошуємо змінні для сторін і шуканих величин*)

var a, b, c, p, p1, p2: real;

begin

clrscr;

writeln ('Введіть сторони трикутника:');

  (*вводимо значення сторін*)

readln (a, b, c);

  (*обчислюємо значення синуса і косинуса*)

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

p2:=sqrt(1-p1*p1);

   (*обчислюємо значення суми*)

p:=p1+p2;

   (*виводимо результат*)

writeln ('cos(a)+sin(a)=', p:5:2);

readln

end.

Задача 2. Дано числа a, b, c. Надрукувати їх в порядку зменшення.

Блок-схема 2

початок

Ввести(a,b,c)

max:=a

А

А

+

b>max?

+

c>max?

max:=b

max:=c

               

min:=a

+

b<min?

+

c<min?

min:=b

                                   

                                            

min:=c

+

a≠max?

a≠min?

+

b≠max?

b≠min?

p:=a

p:=b

c≠max?

c≠min?

+

p:=c

Вивести(max,p,min)

кінець

uses crt;

var a, b, c, max, min, p: real;                        

  (*Оголошуємо основні та допоміжні змінні*)

begin

clrscr;

writeln ('Введіть числа a, b, c:');

  (*Вводимо значення чисел*)

readln (a, b, c);

  (*Знаходимо значення максимуму*)

max:=a;

if b>max then max:=b;

if c>max then max:=c;

  (*Знаходимо значення мінімуму*)

min:=a;

if b<min then min:=b;

if c<min then min:=c;

  (*Знаходимо інше число*)

if (a<>max) and (a<>min) then p:=a;

if (b<>max) and (b<>min) then p:=b;

if (c<>max) and (c<>min) then p:=c;

  (*Виводимо числа у порядку зменшення*)

writeln ('Числа у порядку зменшення: ', max:5:2, p:5:2, min:5:2);

readln

end.

у

Задача 3. Дано графік функції. Необхідно задати дану функцію аналітично і вкласти програму, яка при заданому значенні аргументу буде видавати значення функції.

1

х

0.5

0

-1

Блок-схема 3

початок

Ввести(х)

+

х<=0?

y:=0.5

y:=sin(x)

Вивести(у)

кінець

uses Crt;

var x, y: real;

begin

clrscr;

writeln ('Введіть х:');

  (*Вводимо значення х*)

readln (x);

  (*Перевіряємо умову, обчислюємо відповідне значення у*)

if x<=0 then y:=sin(x) else y:=0.5;

  (*Виводимо результати*)

writeln ('x=', x:5:2);

writeln ('y=', y:5:2);

readln

end.

Задача 4. Дано п’ятизначне число менше 30000, яке вводиться з клавіатури. Скласти програму, яка визначає кожну його цифру в розряді і додає їх.

початок

Блок-схема 4

Ввести(х)

+

10000<x<30000?

B

B

x1:=x mod 10

x2:=(x mod 100-x mod 10) div 10

x3:=(x mod 1000-x mod 100) div 100

x4:=(x mod 10000-x mod 1000) div 1000

x5:=x div 10000

p:=x1+x2+x3+x4+x5

Вивести(х1,х2,х3,х4,х5,р )

кінець

uses crt;

  (*Зробимо позначку*)

label start;

  (*Оголошуємо змінні для кожної цифри числа*)

var x, x1, x2, x3, x4, x5, p: integer;

begin

clrscr;

start: writeln ('Введіть число x, (10000<x<30000):');

  (*Вводимо значення числа х*)

readln (x);

  (*Перевіряємо умову*)

if (x<10000) or (x>30000) then goto start else

  (*Знаходимо кожну цифру числа*)

x1:=x mod 10;

x2:=(x mod 100 - x mod 10) div 10;

x3:=(x mod 1000 - x mod 100) div 100;

x4:=(x mod 10000 - x mod 1000) div 1000;

x5:=x div 10000;

  (*Додаємо усі цифри*)

p:=x1+x2+x3+x4+x5;

  (*Виводимо результат*)

writeln (x1,' одиниць, ', x2,' десятків, ', x3,' сотень, ', x4,' тисяч, ', x5,' десятків тисяч');

writeln (сума цифр=', p);

readln

end.


 

А также другие работы, которые могут Вас заинтересовать

85647. Понизительная подстанция №19 ОАО «НЛМК» 3.28 MB
  Дана характеристика ГПП-19, описана система электроснабжения, потребители и требования к надёжности их электроснабжения. На основе расчётных нагрузок выполнена проверка электрооборудования в нормальном и послеаварийном режимах.
85648. Информационно-аналитическая система планирования и оптимизации ассортимента предприятия 1.82 MB
  В работе специалиста предложена модель оптимизации выпуска продукции и модель прогноза продаж которые позволяют составить оптимальный план выпуска продукции. Основой для формирования ассортимента и цены продукции является анализ спроса на мясопродукты учет сырья оболочки и вспомогательных...
85649. Проблемы прогнозирования и планирования городского хозяйства 581 KB
  Целью работы является исследование проблемы прогнозирования и планирования городского хозяйства. Достижение поставленной цели связанное со следующими заданиями: Изучение и анализ проблемы планирования и прогнозирования городского хозяйства. Разработка проекта прогнозирования городского хозяйства.
85650. Исследование и разработка системы управления производственным и управленческим персоналом предприятия 3.52 MB
  Система управления кадровым составом предприятия при приеме на работу, кадры, анализ кадрового состава, штатное расписание, личное дело, кадровое планирование, стадии кадрового планирования, методы прогнозирования кадровых потребностей, планирование использования кадров, источники информации...
85651. Информационная модель производственного процесса вязального участка предприятия «Лутри» 469 KB
  Одно из них Луганская фирма Лутри специализирующаяся на производстве трикотажных изделий с законченным технологическим циклом вязание сурового полотна крашение и отделка раскрой пошив и изделий из легких текстильных тканей.
85652. Пути совершенствования информационных систем в ООО «Адидас» 1.79 MB
  Целью выпускной квалификационной работы является повышение эффективности управления информационными потоками в организации. Для достижения поставленной в выпускной квалификационной работе цели необходимо решить следующие задачи: определить сущность информационного пространства и бизнес-среды организации...
85654. Обліку та аналізу економічного стану підприємства (на прикладі «Краснодонського м’ясокомбінату») 744.5 KB
  Мета роботи – розробка інформаційної системи, що дозволяє проводити облік та аналіз економічного стану підприємства (на прикладі «Краснодонського м’ясокомбінату») та пошук методів підвищення його фінансової стійкості. Для досягнення поставленої мети необхідно вирішити наступні задачі: провести дослідження діяльності...
85655. Розробка комп’ютеризованої підсистеми управління матеріально-технічним забезпеченням на вугледобувного підприємстві (на прикладі СП шахти «Самсонівська-Західна» ВАТ «Краснодонвугілля») 1.34 MB
  У роботі проаналізовано процес прийняття рішень у сфері матеріально-технічного забезпечення на вугледобувному підприємстві на прикладі шахти «Самсонівська-Західна». Розроблена система підтримки прийняття рішень (СППР) у сфері матеріально-технічного забезпечення на основі OLAP-аналізу...