Основні логічні конструкції у мові програмування Delphi |
Написав admin | |||||||||||||||||||||||||||||||||||||||||||
Неділя, 11 вересня 2011 21:09 Переглядів: 6347
|
|||||||||||||||||||||||||||||||||||||||||||
В основу любої мови програмування закладені логічні конструкції. В різних мовах вони можуть записуватись по-інакшому, але загалом, не дуже відрізняються одна від одної, тому зрозумівши принцип роботи в одній мові програмування буде легко застосовувати його в будь-якій іншій. До речі, якщо ви знаєте англійську хоча б на базовому рівні( а це дуже допоможе вам у вивченні програмування), то ви без проблем зрозумієте усі конструкції.
Отже, розглянемо основні логічні конструкції у мові програмування Delphi.
Конструкції розгалуження
Часто використовувана конструкція для розгалуження коду If умова then блок_інструкцій else блок_інструкцій_2; Дослівно можна перекласти як “Якщо умова виконується, тоді виконати блок інструкцій, інакше виконати блок інструкцій 2”. Приведу побутовий приклад — якщо продзвенів дзвінок, тоді вийти на перерву, інакше сидимо за партою. В данному випадку «продзвенів дзвінок» це умова. Будь-яка умова може мати тільки два значення — True(Правда або Істина) і False(Неправда або Хибний). Отже, якщо умова виконується і ми отримуємо значення True, тоді “виходимо на перерву”, якщо ж умова повертає значення False, то “сидимо за партою”. Блоки_операцій можуть містити декілька команд, а не обов’язково одну. Звичайно у програмі умову і блоки_інструкцій треба буде описувати згідно правил програмування, але основне зрозуміти сенс логічної конструкції. If умова then блок_інструкцій; Скорочена версія конструкції без оператора else.
Конструкція Case використовується для розгалуження багатьох варіантів Case умова of Значення1: блок_інструкцій_1; Значення2: блок_інструкцій_2; … ЗначенняN: блок_інструкцій _N; End; Якщо “умова “ збіглась з одним із значень, тоді виконується відповідний блок інструкцій. Конструкція,наприклад, може використовуватись для створення «світлофора», де умова була б колір,а значення відповідно — червоний,жовтий, зелений. Для кожного кольору виконується свій блок інструкцій.
Цикли
Цикли використовуються для монотонної роботи, коли необхідно виконати блок інструкцій не один раз. Наприклад, розрахувати факторіали, прочитати або записати масиви інформації і т.д. For початкове_значення_лічильника to кінцеве_значення_лічильника do блок_інструкцій; Для цього цикла треба вказати початкове значення лічильника(спеціальна змінна) і кінцеве, тоді цикл буде виконувати блок інструкцій і збільшувати лічильник на 1, поки лічильник не досягне кінцевого значення і зупинить цикл. Приведу приклад, обрахунку факторіалу числа 5. …ініціалізація змінних, ми її ще не розглядали N:=1; //задаємо значення для змінної N For i:=1 to 5 do N:=N*I; //при кожному циклові число N множиться на значення лічильника i //оскільки лічильник набирає значень від 1 до 5, то ми в кінцевому результаті отримаєм число факторіалу 5
Існує також інша версія циклу, з єдиною відмінністю, що лічильник кожного разу зменшується на одиницю. For початкове_значення_лічильника downto кінцеве_значення_лічильника do блок_інструкцій;
Цикл while має іншу будову, суть його така — доки умова справджується виконуємо блок інструкцій. Тут уже немає задання початкового значення, існує тільки певна умова, яка забезпечує роботу циклу. While умова do блок_інструкцій; Важливо також те, що в цьому циклі слід самостійно збільшувати значення лічильника. Виконаєму ту ж задачу з факторіалом і побачимо наскільки змінився код …ініціалізація змінних, ми її ще не розглядали N:=1; //задаємо значення для змінної N i:=1; //задаємо значення для змінної i while i<6 do //доки змінна i менша 6 (тобто від 1 до 5) begin N:=N*I; i:=i+1; //збільшуємо лічильник на 1 end;
Цикл repeat, на відміну від while мусить біти виконаний хоча б раз, це зумовлено його будовою. Repeat блок_інструкцій until умова; Повторювати блок інструкцій доки умова справджується. Тобто,спочатку виконується блок інструкцій,а уже опісля провіряється умова. Цей цикл трохи небезпечний, бо якщо ви задали умову,яка критично важлива для самого блоку інструкцій, то в програмі може виникнути помилка. І приклад, все той же, для відчуття різниці: N:=1; i:=1; repeat begin N:=N*I; i:=i+1; end; until i>5; //як бачите те, що умова провіряється вкінці змушує змінити значення на «більше 5»
Сподіваюсь ви зрозуміли основні логічні конструкції, бо вони вам ще знадобляться=)) До наступних уроків! ( 15 Проголосувало ) Новіші матеріали:
Старіші матеріали:
3.26 Copyright (C) 2008 Compojoom.com / Copyright (C) 2007 Alain Georgette / Copyright (C) 2006 Frantisek Hliva. All rights reserved." |