ПредишенСледващото

В последния брой, ние сме усвоили разширение, ако изявление. след това. друго, а именно Иди процедура.

Аз показах как тя може да се използва за изграждане на интерактивни програми, управление на работата и напредъка на програмата. Тази възможност ви е дал някои нови перспективи да пиша по-напредналите програми. Но това не е достатъчно, а не нормалната програма пишат, използвайки само сравняване на елементи. В Pascal има и други проекти, които позволяват да се подобри и да усложни кода на програмата, и, следователно, се разширява възможности за програмиране.

Ние сме на ред и ще своевременно да ги учи. Днес ние продължаваме изучаването на структури, а именно, нов дизайн - цикли. Цикли - е неразделна част от програмата. В действителност, този дизайн е проста, но много пъти не разбират принципа на това - какво е това и как се използва? Собственост така че първо искам да ви кажа, че те може да се наложи този цикъл и кога.

Да започнем с един пример. Да си представим, че трябва да се напише програма, която ще отпечата 10 пъти, на приноса на потребителите низ. Извинявам се за такъв примитивен пример, но работата му е най-добре да се разбере тази тема.

Така, разтворът на програмата е очевидно:

  1. Четем в низова променлива.
  • Десет пъти го показва на екрана.

    Така че сега ние стигаме до осъзнаването, че език елемент. Трябва да кажа, че след няколко цикъла - някои ви позволяват да изберете програмата няколко пъти от програмата, някои са принудени да изберете програмата на определени условия (например, докато потребителят натисне бутона за бягство). Това е всичко, сега нека започнем веднага изучаването на самите цикли.

    Първият цикъл, което ще научим, е така нареченият цикъл на ЗА. Той принадлежи към категорията на тези, които са принудени да се повтори няколко пъти на програмата.

    За да се покаже как този цикъл, нека се напише програма, по-горе:

    Погледнете внимателно в програмата. Виждате ли думата ЗА. Това е началото на цикъла. Са обяснени синтаксис:

    1. Цикълът започва с думата ЗА.

  • След това се възлагане всички променливи първоначалните стойности. Именно от тази стойност и да се случи обратното броене.
  • След това идва думата ДА.
  • След това показва крайната стойност на променливата намалява. До тази стойност ще бъде преброяването.
  • В края на заглавието на цикъла Слагам думата направя.
  • После отиват всички действия, които трябва да бъдат обсебени от идеята. Той работи същото правило, както в случай изявлението. след това. друго - за гнездене. Това означава, че ако след думите трябва да направя някакво действие, а не един, а след това всички те са, за да започне строителството. приключи; Имайте това предвид, в противен случай цикълът няма да работят правилно - ще се извършва само първият акт, а останалите ще бъдат засегнати само след цикъла.
  • Това е всичко, което трябва да знаете за синтаксиса на цикъла ЗА. Сега, нека се напише програма, която ще го използвате - за да фиксирате новия материал. Така че нека да започнем.

    Трябва да се напише програма, която ще увеличи стойността на входната променлива 10 от отпечатването на всяка крачка, т.е. своята продукция трябва да бъде такова (например, да вземе, че ние въведохме редица 7):

    Решението не съм се обясни стъпка по стъпка (в това, което е, нали?), И след като в текста на програмата:

    Забележка Writeln линия (I ,, А "+", I, "=" A + I '.'); - Тук аз го цитирам в по-голям шрифт, за да направи по-лесно да се разбере. Добре е доказано, мултиплетност параметри процедура Writeln. не е тя? Освен това, моля, имайте предвид, че аз съм с процедура Writeln. вместо Напиши - с цел да прехвърли един ред след всяко теглене. Така линии се извеждат в колона.

    Също така имайте предвид, че аз съм с помощта на един цикъл от тип Byte. Фактът, че Byte отнема по-малко памет, отколкото цяло число или Word. По този начин програмата става оптимизирана. В края на краищата, ние знаем предварително, че стойността не преминава 10, точно в течение? Защо трябва да използвате видове с възможност за съхраняване много по-голяма стойност?

    И сега аз продължавам циклите тема. Има някои неща, които трябва да znast а за цикъл. По-специално, границите на обхвата и действието проведени в цикъла. Какво имам предвид? Виж, например, пишем:

    Защото: = 1 до 10 направи

    Ами ако това се случва с променливата аз?

    1. Тя ще бъде равна на единство;

    2. Тя ще се увеличи с един с всеки нов старт цикъл (това се нарича итерация - нов проход), докато тя е в размер на 10.

    Забележете, тя ще се увеличи? Но ако напишете:

    Защото: = 1 до 10 направи

    Отчасти, защото тя трябва да се намали? Въз основа на ценностите - да. Но ако е писано в програмата, цикълът няма да бъде изпълнена. Паскал няма да даде грешка, програмата ще продължи да изпълнява, но цикъл няма да работи. Защо? Само в За контур с всеки нов повторение (преминават) Packal се увеличава с 1 променлива и проверки - това е повече целевата стойност? Ако е така, цикълът е завършен. Така че тук - променливата I се увеличава с 1, сега е равно на 11, който е по-голям от крайната стойност (по-голямо от 1), цикълът е завършен. Това означава, че е празен - няма да работи. Първоначалната стойност веднага става по-голяма, отколкото на финала.

    Въпреки това, понякога е необходимо, че променливата в цикъла намалява. Например, модифицирана версия на предишната програма - намаляване с 10 стойност въведената променлива. Как го направи? За тези цели, и има разширение за линия синтаксис. което позволява да се намали стойността, която трябва да попитам "от най-големия до най-малкия."

    За да използвате тази функция, трябва да се замени функция дума на дума Downto. т.е. изчистване ще бъде:

    За I: = 1 направи 10 Downto

    Обикновено, нали? Независимо от това, работен цикъл се промени напълно. Сега, нека да променят нашата програма, т.е. направя, за да намаля само 10 ще намали 10-1, а не от 1 до 10, както направихме по-рано. Нека да направим още една, за да се подобри програмата: тъй като ние веднага ще се приспадне 10 от въведения номер, аз не бих искал тя да бъде по-малко от 10. Защо бихте казали? Нека да е. Не, просто го вземе като условие по някакъв начин да се разшири интерфейса. Така че, ние ще провери броя на входа за повече / по-малко от нула, а след това се изважда от нея броят от 10 до 1. Пример програма:

    Това е всичко. Разберете тази програма, вие всички сте запознати.

    Всъщност, всичко е въпрос на цикъла на ЗА. Напиши си няколко програми. Опитайте се да си спомня правилно синтаксиса, без да го навсякъде. Въпреки това, и без да се цикли, също. Домашна работа, аз ви питам днес, няма да се опитвам да променя privedennyyu програма и да упражняват по-самостоятелно. Напиши повече програми, че те може да са малки, но това ще ви даде по-голям опит. Знаеш ли, независими задания за писане - е отлична практика. Вие се култивира като програмист, и все повече и повече се чудите какво някои въпроси. Разбира се, че не знаете достатъчно, за да Pascal за решаване на повече или по-малко сериозни проблеми, но не толкова малко, нали знаеш, за да не реши нищо.

    Програмиране за манекени.

    Свързани статии

    Подкрепете проекта - споделете линка, благодаря!