Програмиране. Цикли с параметър
Специално място в Turbo Pascal се занимава с цикли. Те започват да се учат веднага след обучението на I / O умения на екрана. В края на краищата, повечето задачи се свеждат до факта, че цикли с параметър и други конструкции помагат да се улесни писането и функционирането на определен блок от програмата.
съдържание
- Видове цикли
- Основни определения по темата
- за hellip- да hellip-do: алгоритъм на действие, синтаксис
- Блокова диаграма на цикъл с параметър
- Основни изисквания за цикъл с параметър
- Turbo pascal: Как да се измъкнем от цикъла
- Примери за задачи с решение
- Конфронтация на два езика за програмиране: c и turbo pascal
Видове цикли
Общо има три разновидности:
- с параметър,
- с предварително условие,
- с последващо условие.
Цикли с параметър, в противен случай те се наричат За hellip- да hellip-do или For hellip- Downto hellip-. направете, многократно повтаряйте определена последователност от действия. По принцип, други сортове се използват за същата цел, само в цикъл са броят на стъпките, известни предварително.
В другите две конструкции (Докато и Повторете), броят на повторенията първоначално е неизвестен. Следователно, когато изучаваме задачата, вече е необходимо да разберем кой цикъл ще бъде използван.
Основни определения по темата
Цикли с параметри се повтарят многократно. Брояч - основният индикатор, чрез който се изпълнява даден проект. Границите на интервала показват степента, в която ще бъдат изпълнени определени повторения. Между другото, не е необходимо първоначалната стойност да е равна на 1. Потребителят определя и двете граници на празнината независимо. Тялото на цикъла е набор от инструкции, за които броят на повторенията вече е дефиниран.
Концепцията за "цикли с параметри" означава, че състоянието се проверява в тази конструкция, след което се извършва набор от повторения. Броячът се увеличава (или намалява) и всичко се повтаря. Тялото ще бъде използвано, докато условието не е вярно.
за hellip- да hellip-do: алгоритъм на действие, синтаксис
Както вече споменахме, вериги с параметър се използват при задачи, които показват "пропастта", в която искате да работите. Така че това може да бъде набор от номера, дни от седмицата, линии на стихотворение и т.н.
Има 2 вида конструкции: да увеличите брояча и да го намалите. Първото строителство ще бъде написано, както следва:
за iskh.peremennaya : = граница 1 за граница 2 правя
започвам
тялото на цикъла;
приключи;
тук: лит. променлив се декларира от потребителя в началото на програмата или блок- граница 1 и граница 2 - началната и крайната стойност на интервала - в тялото цикъл трябва да бъдат изпълнени редица действия, които трябва да бъдат изпълнени от програмата. Трябва да се помни, че ако тялото на цикъла съдържа само 1 команда, тогава скобите beginhellip-end могат да бъдат пропуснати. При този дизайн, броячът, т.е. ще се увеличи на стъпки от 1.
за iskh.peremennaya : = граница 1 Downto граница 2 правя
започвам
тялото на цикъла;
приключи;
Тук е реф. променливата ще се понижи на стъпки от 1.
Схемата на цикъла с параметъра За hellip- да hellip-do ще изглежда така:
- Стойността на горната граница на интервала е зададена, т.е., граница 2.
- Референтна променлива стойността на параметъра е зададена граница 1.
- Провежда се проверка на състоянието: iskh.peremennaya граница 2.
- Когато резултатът е получен вярно (Истината) тялото на цикъла се изпълнява.
- Броячът се увеличава с една стъпка, равна на 1.
- Изпълнението на точки 3-5 става точно до момента, в който условието е вярно: изходящ> граница 2. Веднага щом това се случи, цикълът излиза и контролът се прехвърля на командата след дадената конструкция.
В За hellip- Downto алгоритъмът hellip-do работи подобно на гореизложеното, с изключение на някои елементи:
- В третия параграф се проверява условието: iskh.peremennaya география 2.
- В петия ред на алгоритъма броячът се намалява с 1.
- В шестата точка на командата 3-5 ще бъде изпълнена, докато не бъде изпълнено условието: iskh.peremennaya < граница 2.
Всичко останало е подобно и при двата алгоритми на работа.
Блокова диаграма на цикъл с параметър
Цикли с параметър имат следната форма на блокова диаграма (въпреки че вече са представени по-горе). Тук също така показваме опростена организация на структурата.
Основни изисквания за цикъл с параметър
Цикли с параметри изискват определени условия.
- Броячът и границите на празнината (т.е. изходната променлива, граница 1 и граница 2) трябва да принадлежат към един и същ тип данни. Ако има само съвместимост между началната и крайната стойност на сегмента и променливата източник, програмата може да се държи неправилно, защото границите ще бъдат трансформирани според типа данни на първоначалния параметър.
- Типът данни, към който трябва да принадлежат стойностите на параметрите, трябва да е цяло число. Препоръчително е да не използвате истински тип.
- За да промените стойността на параметъра променлива в тялото на цикъла е насилствено нежелана. В противен случай потребителят едва ли ще може да проследи възникнали евентуални грешки.
- За разлика от другите видове цикли, в За hellip- да hellip-do илиFor hellip- Downto Стъпката hellip-do не може да бъде променяна от параметър различен от 1.
Turbo Pascal: Как да се измъкнем от цикъла
Често има проблеми, при които се случва колоезденето, т.е. тестовото условие винаги е вярно. Процесът Break (Прекъсване) помага да се излязат цикли с предварително условие, postcondition, параметър. Това означава, че работата им свършва преждевременно.
Цикли с параметър в Pascal (чието програмиране поема "вечната" истина за състоянието) може да бъде спряно с помощта на Continue. Тук работата е подредена по следния начин: текущата итерация завършва изпълнението й по-рано, контролът се прехвърля на следващата команда, но без да излиза от цикъла.
Процедурата "Изход" е необходима, за да завърши работата на блок в програмния код. Тя се нарича в рамките на процедури (функции) и в същото време, изпълнението на този "парче" незабавно спира. Ако Exit е в основния блок на програмата, то завършва работата си.
Процедурата Halt намалява принципа на функциониране до следното: работата на програмата е напълно завършена.
Примери за задачи с решение
Потребителят ще бъде полезен, след като изучи темата "Цикли с параметър в Pascal", първо да проучи примери и след това да се занимава с писането на кода сами. Обикновените задачи помагат на бъдещия програмист да научи теорията на практика и след това да я приложи успешно. На тема "Цикли с параметър" могат да се намерят примери за задачи с решение лесно и сложно. Ето 3 задачи, в които се разглобяват алгоритмите за работа и се дават обяснения и коментари за всяко решение.
Задача 1
Като се има предвид двуизмерен масив от естествени числа в диапазона [0..199], избран произволно. Намерете броя на всички двуцифрени числа, чиято сума от цифри е кратна на 2.
Алгоритъм на действията:
- Създайте двуизмерен масив.
- Проверете всеки номер за съответствие с условията:
а) ако 9 < X < 100, след това го разделете напълно на 10 чрез div;
б) разпределя втората цифра на числото, като я разделя чрез mod;
в) добавете осветените цифри;
г) разделяте mod на дадена сума с 2;
д) ако резултатът е 0, тогава броячът се увеличава с 1.
Задача 2
Извежда се едномерен масив от цели елементи. Намерете броя положителни числа.
Алгоритъм на действията:
- Създайте масив от цели елементи, създадени от randomize.
- В цикъл с параметър за включване условно изявление IF, който ще провери даден елемент за съответствие със състоянието: X> 0.
- Ако условието е изпълнено, броячът се увеличава с 1.
- След цикъла трябва да покажете резултантната стойност на брояча.
Данните в скоби {} са коментари. На ред 11 можете да покажете масив на екрана по два начина: да оставиш интервал между числата или да разпределиш за всеки елемент определен брой клетки (в този случай има 5 от тях).
На линия 12 контра променлива може да бъде увеличена по два начина: добавете 1 към предишната стойност или използвайте стандартната функция на Inc.
Задача 3
Представена е квадратна матрица. Намерете броя положителни елементи на основния диагонал.
Обяснение:
В масива от номера основният диагонал се простира от горния ляв ъгъл до долния десен ъгъл. Нейната особеност е фактът, че индексите на реда и колоната съвпадат. Ето защо е достатъчно да се организира 1 цикъл за прехода през редовете, без да се изброяват останалите елементи.
Алгоритъм на действията:
- Създайте квадратна матрица.
- Задайте стойността "0" на променливата, която отговаря за отчитането на положителните елементи.
- Създайте цикъл за създаване на квадратна матрица.
- Организирайте цикъла, като проверите състоянието: ако числото на главния диагонал е> 0, броячът се увеличава с 1.
- След приключване на цикъла, покажете стойността на променливата, която съхранява броя положителни елементи.
Конфронтация на два езика за програмиране: C и Turbo Pascal
Като правило, един самоуважаващ се програмист знае няколко езика. Например, тя може да бъде C ++, Turbo Pascal, Delphi, Java и т.н. Конфронтацията на две от тях бе ясно изразена през 80-те. (С и турбо паскал). В края на ХХ век същата борба се наблюдаваше между C и Java.
Във виртуалното пространство, сред трите дузини езици за програмиране, могат да се разграничат три най-ярки двойки, чиято конфронтация засегна най-големите умове на киберпространството: Algol-60 и Fortran, Pascal и C, Java и C ++. Разбира се, тези чувства са субективни, но по едно или друго време един от двамата е бил лидер. Това се дължи на изискванията на индустрията и необходимостта от конкретен софтуер. През 70-те. "Контролира света" Fortran, през 80-те - Turbo Pascal, през 90-те години - C ++. Разбира се, никой от тях "не умря". По-скоро те се превръщат в подобрени софтуерни продукти.
Когато изучавате езици за програмиране, можете да видите, че в някои теми синтаксисът е сходен. По този начин циклите с параметър в С са подобни на подобни конструкции в Pascal, с изключение на някои моменти.
Интересно е, че разработчиците на Turbo Pascal (Old World) са използвали резултатите от развитието на американските учени, докато в Новия свят активно са използвали резултатите от европейските изследвания. В Европа разработчиците се застъпват повече за чистотата и компактността на езиците за програмиране, а американските умове са по-склонни да използват новите тенденции в писането на кода.
- Структурирано програмиране
- Турбо Паскал. Докато ... направи - loop с предварително условие
- Теоретични основи на електротехниката: Метод на нодалния стрес
- Основни типове и пример на циклични алгоритми
- Пасивен глас. Когато актьорът не действа
- Цикъл с последващо условие и цикъл с предварително условие
- Какво представлява условното изявление?
- Оператори "Паскал". Език за програмиране на Pascal
- Програмиране. Основни алгоритмични конструкции
- Кръгове за jаvascript: за, докато правите
- Кръгове за jаvascript: за, докато правите
- Python език за програмиране: контури
- Цикъл за: Pascal за начинаещи
- Факториалът в Pascal: как да се изчисли. Примерни програми
- Оператор на заданието в "Pascal": какво е предназначено, какви действия се изпълняват
- Цикли на Кондратиев - икономическата същност и начин на използване в регулирането на икономическите…
- Диелектрична пропускливост
- Решаване на проблемите при програмирането. Цикличен алгоритъм
- Условното изграждане на. Питон: необятността и простотата на езика
- Да се научим да плетиво: как да напишете цикли на плетива
- Полезно докато има цикъл за програмиста