muzruno.com

Програмиране. Цикли с параметър

Специално място в Turbo Pascal се занимава с цикли. Те започват да се учат веднага след обучението на I / O умения на екрана. В края на краищата, повечето задачи се свеждат до факта, че цикли с параметър и други конструкции помагат да се улесни писането и функционирането на определен блок от програмата.

цикли с параметър

Видове цикли

Общо има три разновидности:

  • с параметър,
  • с предварително условие,
  • с последващо условие.

Цикли с параметър, в противен случай те се наричат ​​За 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.

Алгоритъм на действията:

  1. Създайте двуизмерен масив.
  2. Проверете всеки номер за съответствие с условията:

а) ако 9 < X < 100, след това го разделете напълно на 10 чрез div;

б) разпределя втората цифра на числото, като я разделя чрез mod;

в) добавете осветените цифри;

г) разделяте mod на дадена сума с 2;

д) ако резултатът е 0, тогава броячът се увеличава с 1.

цикли с параметъра примери за задачи

Задача 2

Извежда се едномерен масив от цели елементи. Намерете броя положителни числа.

Алгоритъм на действията:

  1. Създайте масив от цели елементи, създадени от randomize.
  2. В цикъл с параметър за включване условно изявление IF, който ще провери даден елемент за съответствие със състоянието: X> 0.
  3. Ако условието е изпълнено, броячът се увеличава с 1.
  4. След цикъла трябва да покажете резултантната стойност на брояча.

Данните в скоби {} са коментари. На ред 11 можете да покажете масив на екрана по два начина: да оставиш интервал между числата или да разпределиш за всеки елемент определен брой клетки (в този случай има 5 от тях).

На линия 12 контра променлива може да бъде увеличена по два начина: добавете 1 към предишната стойност или използвайте стандартната функция на Inc.

цикли с параметър в примери за паскал

Задача 3

Представена е квадратна матрица. Намерете броя положителни елементи на основния диагонал.

Обяснение:

В масива от номера основният диагонал се простира от горния ляв ъгъл до долния десен ъгъл. Нейната особеност е фактът, че индексите на реда и колоната съвпадат. Ето защо е достатъчно да се организира 1 цикъл за прехода през редовете, без да се изброяват останалите елементи.

Алгоритъм на действията:

  1. Създайте квадратна матрица.
  2. Задайте стойността "0" на променливата, която отговаря за отчитането на положителните елементи.
  3. Създайте цикъл за създаване на квадратна матрица.
  4. Организирайте цикъла, като проверите състоянието: ако числото на главния диагонал е> 0, броячът се увеличава с 1.
  5. След приключване на цикъла, покажете стойността на променливата, която съхранява броя положителни елементи.

цикли с параметър в паскалното програмиране

Конфронтация на два езика за програмиране: C и Turbo Pascal

Като правило, един самоуважаващ се програмист знае няколко езика. Например, тя може да бъде C ++, Turbo Pascal, Delphi, Java и т.н. Конфронтацията на две от тях бе ясно изразена през 80-те. (С и турбо паскал). В края на ХХ век същата борба се наблюдаваше между C и Java.

цикли с параметър в c

Във виртуалното пространство, сред трите дузини езици за програмиране, могат да се разграничат три най-ярки двойки, чиято конфронтация засегна най-големите умове на киберпространството: Algol-60 и Fortran, Pascal и C, Java и C ++. Разбира се, тези чувства са субективни, но по едно или друго време един от двамата е бил лидер. Това се дължи на изискванията на индустрията и необходимостта от конкретен софтуер. През 70-те. "Контролира света" Fortran, през 80-те - Turbo Pascal, през 90-те години - C ++. Разбира се, никой от тях "не умря". По-скоро те се превръщат в подобрени софтуерни продукти.

Когато изучавате езици за програмиране, можете да видите, че в някои теми синтаксисът е сходен. По този начин циклите с параметър в С са подобни на подобни конструкции в Pascal, с изключение на някои моменти.

Интересно е, че разработчиците на Turbo Pascal (Old World) са използвали резултатите от развитието на американските учени, докато в Новия свят активно са използвали резултатите от европейските изследвания. В Европа разработчиците се застъпват повече за чистотата и компактността на езиците за програмиране, а американските умове са по-склонни да използват новите тенденции в писането на кода.

Споделяне в социалните мрежи:

сроден