русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


Завдання 2


Дата додавання: 2014-11-28; переглядів: 945.


1.В мисці N штук вареників, один вареник важить V гр. Яка вага всіх вареників в мисці в кг?

2. Цвях довжиною L см забивають в дошку. За один удар цвях заглиблюється в дерево на К мм. За скільки ударів цвях заб'ють в дошку?

3. Одна сторінка книжки прочитується за Н хв, в книжці S сторінок. За скільки годин книжка буде прочитана?

4. Торт вагою Т кг ріжуть на порції, кожна порція торту має Рг.

Скільки гостей можна пригостити тортом?

5. З поля зібрали К цнт картоплі і засипали в мішки по М кг в кожний. Скільки мішків картоплі зібрали з поля?

6. Вудкою зловили R риб по G г кожна. Обчисліть загальну вагу спійманої риби в кг.

7. W кг цукерок ділять порівну на М дітей. По скільки г цукерок дістанеться кожній дитині?

8. Одна серія фільму по телевізору триває F хв. Скільки часу в годи­­нах необхідно, щоб переглянути N серій?

9. Вага одного підручника Р г. На скільки збільшиться вага портфеля в кг, якщо в нього покласти N підручників?

10. Порося щодня набирає вагу Р г. За скільки днів порося виросте в свиню вагою S кг?

11. Скільки лампочок потрібно, щоб освітити вулицю довжиною D км, як­­­ що стовпи з ліхтарями стоять на відстані V м?

12. На скільки днів людині вистачить Н кг хліба, якщо щодня вона з'їдає Z г хліба?

13. На пару чобіт солдат вимащує К г вакси. Скільки кг вакси щодня не­­­ обхідно для військової частини, де служить N солдатів?

14. З поля площею М га зібрали R тонн пшениці. Скільки центнерів пшениці зібрали з одного га?

15. Крик півня триває Т сек, за день він співає К раз. Яка загальна тривалість співу півня в хв за день?

16. Скільки кг картоплі треба начистити щодня в їдальні, якщо на кож­ну з В порцій борщу йде А г картоплі?

 


Лекція №3 (45+45)

Опис розгалуження на мові програмування. Операції відношення, логічні операції, структура розгалужень (умовний та безумовний переходи), вкладені розгалуження. Приклад програми. Опис циклу на мові програмування. Цикл, який реалізується за допомогою розгалуження. Приклад. Цикл FOR / DO. Приклад . Цикл WHILE / DO. Приклад. Вкладені цикли. Приклад знаходження суми; виведення таблиці (табулювання функції).

 

1. Розгалужений - це алгоритм, який крім простих команд містить умовну команду.

Умовна команда – це вказівка виконувати одну з двох команд.

2. Завдання: розв’язати лінійне рівняння ax+b=0 (лінійна програма, математичний розв’язок).

  1. Запис розгалуження мовою програмування (читання, запис умови).

4. Розв’язок лінійного рівняння (етапи розв’язку).

5. Завдання: знайти максимальне з трьох чисел a,b,c.

1 спосіб

if (a>=b)and(a>=c) then max:=a;

if (b>=a)and(b>=c) then max:=b;

if (c>=a)and(c>=b) then max:=c;

2 спо

if a>=b then if a>=c then max:=a else max:=c else if b>=c then max:=b else max:=c;

3 спосіб

max:=a;

if b>max then max:=b;

if c>max then max:=c;

 

  1. Безумовний перехід GOTO, мітка.
  2. Повторення (цикл) - виконання певних команд скінчене число разів.
  3. Завдання: знайти n!.

1!=1

2!=1*2=2

3!=1*2*3=6

.

.

.

n! –визначає кількість чисел, які можна утворити з 3-х різних цифр.

Реалізація завдання через розгалуження та безумовний перехід.

  1. Цикл FOR/DO та його робота.
  2. Завдання: знайти суму числового ряду
  3. Цикл WHILE/DO

Знайти суму з точністю (значення елемента менше) 0.01.

12.Використання циклу для виведення таблиць.

Завдання: протабулювати функцію y=x3 на відрізку [a;b] та кроком h.

  1. Домашнє завдання.

1. Розв’язати квадратне рівняння.

2. Знайти z,

3. Знайти суму чисел кратних трьом на відрізку [n;100].

 

14. Запитання:

- Розгалуження.

- Операції відношення.

- Логічні операції.

- Безумовний оператор.

- Мітка.

- Цикл FOR/DO (початкове значення, кінцеве, тіло циклу).

- Цикл WHILE/DO його використання.

- Використання циклу для реалізації програм (типи програм).

 


Структура розгалуження:

1) Розгалужений алгоритм – це алгоритм, який крім простих програм є умовна команда.

Умовна команда – це вказівка виконувати одну з двох команд.

2) Складемо програму розв’язку лінійного рівняння.

var a,b,x:real;

begin

readln(a,b);

x:=-b/a;

writeln(x);

end.

при а=0 програма видасть помилку (це недопустимо)

3) Для реалізації програми необхідно знати структуру розгалуження, яка записується

IF умова THEN оператори [ELSE оператори]

(в квадратних дужках необов’язковий запис)

Переклад:

Якщо виконується умова тоді виконувати оператори 1 інакше виконувати оператори 2

Вказівка про розгалуження в загальному випадку має вигляд

IF умова то оператор1 ELSE оператор2

Якщо умова то оператор1 інакше оператор2

Ця вказівка списує структуру розгалуження. В разі виконання умови, записаної після IF (якщо), виконується оператор (вказівка) 1, а оператор(вказівка)2 пропускається, на цьому виконання вказівки про розгалуження закінчується. Якщо ж умова, записана після IF (якщо), не виконується, то оператор (вказівка)1 пропускається, а виконується оператор (вказівка)2, після чого виконання вказівки про розгалуження закінчується.

Неповне розгалуження описується вказівкою такого виду

IF умова THEN оператор

Якщо умова то оператор

В разі виконання умови, записаної після слова IF (якщо), виконується оператор(вказівка)1, на цьому виконання вказівки про розгалуження закінчується. Якщо ж умова, записана після IF (якщо), то виконання вказівки одразу закінчується, ніяких дій при цьому не виконується.

 

Правила запису умови містяться в лекції №2.

 

Розберемо дану задачу (ax+b=0) детально

1. Аргумент (вхідні дані) a.b

Результат (вихідні дані) x

2. Математична модель:

Якщо a=0, b=0 – безліч коренів

Якщо a=0, b<>0 – не існує розв’язків

Якщо a<>0, x=-b/a

3. Програма

var a,b,x:real;

begin

readln(a,b);

If (a=0) and b=0 then writeln(’безліч розв’язків’);

If a=0 and b<>0 then writeln(‘коренів не існує’);

If a<>0 then begin=-b/a:writeln(x);end;

end.

 

Розглянемо друге завдання.

Скласти програму знаходження найбільшого з трьох чисел a,b,c, введених з клавіатури.

Існують різні способи розв’язку даного завдання

 

1 спосіб

var a,b,c,max:integer;

begin

readln(a,b,c);

if (a>=b)and(a>=c) then max:=a;

if (b>=a)and(b>=c) then max:=b;

if (c>=a)and(c>=b) then max:=c;

writeln(max);

end.

 

2 спосіб

Вкладені розгалуження

IF умова THEN IF умова THEN оператори ELSE оператори ELSE оператори

var a,b,c,max:integer;

begin

readln(a,b,c);

if a>=b then if a>=c then max:=a else max:=c else if b>=c then max:=b else max:=c;

writeln(max);

end.

 

3 спосіб

var a,b,c,max:integer;

begin

readln(a,b,c);

max:=a;

if b>max then max:=b;

if c>max then max:=c;

writeln(max);

end.

Третій спосіб найраціональніший

 

Безумовний перехід

 

Для зміни порядку виконання програми і переходу з одного місця програми (з одного рядка) в інший рядок використовують оператор GOTO

GOTO {мітка}

Номер рядка – це ціле число від 0 до 65535, який ставиться перед оператором.

Мітка оператора – будь-яке число букв і цифр, яка повинна починатися з букв, і міститися в адресному рядку.

За міткою ставиться двокрапка.

Обов’язково мітки описуються в описовій частині після службового слова LABEL.

Завдання 3 Скласти програму знаходження n!

1! = 1

2! = 1*2=2

3! = 1*2*3=6

4! = 1*2*3*4=24

.

.

.

.

n! = 1*2*3*4…….*(n-1)*n

Факторіал використовується в формулах комбінаторики. Визначає кількість чисел, які можна утворити з n різних цифр

var n,k,f:integer;

label 1;

begin

readln(N); {Початкові дані N}

F:=1; {Підготовчий етап F=1}

K:=1; { K=1}

1: F:=F*K;{ Тільки цілому F=F*K}

K:=K+1;{ K=K+1(лічильник)}

IF K<=N THEN GOTO 1;{Перевірка кінця циклу}

writeln(F);{Виведення результату}

end.

 

Такого типу програми набагато простіше можна реалізувати використовуючи спеціальні оператори циклу


<== попередня лекція | наступна лекція ==>
Арифметичні функції | Опис роботи


Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн