Що таке блок-схеми? Як складати найпростіші алгоритми?

Отже, опустивши довгі і нудні вихваляння Паскаля, які так люблять публікувати в своїх статтях редактори багатьох сайтів, приступимо безпосередньо до найголовнішого - до програмування

Отже, опустивши довгі і нудні вихваляння Паскаля, які так люблять публікувати в своїх статтях редактори багатьох сайтів, приступимо безпосередньо до найголовнішого - до програмування.

У школах, як правило, вивчення Паскаля починають з вирішення найпростіших завдань шляхом складання різних алгоритмів або блок-схем, яке багато хто так часто ігнорують, вважаючи нікому не потрібною нісенітницею. А дарма. Я, як і будь-який інший чоловік, хоч трохи розуміє в програмуванні (не важливо де - в Паскалі, Сі, Дельфі), можу запевнити Вас - вміння правильно і швидко складати схеми є фундаментом, основою програмування.

Блок-схема - графічне представлення алгоритму. Вона складається з функціональних блоків, які виконують різні призначення (введення / виведення, початок / кінець, виклик функції і т.д.).

Існує кілька основних видів блоків, які неважко запам'ятати:

Існує кілька основних видів блоків, які неважко запам'ятати:

Сьогоднішній урок я вирішила присвятити не тільки вивчення блок-схем, але також і вивчення лінійних алгоритмів. Як Ви пам'ятаєте, лінійний алгоритм - найпростіший вид алгоритму. Його головна особливість в тому, що він не містить ніяких особливостей. Якраз це і робить роботу з ним простий і приємною.

Завдання №1: «Розрахувати площу і периметр прямокутника за двома відомими сторонами».

Дане завдання не повинна представляти особливих труднощів, так як побудована вона на добре відомих усім нам формулах розрахунку площі і периметра прямокутника, тому зациклюватися на виведенні цих формул ми не будемо.

Складемо алгоритм виконання таких завдань:

1) Прочитати задачу.
2) Виписати відомі і невідомі нам змінні в «дано». (У задачі №1 до відомим змінних відносяться сторони: a, b; до невідомим - площа S і периметр P)
3) Згадати або скласти необхідні формули. (У нас: S = a * b; P = 2 * (a + b))
4) Скласти блок-схему.
5) Записати рішення на мові програмування Pascal.

Запишемо умову в більш стислому вигляді.

Дано: a, b

Знайти: S, P

Блок-схема:

Рішення завдання №1

Структура програми, вирішальної це завдання, теж проста:

  • 1) Опис змінних;
  • 2) Введення значень сторін прямокутника;
  • 3) Розрахунок площі прямокутника;
  • 4) Розрахунок периметра прямокутника;
  • 5) Висновок значень площі і периметра;
  • 6) Кінець.

А ось і рішення:

Program Rectangle; Var a, b, S, P: integer; Begin write ( 'Введіть боку прямокутника!'); readln (a, b); S: = a * b; P: = 2 * (a + b); writeln ( 'Площа прямокутника:', S); write ( 'Периметр прямокутника:', P); End.

Завдання №2: Швидкість першого автомобіля - V1 км / год, другого - V2 км / год, відстань між ними S км. Яка відстань буде між ними через T годин, якщо автомобілі рухаються в різні боки? Значення V1, V2, T і S задаються з клавіатури.

Рішення здійснюємо, знову ж таки, слідуючи алгоритму. Прочитавши текст, ми переходимо до наступного пункту. Як і у всіх фізичних або математичних задачах, це запис умов завдання:

Дано: V1, V2, S, Т
Знайти: S1

Далі йде найголовніша і в той же час найцікавіша частина нашого рішення - складання потрібних нам формул. Як правило, на початкових стадіях навчання всі необхідні формули добре нам відомі і взяті з інших технічних дисциплін (наприклад, на знаходження площі різних фігур, на знаходження швидкості, відстані і т.п.).

Формула, яка використовується для вирішення нашої задачі, виглядає наступним чином:

S1 = (V1 + V2) * T + S

Наступний пункт алгоритму - блок-схема:

Наступний пункт алгоритму - блок-схема:

Рішення завдання №2.

А також рішення, записане в Pascal:

Program Rasstoyanie; Var V1, V2, S, T, S1: integer; {Введення} begin write ( 'Введіть швидкість першого автомобіля:'); readln (V1); write ( 'Введіть швидкість другого автомобіля:'); readln (V2); write ( 'Введіть час:'); readln (T); write ( 'Введіть відстань між автомобілями:'); readln (S); S1: = (V1 + V2) * T + S; writeln ( 'Через', t, 'ч. відстань', S1, 'км.'); End.

Вам може здатися, що дві ці програми правильні, але це не так. Адже сторона трикутника може бути 4.5, а не 4, а швидкість машини не обов'язково кругле число! А Integer - це тільки цілі числа. Тому при спробі написати в другій програмі інші числа вискакує помилка:

Зверніть увагу в Паскалі, як і в будь-якому іншому мовою програмування десяткова дріб вводиться з точкою, а не з коми!

Щоб вирішити цю проблему вам треба згадати який тип в Pascal відповідає за нецілі числа. В цьому уроці ми розглядали основні типи. Отже, це дійсний тип - Real. Ось, як виглядає виправлена ​​програма:

Ось, як виглядає виправлена ​​програма:

Як бачите, ця стаття корисна для прочитання як новачкам, так і вже більш досвідченими користувачам Pascal, так як складання блок-схем не тільки дуже просте і швидке, але і дуже захоплююче заняття.

Яка відстань буде між ними через T годин, якщо автомобілі рухаються в різні боки?