1. Metódy vyvolávania cyklických výpočtových procesov v programoch.

2. Zadajte počítačNprevádzkové čísla. Zostavte program, ktorý na obrazovke zobrazí aritmetický priemer nastavenej hodnoty.

Zadajte

Cyklické programy je možné použiť prakticky v akomkoľvek softvéri. Cykly však môžu byť explicitné alebo implicitné. Zokrema, implicitný cyklus prítomný v zbierkach prerušení, ktoré v skutočnosti fungujú v neprerušovanom cykle, ktorého telo podlieha prerušeniam. Cyklické a podprogramy sú najnovšie funkcie doplnkov systému Windows. Nižšie sa pozrieme na programy s cyklom, ktorý pozostáva z funkčných modulov.

Cyklický proces- ide o proces výpočtu, v ktorom sú výpočty do značnej miery viazané na jeden a ten istý vzorec pre rôzne hodnoty argumentu.

Program ktoré implementujú cyklický proces sa nazývajú cyklické programy

Organizáciu cyklu možno nazvať nasledujúcimi fázami:

príprava (inicializácia) cyklu (I);

Vikonannya počítať cyklus (telesný cyklus) (T);

modifikácia parametrov (M);

kontrola mysle na dokončenie cyklu (U).

Poradie týchto krokov, ako napríklad T a M, sa môže zmeniť. Je dôležité skontrolovať dokončenie cyklu a oddeliť cykly od spodného a horného konca. V prípade cyklu s nižšími dokončeniami sa cyklus dokončí aspoň raz, potom sa najskôr ukončia výpočty a potom sa skontroluje výstup z cyklu.


V prípade cyklu s hornými koncami sa cyklus nemusí skončiť zakaždým, pretože mentálny výstup sa dosiahne okamžite.

Cyklus sa nazýva deterministický, pretože je určený počet opakovaní tela cyklu. Cyklus sa nazýva iteračný, pretože počet opakovaní tela cyklu nie je v budúcnosti známy, ale spočíva v hodnotách parametrov (akýchkoľvek meniteľných) vo výpočtoch.

Tilo cyklus- Toto je veľa programov, ktoré sa často opakujú.

Parameter cyklu- je to dôležité, pretože počas opakovaných cyklov pokožky získava nové hodnoty (cykly sú jednoduché a zložité).

Zagalny sa pozrie na cyklus n-krát

Z formálneho hľadiska je cyklus n-krát napísaný takto:

nc počet opakovaní

Služobné slovo nts (začiatok cyklu) a kts (koniec cyklu) sa píšu striktne za sebou a sú spojené zvislou hranicou. Napravo od tohto obrázku je zaznamenaná opakovaná sekvencia príkazov (telo cyklu).

Počet opakovaní je viac ako celé číslo.

Keď je zvolený algoritmus, postupnosť príkazov v cykle sa opakuje stanovený počet krát. Pravidlá algoritmického jazyka umožňujú priradiť ľubovoľný celočíselný počet opakovaní. Môže byť nulový alebo záporný. Tieto epizódy páni nerešpektujú, len telo cyklu nebude zadávané zakaždým a počítač po skončení okamžite prejde na výstup zaznamenaných príkazov.

Skrytý pohľad na cyklus Pocky

Vo všeobecnosti je cyklus stále napísaný takto:

nts poki umova

| telo cyklu (sekvencia príkazov)

Na konci cyklu počítač zopakuje nasledujúce kroky:

a) zatiaľ kontroluje písané slovo za služobným slovom;

b) akonáhle mozog neskončí, cyklus sa skončí a počítač začne dokončovať príkazy zaznamenané po skončení. Len čo sa myseľ upraví, počítač dokončí cyklus tela a znova skontroluje myseľ.

Pohľad do zákulisia cyklu pre

nc pre i od i1 do i2

| telo cyklu (sekvencia príkazov)

Tu i je hodnota celočíselného typu, i1, i2 sú dodatočné celé čísla a vyjadrenia celočíselných hodnôt. Telo cyklu sa postupne vytvára pre i = i1, i = i1 + 1, i1 + 2, … i = i2.

Pravidlá algoritmického jazyka umožňujú nastavenie ľubovoľného počtu objektov i1, i2. zokrema, i2 môže byť menšie ako i1. Páni túto epizódu neberú do úvahy - ide len o to, že telo cyklu sa nebude vykonávať znova a znova a počítač okamžite prejde na dokončenie príkazov zaznamenaných po cykle.

Cyklujte n-krát a cyklujte, kým

Cykly n-krát a sú však stále formalizované v algoritmickom rámci. Nie je prekvapujúce, že aj útočné príkazy nastavujú cyklus – postupnosť príkazov, ktoré sa opakujú. Servisné slová nc a kc označujú, že cyklus sa ukončuje, a názov cyklu špecifikuje špecifický mechanizmus ukončenia.

Tieto dva cykly však majú jednu hodnotu. Keď začne cyklus n-krát dokončiť, počítač vie, koľkokrát bude musieť cyklus zopakovať. V prípade víťazného cyklu to tak nie je: počítač okamžite skontroluje mentálny cyklus a nedokáže vopred predpovedať, kedy sa vikonálny cyklus skončí. Počet opakovaní cyklu možno určiť až po dokončení cyklu.

Je jasné, že ktoré cykly majú rôzne cykly. Ak je na začiatku cyklu na dohľad veľa opakovaní, môžete cyklus manuálne zrýchliť n-krát. Keďže počet opakovaní v minulosti nemožno vypočítať, zostáva potrebný cyklus.

Napríklad program automatického riadenia má štruktúru znázornenú na obr. 1. Moduly, ktoré sa majú zahrnúť pred cyklom(ako aj moduly spracovania), s jedným vstupom a jedným výstupom, majú charakteristickú vlastnosť: modul obsahuje statické zmeny, ktorým sú priradené hodnoty v prietokovom cykle a analýza týchto zmien je ukončená v aktuálnom cykle. Týmto spôsobom tieto zmeny charakterizujú fázu modulu na konci toku alebo na začiatku ďalšieho cyklu programu. Nižšie sa budeme zaoberať iba takýmito modulmi cyklických programov a čo je najdôležitejšie, ich krátkymi MCP.


Obr.1. Typická štruktúra základného programu s nepretržitou slučkou.

MCP majú rôznu štruktúru, ktorej skladateľnosť sa musí posudzovať pomocou špeciálnych kritérií. V.V. Lipaev navrhol manuálne a objektívne kritérium zložitosti softvérových modulov a samotných: počet a celkový príjem lídrov v grafe každého modulu. V tomto prípade je na prevádzkovateľoch a operátoroch, aké poistenie si zvolia. Toto kritérium je však jednoznačne nedostatočné pre MCP so statickou pamäťou, takže pri analýze MCP je potrebné zapamätať si hodnoty všetkých statických premenných nainštalovaných v predchádzajúcom cykle. Neexistujú žiadne iné odporúčania pre štandardizáciu programových algoritmov, okrem dlho známeho štruktúrneho programovania cudzích jazykov, ako je programovanie typu Si a Pascal. Tento článok ukazuje úplnosť MCP.

2. Fragmenty modulov cyklických programov

Bipolárny fragment alebo jednoducho fragment je dôležitý pre rozdelenie programov s jedným vstupom a jedným výstupom (vrátane operátorov slučky) v prípade, že je MCP štruktúrovaný. Najjednoduchší fragment obsahuje jeden príkaz. Sekvencia fragmentov je tiež fragment. MCP je vo svojej podstate fragment a pozostáva zo sekvencie fragmentov.

Na syntetizovanie štruktúry modulov na implementáciu rozhodovacích tabuliek bola navrhnutá metóda nezávislých fragmentov. V tomto prípade sa fragment, ktorý môže byť vložený ako sekvencia modulových fragmentov, považuje za nezávislý. Nezávislosť vývoja takéhoto fragmentu je spôsobená skutočnosťou, že analýzy v akomkoľvek danom údaji nie sú tvorené v zmysle sekvencie fragmentov a údaje, ktoré sú tvorené v nezávislom fragmente, nie sú analyzované v údajoch sekvencia fragmentov. Preto môžu byť nezávislé fragmenty nakreslené paralelne (pseudoparalelne). Na obr. 2 znázorňuje možné možnosti implementácie modulu pozostávajúceho z dvoch nezávislých častí. V časoch „a“ a „b“ sa fragmenty preusporiadajú bez ovplyvnenia podstaty programu; Vo variante „c“ sú fragmenty implementované paralelne.


Obr.2. Možnosti implementácie modulu s nezávislými fragmentmi:

a) a b) - dôsledné vykonávanie,

c) - paralelná realizácia: tenká vodorovná čiara znamená paralelizáciu programov, hrubá vodorovná čiara dokončenie paralelných procesov.

Zastaraný fragment je taký, ktorého vývoj je spôsobený vývojom iného fragmentu (fragmentov) v module. Zatuchnuté fragmenty sú oddelené od zvieraťa a zospodu. Horný zatuchnutý fragment je zodpovedný za protektorovanie spodného fragmentu, v ktorom sa tvoria časti, ktoré sú vytvorené v tomto (zatuhnutom) fragmente. Nižšie položený fragment musí byť umiestnený v strede fragmentu, v ktorom sa tvoria zmeny, ktoré sa v tomto fragmente vytvárajú. Dva zatuchnuté fragmenty, z ktorých jeden je zatuchnutý od druhého a druhý je zatuchnutý pod prvým, sa nazývajú vzájomne zatuchnuté fragmenty. Nemožno ich meniť prerušovane a nemožno ich implementovať paralelne. Na obr. 3 je pažba modulu špicatá so vzájomne uloženými úlomkami. Medzi vzájomne uloženými úlomkami môžu byť iné usadeniny alebo usadeniny v nich. Obr.3. Modul so zastaranými fragmentmi.

Opravujeme to, čo sa nazýva zatuchnutý fragment, miesto na jeho retušovanie v module je prísne označené. Napríklad v module na rozpoznávanie znaku zadaného z klávesnice je prvá časť v spodnej časti stredný fragment zadaného znaku. Operátory „cob“ a „end“ modulu vytvárajú pevné fragmenty.

Neexistujú žiadne absolútne nezávislé fragmenty, hoci každý modul má na konci pevné fragmenty. Preto môže byť nezávislý fragment súčasne obklopený dvoma navzájom ležiacimi fragmentmi v oblasti možného umiestnenia. Aby prísnejšie označený nezávislý fragment vyznel ako útočná hodnosť: nezávislý medzi dvoma pevnými fragmentmi budeme nazývať taký fragment, ktorý možno umiestniť na ľubovoľné miesto v sekvencii fragmentov, obklopený hornými a spodnými označenými fragmentmi.

Laboratórny robot č.2

"Programovanie cyklických výpočtových procesov"

Meta roboty

Vychennya operátory v slučke v jazyku C++.

Teoretická časť

Cyklus- Iný typ keramickej štruktúry s kvalitným programovaním, ktorý sa používa na organizovanie bohatého jednorazového sledovania so sadou inštrukcií. Cyklus možno nazvať aj sled inštrukcií, ktorý je vysoko koordinovaný a nejakým spôsobom organizovaný.

Súbor inštrukcií pre účely rozsiahleho viconnanu sa nazýva celý cyklus . Jednorazový telesný cyklus sa nazýva iterácia . Zavolá sa počiatočná iterácia, posledný čas ukončenia iterácie a koniec cyklu Z cesty alebo iný koniec duševného cyklu. Zavolá sa pamäť, ktorá ukladá číslo riadku iterácie iterácia liečiteľa cyklus je jednoduchý lekár cyklu. Cyklus nemusí nutne nahrádzať lekár, lekárov môže byť aj viac – záver z cyklu môže spočívať v počte premenných, ktoré sa v cykle menia.

Obnova akéhokoľvek cyklu zahŕňa počiatočnú inicializáciu zmien v cykle, obrátenie mysle a výstupu, obnovenie tela do cyklu a obnovenie zmien v cykle pri kožnej iterácii. Okrem toho väčšina nášho programovania poskytuje nástroje na spustenie pred riadkom pomocou slučky, napríklad operátory ukončenia slučky, takže výstup zo slučky je nezávislý od pravdivosti výstupu mysle (v ruskom jazyku - break) a preskočenia iterácie. operátori (v ruskom jazyku). – pokračovanie).

Tieto typy cyklov sú diferencované.


1. Šialené cykly. Cykly , ukončiť akýkoľvek neprenos logických programov. Špeciálne syntaktické metódy na vytváranie nekonečných slučiek z dôvodu ich netypickosti do nášho programovania neprenášame, preto sa takéto slučky vytvárajú pomocou dodatočnej konštrukcie určenej na vytváranie počiatočných (resp. chytrý) cykly. Napríklad film má cyklus pre (;;) Z nevyplnených sekcií.

2. Mentálne cykly. Všetky cykly sa vykonávajú s umývaním, ktoré sa kontroluje na začiatku alebo na konci cyklu tela. Medzi myšlienkou a post-mysľou sa očividne vyskytujú mentálne cykly. Cyklus so zmenou myslenia je cyklus, ktorý pokračuje, kým nie je naznačené skutočné pôsobenie mysle pred jeho začiatkom. Táto myseľ sa prehodnocuje predtým Keď je telo zapísané do cyklu, toto telo nemusí byť zapísané zakaždým (ako v mysli klasu Pomilkova). Vo väčšine procedurálnych strojov programovanie vykonáva operátor zatiaľ čo, Pridajte meno svojho priateľa – slučka while. V jazyku C++ tento cyklus vyzerá takto:

zatiaľ čo(<условие>)

<тело цикла>

Cyklus z postumovej - cyklus, ktorého myseľ sa mení po Cyklus Vikonannya tila. To znamená, že cyklus sa skončí aspoň raz. V mov Pascal tento cyklus realizuje operátor opakovať..až, v Si - robiť...zatiaľ, napríklad:

<тело цикла>

zatiaľ čo(<условие продолжения цикла>);

V rôznych jazykoch sa používa cyklus mysle s posmrtným cyklom a aktivita dynamiky. V jazyku Pascal, ktorý je podobný novému, sa takýto cyklus interpretuje ako vieš- cyklus končí, ak je myseľ pravdivá. U Si - jaka umova prodovzhennya(cyklus končí, keď sa myseľ zastaví, takéto cykly sa niekedy nazývajú cyklus).

Cyklujte od stredu- Najsilnejšia forma duševného cyklu. Syntakticky je takýto cyklus vytvorený pomocou troch dodatočných konštrukcií: začiatok cyklu, koniec cyklu a príkazy na ukončenie cyklu. Dizajn klasu označuje bod programu, kde začína telo cyklu, dizajn konca je bod, kde telo končí. V strede tela musí byť povel na ukončenie cyklu, po ukončení cyklu sa cyklus ukončí a riadenie sa prenesie na obsluhu, ktorá je za ukončenie cyklu zodpovedná. Prirodzene, ak je cyklus ukončený viac ako raz, príkaz na ukončenie nemôže byť vyvolaný šialene, pokiaľ myseľ cyklus neopustí.

Hlavnou črtou slučky tohto typu je, že časť tela cyklu, rozšírená po začiatku cyklu a pred príkazom na ukončenie, je znova dokončená (čo znamená, že výstup z cyklu je pravdivý pri prvej iterácii) , a časť tela cyklu, ako zistiť po príkaze exit, nie je konvertovaná počas zostávajúcej iterácie. Po ďalšom cykle od stredu môžete jednoducho modelovať cyklus z pereda (umiestnením príkazu exit na začiatok cyklu tela), ako aj cyklus z posmrtného cyklu (umiestnením príkazu exit na koniec cyklu telo do cyklu).

Cyklus s lekárom je cyklus, v ktorom hodnota zmeny mení svoju hodnotu zo zadanej koncovej hodnoty na koncovú hodnotu s koncom a pre hodnotu kože sa hodnota zmeny cyklu tela zmeny raz ukončí. Vo väčšine procedurálnych strojov programovanie vykonáva operátor pre, v ktorej je lekár indikovaný (tzv. „zmena cyklu“), je potrebný počet prechodov (resp. hraničná hodnota lekára) a prípadne dĺžka výmeny lekára.

V niektorých jazykoch, napríklad, Sі a ďalšie, ktoré sa navzájom podobajú, majú cyklus pre, bez ohľadu na syntaktickú formu cyklu s lekárom, v skutočnosti cyklus so zmenou myslenia. Takže v Si je konštrukcia cyklu:


pre (i = 0; i< 10; ++i)

Tilo cyklus

V skutočnosti ide o inú formu písania konštrukcie:

kým< 10)

Tilo cyklus

Takže v konštrukcii pre je od začiatku napísaný dostatočný návrh na spustenie cyklu, potom - mentálne pokračovanie a rozhodnutie o operácii, ktorá skončí po kožnom cykle (ale nie povinne) zmenou lekára, môže to zahŕňať úpravu alebo ako úplne tretiu operáciu). Pre systémy tohto typu je vyššie opísaný problém ešte jednoduchší: výmenný automat sa úplne presunie a po dokončení cyklu si zachová svoju zostávajúcu hodnotu.

Organizácia cyklov v mov C++

1. Pre slučku.

Ak je vopred známy požadovaný počet iterácií, slučka so začarovaným operátorom for je ručne vikoristovaná. Syntax tohto operátora je nasledovná:

for (akcia na slučku klasu;

mentálne pokračovanie cyklu;

aktivity na konci cyklu opakovania pokožky) (

pokyny pre cyklus;

pokyny pre cyklus 2;

pokyny pre cyklus N;

Toto je výsledok tohto záznamu (s lekárom):

pre (medicínsky = hodnota; lekársky< значение; шаг цикла)

telo do cyklu;

Klas dostane lekár hodnotu klasu a potom sa za klas umiestni škvrna. Potom sa určí konečná hodnota liečebného činidla pre cyklus. Akonáhle hodnota liečiteľa dosiahne špecifikovanú hranicu, cyklus sa skončí. Potom sa nastaví trvanie cyklu - hodnoty, ktoré zvýšia alebo zmenia ošetrenie cyklu počas prechodu kožou.

Príklad: spočítajte všetky čísla od 1 do 1000.

#include

pomocou menného priestoru std;

int i; // liečiteľ cyklu

int súčet = 0; // Súčet čísel od 1 do 1000.

setlocale(0, "");

pre (i = 1; i<= 1000; i++) // задаем начальное значение 1, конечное 1000 и задаем шаг цикла - 1.

cout<< "Сумма чисел от 1 до 1000 = " << sum << endl;

2. Kým slučka.

Organizácia cyklov zatiaľ čo alebo iný robiť...zatiaľbuďte opatrní, pokiaľ ide o iterácie, ktoré sú vopred neznáme. Syntax slučky zatiaľ čo C++ vyzerá, že je na ceste.

zatiaľ čo (Umova) (

Tilo cyklus;

Tento cyklus bude pokračovať, kým sa myseľ neukáže v okrúhlych ramenách, a je to pravda. Príklad implementácie súčtových čísel od 1 do 1000 v dodatočnej slučke while:

#include

pomocou menného priestoru std;

setlocale(0, "");

kým< 1000)

cout<< "Сумма чисел от 1 до 1000 = " << sum << endl;

3. Urobte slučku while

Cyklus robiť, kým zdvihne sa zatiaľ čo Preto z tohto cyklu bude jeden prechod cez cyklus nezávislý od mysle. Program pre pokročilú úlohu hľadania súčtu čísel od 1 do 1000 v pevnej slučke robiť, kým:

#include

pomocou menného priestoru std;

setlocale(0, "");

int i = 0; // Inicializuje liečebný cyklus.

int súčet = 0; // inicializuje liečiteľa sumi.

urobiť (// ukončiť cyklus.

) kým< 1000); // пока выполняется условие.

cout<< "Сумма чисел от 1 до 1000 = " << sum << endl;

1. Vyviňte program v C++ s použitím najnovšej verzie, podobne ako zvolená možnosť.

2. Zadajte, vylepšite a skompilujte program. Skontrolujte správnosť tejto práce.

1. Bloková schéma algoritmu programu.

2. Zoznam programov s komentármi.

3. Výsledky kontrolných jázd.

Kontrolujte jedlo

1. Dajte slučke význam, slučke telo, iteráciu.

2. Aký je dôvod vystúpenia z cyklu, liečiteľ iterácií?

3. Aké štádiá zahŕňa ktorýkoľvek cyklus?

4. Ako prebieha posmrtný cyklus?

5. Ako funguje cyklus zmeny myslenia?

6. Ako funguje cyklus s lekárom?

7. Ako sa implementuje slučka pomocou pridania operátora for?

8. Ako sa implementuje slučka pomocou operátora while?

9. Ako sa implementuje slučka pomocou operátora dowhile?

1. Zobrazte postupnosť symbolov na obrazovke

2. Zadajte postupnosť celých čísel (0 je koniec postupnosti), zistite rozdiel medzi najmenším stredom kladných a najväčším stredom záporných čísel.

3. Zadajte postupnosť N celých čísel, zistite rozdiel medzi sčítaním nepárových čísel a najväčším stredom záporných čísel.

4. Zadajte postupnosť celých čísel, 0 – koniec postupnosti. Znamená to, že postupnosť pomsty by boli dve čísla deliteľné 3, 5 a 7.

5. Zadajte postupnosť N celých čísel. Vypočítajte najväčší počet násobkov 11.

6. Zadajte postupnosť celých čísel, 0 – koniec postupnosti. To znamená, že na pomstu za sekvenciu by som rád použil tri záporné mužské čísla.

7. Zadajte postupnosť N rečových čísel. Nájdite najmenší počet stredov čísel väčších ako 20.

8. Zadajte postupnosť celých čísel, 0 – koniec postupnosti. Spočítajte počet kladných čísel deliteľných 7 a deliteľných 5 a súčet záporných prvkov postupnosti.

9. Zadajte postupnosť N rečových čísel. Vypočítajte aritmetický priemer prvkov postupnosti deliteľných 7.

10. Postupnosť čísel je zadaná, 0 je koniec postupnosti. To znamená, že postupnosť sa striktne znižuje.

12. Zadajte postupnosť celých čísel, 0 – koniec postupnosti. To znamená, že na nahradenie postupnosti by som chcel, aby dve kladné čísla stáli v poradí.

13. Zadajte postupnosť N rečových čísel. To znamená, že postupnosť znakov je sekvenčná.

14. Zadajte postupnosť N rečových čísel. Vypočítajte rozdiel medzi minimálnym kladným a maximálnym záporným prvkom sekvencie.

15. Nájdite zvyšné tri čísla, ktoré sú násobkami rozsahu od 1 do N. Vypočítajte súčet týchto čísel.

16. Zobrazte postupnosť symbolov na obrazovke

18. Vypočítajte sčítania zvyšných troch čísel deliteľných 5 v rozsahu od N1 do N2.

19. Vypočítajte aritmetický priemer párových čísel, ktoré sa líšia v rozsahu od 1 do K.

PROGRAMOVANIE CYKLICKÝCH PROCESOV HIV

Hlavné informácie

Volá sa proces, v ktorom jeden operátor alebo skupina operátorov kombinuje veľa rôznych hodnôt pre argument cyklický proces. Vo VBA pre postupné akcie, ktoré sa opakujú, víťazné operátory v slučke, pretože existujú rôzne typy:

operátor slučka s parametrom Pre – Ďalej , ktorej konštrukcia je použitá, keďže zozadu je jasné, koľkokrát sa môže telo cyklu opakovať:

For doctor = cob_value Tieto koncové_hodnoty Krok crc block_operators

Ďalej od čitateľa

operátor cyklus so zmenou myslenia alebo postumova, ktorá sa používa na organizáciu cyklu s neznámym počtom opakovaní tela cyklu:

Dizajn cyklu

Dizajn cyklu

Zo zmeny myslenia môžete vidieť:

Z postumovej môžete vidieť:

Do Kým Umovova

block_operators

block_operators

Loop Kým Umov

Do umova

block_operators

block_operators

Slučka až do mozgu

Kým premýšľam

block_operators

Vypracujeme formu investičného účtu a vytvoríme program na výpočet indexu rentability navrhovaného investičného projektu na obnovu nehnuteľnosti, keďže výška počiatočných vkladov (PV) je 10 000 tis. r., diskontná sadzba r = 10 % a prevedené halierové toky:

Groshovy potik (DPk B), B tis. n.

Nechajte použiť formulár Koristuvalnitsk (obr. 1) a hodnoty tokov centov v 1. - 5. období sa čítajú zo stredu pracovného hárka „Použiť 1“ (obr. 2).

Sila predmetov je uvedená v tabuľke 1.

Malý 1. Formulár „Index ziskovosti“

ziskovosť

investičný projekt"

zaplatiť za vzorec

∑n

DPk

IP =

k = 1 (1+ r)

kde n je počet osudov, ktoré vyžadujú haliere.

Malý 2. Tabuľka delenia tokov halierov

stôl 1

autorita

autorita

Titulok = Index rent-

Titulok = najprv veľkosť

investičná belosť

ich príspevok

projektu

Titulok = Diskontná sadzba

Titulok = Index ziskovosti

Titulok = Clear

Titulok = Výstup

Na spracovanie procesu stlačenia tlačidla „Načítať“ uvádzame ofenzívu

Private Sub calc_Click()

'zadannya typ zlých

Dim pv, dp, i, n Ako celé číslo

Dim r, s Ako Single

'čítanie významu zmeny

pv = Val(txtPV.Text)

r = Val(txtSD.Text)/100

n = Val(InputBox("Zadajte počet hornín, ktoré budú vykreslené

prísť

cent

nakhodzhennya", "Úvod údajov"))

'čítanie hodnoty tokov centov'

dp = bunky (2, i + 2)

„dodatočné

txtIR.Text = Round(s / pv, 2) 'zaokrúhlenie a zobrazenie výsledku

Funkcia Zaokrúhliť (N, k) zaokrúhli číslo N na číslice za čiarkou.

Vedľa tlačidla Panel s nástrojmi dodatočného prvku Ovládacie prvky Umiestnením tlačidla „Otvoriť formulár“ pod tabuľkou spustíte procedúru „Formulár indexu ziskovosti“ (obr. 3). Kód pre tento postup vyzerá takto:

Private SubFormIndexProfitability_Click ()

Malý 3. Hodnota indexu ziskovosti investičného projektu

Po kliknutí na tlačidlo „Otvoriť formulár“ môžete spustiť formulár a preskúmať index ziskovosti investičného projektu (obr. 3).

Rozoberme si tvar koristuvach a vytvorme si program na vyhladanie vsetkych dvojcifernych cisel, suctu ctvercov cifr, ktore su delitelne 13.

Na vytvorenie tohto formulára prejdeme do editora VB (použijeme rovnaký zošit MS Excel ako v aplikácii 1) a pridáme ďalší formulár (obr. 4).

Sila predmetov je uvedená v tabuľke 2.

Na testovanie tlaku tlačidiel

urážlivý kód:

Private Sub calc_Click()

Malý 4. Forma na zadok 2

Label2.Caption = ""

„hodnota prvej číslice dvojciferného čísla

hodnota ďalšej číslice dvojciferného čísla

If (i1^2+i2^2) Mod 13=0 Then Label2.Caption = Label2.Caption+Str(i)+" "

Private Sub clean_Click()

Label2.Caption = ""

Private Sub exitForm_Click()

Tabuľka 2

autorita

Titulok = zadok 2

Titulok = Dvojciferné čísla, súčet

štvorce čísel, ktoré sú delené 13

TextAlign = 2-fmTextAlignCenter

Titulok = „ “

AutoSize = False

autorita

Titulok = Clear

Titulok = Výstup

Na pracovný oblúk je možné umiestniť „Butt 2“.

Tlačidlo „Otvoriť formulár“ na kliknutie na formulár

"Butt 2" a spustite tento formulár (obr.

Rozrobimo

Koristuvalnytskyi

rozhranie

a skladovateľné

program pre vi-

riadok sumi:

čistenie s presnosťou ε = 10P

k+2

S = ∑

(− 1)

k = 1

Stratíme ten istý excelový zošit,

čo je v zadkoch 1 a 2. Ďalšie nástroje -

Malý 5. Dvojciferné čísla, štvorcový súčet

Ponuky „Zápis“, „Pole“ a „Tlačidlo“ pa-

ústa čísel, ktoré sú deliteľné 13

počet nástrojov

Elementi

zvládanie

Nasledujúce predmety sú umiestnené na pracovnom oblúku „Butt 3“ (obr. 6).

Sila predmetov Arkoush, ukážka 3, je uvedená v tabuľke 3.

Tabuľka 3

autorita

autorita

Titulok = riadok súčtu

Titulok = Clear

Na spracovanie stlačenia tlačidiel „Otvoriť“ a „Vymazať“ zadajte do modulu „Hárok 3 (Príloha 3)“ nasledujúci programový kód:

eps = Val(InputBox("Nastaviť presnosť", "Zadávanie údajov"))

a = (-1)^(k + 2) / (f * 2^k) s = s + a

Slučka txtS.Text = s

Private Sub clean_Click() txtS.Text = ""

Tu bude telo cyklu Do While – Loop

skončiť,

dodanok

absolútne

k+2

n-1

k+2

n+ 2

veľkosť (t.j.

(− 1)

−∑

(− 1)

(− 1)

) bude

Malý 6. Výpočet sumy

k = 1

k = 1

nastavte špecifikovanú presnosť 10 P

Skontrolujme robota programom (obr. 7).

Rozrobimo

korystuvalnytska

Zostavme si program na nadchádzajúcu úlohu.

Pri analýze činnosti vlády pred

nainštalovaný

urážlivý

pravidelnosť: v roku 2004 zisk z tohto

podnikov predstavoval 573 tis. n. a strečingom

za posledných 5 rokov vzrástol o i%,

kde i je číslo mesiaca (pre divoký - o 2%, pre brezu

- o 3% atď.), rovnajúcej sa výške zisku v

Malý 7. Výsledok výpočtu

predchádzajúci mesiac.

Je príznačné, uberte prednú časť

Sumi riadok

Prijmem súčet zisku za roky 2004, 2005, ..., 2008 a rozdám aj súčet zisku za 5 rubľov.

Na vytvorenie tohto formulára prejdeme do editora VB (použijeme rovnaký zošit MS Excel ako v aplikáciách 1–3) a pridáme ďalší formulár (obr. 8). Výpočet hodnoty príjmu z podnikania je zobrazený tak v poli objektu zoznamu (ListBox) umiestnenom na formulári, ako aj v strede pracovného hárka „Použiť 4“ (obr. 9).

Malý 8. Formulár „Príjmy z podnikania“ Malý. 9. Stôl na zadok 4

Sila predmetov je uvedená v tabuľke 4.

Tabuľka 4

autorita

autorita

Titulok = Zisk podniku

Titulok = Clear

Titulok = Výstup

Poznámka. Sila ColumnCount udáva počet stĺpcov objektu ListBox.

Na spracovanie stlačenia tlačidiel „Odomknúť“, „Vyčistiť“ a „Navštíviť“.

go“ zadajte útočný kód:

Private Sub calc_Click() Dim i, j As Integer

Dim PrM, prG, sPr As Single

PrM = Val(InputBox("Zadajte zisky, výbery zo Sichny 2004 rubľov.", "Zadávanie údajov"))

ListBox používa metódu AddItem na pridávanie položiek do zoznamu

NameList.AddItem Viraz, Index

de Viraz - prvok v zozname, ktorý je potrebné pridať; Index – poradové číslo prvku v zozname (číslovanie prvkov v zozname začína od 0).

A sila zoznamu (RowNumber, ItemNumber) objektu ListBox otáča (priraďuje) prvok zoznamu, ktorý stojí na priečniku zadaných riadkov a stĺpcov.

Na pracovnej ploche „Apply 4“ môžete umiestniť tlačidlo „Open Form“ pre kliknutie na formulár „Business Income“ a spustiť tento formulár (obr. 10).

Teraz môžete do zošita MS Excel pridať ďalší hárok s názvom „Hodnota“, na ktorom napríklad za doplnkovým tlačidlom na paneli nástrojov Formuláre vytvoríte tieto tlačidlá: „Index ziskovosti“, „Dvojmiestne čísla“ , "Súčet série", "Príjmy z podnikania."

Editor VB pridal nový modul (Vložiť → Modul), pre ktorý sa zadáva nasledujúci kód:

Verejný podhárokPoužiť1()

Pracovné hárky („Butt 1“). Aktivovať

ListPr.AddItem "Rik", 0

„úložisko poštových podpisov a údajov

ListPr.List(0, 1) = "Zisk, tisíc rubľov."

'cyklus po skalách

cyklu podľa mesiaca rakoviny kože

Ak (i = 4) A (j = 1) Potom

PrM = PrM * (1 + j / 100)

Naprogramované sa často stretávajú s problémami, pri ktorých sa opakujúce procesy vyskytujú častejšie. Je našou chybou, že poznáme a chápeme také pojmy ako „ cyklické procesy výpočtu».

Začínajúci programátor s nimi môže jednoducho začať pravidelne. Okrem toho je dôležité pochopiť, že všetky programovacie systémy majú spôsoby implementácie cyklov.

Aký je naprogramovaný cyklus?

Naprogramovaný cyklus sa nazýva veľké opakovanie rovnakých akcií a výpočtov a na rovnakých miestach s rôznymi hodnotami zmeny.

Ako vieme, cyklus sa zužuje programovaním. Mnohé oblasti nášho života majú cykly.

Napríklad obeh vody v prírode je prirodzeným kolobehom nášho života.

A teraz sa pozrime na skryté pravidlá a koncepty, ktoré sa používajú vo výpočtových cykloch.

Etapy cyklického procesu

V zagalnom type sa cyklus realizuje v 4 etapách:
  • 1. fáza – príprava na cyklus (inicializácia).
    Nastavte hodnotu klasu na parameter a zmeňte cyklus.
    Parameter cyklu- Toto je hodnota, ktorá ovplyvňuje počet cyklov v cykle (počet opakovaní cyklu).
    Zmeniť cyklus- Toto je hodnota, ktorá mení svoju hodnotu v kožnej fáze cyklu.
    Inicializácia– hodnotu parametra klasu a cyklu výmeny.
  • 2. fáza – telo cyklu.
    Toto je veľké opakovanie akcie v cykle alebo výpočet po jednom a tých istých matematických výskytoch s rôznymi hodnotami premenných.
  • 3. fáza – úprava (zmena) cyklu.
  • 4. fáza – riadenie cyklu.
    Toto je opätovné overenie mysle a pokračovanie cyklu.
Pascal má 3 slučkové operátory, ktoré je možné implementovať akýmkoľvek spôsobom algoritmicko-cyklická štruktúra :
  1. Operátor slučky s parametrom
  2. Operátor cyklu so zmenou myslenia
  3. Operátor posmrtného cyklu
Podrobne sa na ne pozrieme v nasledujúcich článkoch.

Meta roboty:

Naučte sa cyklické operátory pre, while, do – while, naučte sa zostavovať a programovať cyklické algoritmy.

Stručný teoretický prehľad

Operátory slučiek sa používajú, keď je potrebné niekoľkokrát opakovať akcie (operátory a operácie) a takéto časti algoritmov sa nazývajú slučky.

Vyhlásenie slučky pre

Základná forma operátora slučky vyzerá takto:

pre (viraz_1; viraz_2; viraz_3)

operátor;

de viraz_1- Pochatkovova hodnota parametra cyklu;

viraz_2- Kontrola mysle na pokračovanie cyklu;

viraz_3- Zmena parametra cyklu (oprava);

operátor- Film jednoduchého alebo skladníka S.

Schéma pracovného postupu operátora je nasledovná: najprv sa vypočíta Viraz_1, potom sa skontroluje Viraz_2, a ak je „pravda“, potom sa dokončí cyklická časť programu, potom sa parameter opraví a tak ďalej, kým Viraz_2 nemá žiadne hodnota.„nezmysel“.

Napríklad: pre (k=1; k<5; k++)

printf(“\n%d”, k);

V dôsledku postupnosti tohto operátora sa čísla od 1 do 4 spájajú.

Ako parameter cyklu ho môžete zmeniť na akýkoľvek základný typ.

Napríklad:

for(ch='a'; ch<=’z’; ch++) // Вывод на экран букв

printf(“%c”,ch); // Latinská abeceda

Je potrebné starostlivo kontrolovať štruktúru cyklov for v programe, aby ste neskončili s nekonečnou slučkou (z ktorej nevedie cesta von).

Napríklad:

for(k=10; k>6;k++)

printf(“nikdy nekončiaci cyklus \n”);

Ukončite cyklus predstrunu je možné vykonať nasledujúcimi spôsobmi:

Za prídavným mozgom;

Vikoristovuyu takí operátori:

prestávka;- opustenie cyklu, v ktorom sa nachádza prestávka, riadenie sa prenesie na prvého operátora po baliacom cykle;

exit(int Kod);- výstup z programov;

návrat;- odchod z funkcie;

Za ďalšiu pomoc od operátora šialeného prechodu ísť do<метка>;

Dostrokov dokončenie in-line cyklickej výroby Prípadne pre ďalšiu pomoc od ďalšieho mozgu alebo operátora ďalej, ktorý preruší prietokovú fázu cyklu, potom. preskočí operátorov tej časti cyklu, ktorá chýba, a prenesie riadenie na hlavného operátora cyklu, aby opravil parameter a skontroloval myseľ.

Prenos keruvannya do stredu cyklu je zablokovaný.

Tak či onak, slučka for v okrúhlych ramenách môže byť odlišná, s výnimkou symbolu „;“ nie je možné znížiť.

Napríklad:

pre (; i<3; i++)

kladie("Ahoj!");

Cyklické operátory while a do-while

Základná forma cyklického operátora zatiaľ čo:

Kým (umova)

operátor;

de operátor

Cyklus pokračuje až do okamihu, keď sa v mysli objaví význam „pravdy“. Viraz na rukách otočí nenulový výsledok. Tento cyklus zahŕňa zmenu myslenia - najprv sa skontroluje myseľ, potom sa finalizuje operátor. Preto cyklus while nekončí zakaždým, pretože výsledok výpočtu je na začiatku 0.

Základná forma operátora robiť - kým:

operátor;

kým (umova);

de operátor– nie jednoduchý, skladací alebo prázdny pohon.

Operátor robiťzatiaľ čo- operátor posmrtného cyklu, tj. Operátor je najskôr presvedčený a potom sa overuje pravda. Fragmenty cyklu fungujú – kým je myseľ prekontrolovaná ako cyklus, cyklus sa dokončí aspoň raz.

V slučkách typu while a do–while sú povolené rovnaké metódy predriadkového výstupu zo slučky a predriadkového dokončenia cyklu toku slučky ako v operátore for, ale v prípade pre slučku sa riadenie prenáša na spracovanie mysle. Ak chcete vytvoriť nekonečnú slučku uprostred cyklov while a do-while, musíte zmeniť premenné, ktoré idú do mozgu.

Napríklad:

pre (i=1; i<=300;i++) // Печать целых чисел, кратных 5

if (i%5!=0) pokračovať;

printf("%5d",i);

Aplikácie kontinuálnych cyklov:

operátor;

2) while (number_not_0) // Vždy pravda!

operátor;

operátor;

while(číslo_nie_0); // Ešte raz je to pravda!

Stred operátorov v cykle je povinný, existuje však mentálny výstup.

Hniezdiace slučky

V mnohých vnorených slučkách je jedna slučka uprostred druhej, napríklad:

pre (i=nn;i

for(j=mn;j

operátor;

de operátor– nie jednoduchý, skladací alebo prázdny pohon. Vnútorný cyklus je indikovaný pre kožnú hodnotu parametra i, ktorá zodpovedá mentálnemu vonkajšiemu cyklu.

zadok:

pre (i=1;i<10;i++) // Печать таблицы умножения

for(j=1;j<4;j++)

printf(“\n %d*%d=%2d”, i, j, i*j);

printf(“\n”);

Zadok operátora vikoristanny pre

Vypočítajte. Program je zodpovedný za výstup medzivýsledkov a reziduálnych výsledkov.

Textový program mozhe mati viglad

#include

#include

puts(“Zadajte N”);

scanf("%d",&N);

pre (s = 0, k = 1; k<=N; k++) // В заголовке цикла можно выпол-

( // lekcie a podúloha

printf("\nk=%ds=%f", k,s);

printf("\nVIEW: s=%f, Stlačte ľubovoľnú klávesu...",s);

Možnosti pre jednotlivé úlohy

Vytvorte program na výpočet tabuľky hodnôt funkcií pri mať dostatočný dosah [ a,b] zmeniť argument X s dostatkom kôry h. Význam a, b, h zadané z klávesnice. Tabuľka môže obsahovať nasledujúce položky: poradové číslo, hodnota argumentu X, význam funkcie, informácie o raste alebo zmene funkcie, rozdiel medzi dvoma hodnotami funkcie.

Vypočítajte maximálne a minimálne hodnoty funkcie.

1. a = -p; b = p; h = 0,4.

2. a = 0,7; b = 1,8; h = 0,1.

3. a = -0,5; b = 2,5; h = 0,2.

4. a = -0,9; b = 2,7; h = 0,3.

5. a = -2; b = 0,8; h = 0,2.

6. a = -1,9; b = 2,7; h = 0,3.

7, a = -0,4 p; b = 0,4 p; h = 0,5.

8. a = -0,3 p; b = 1,3 p; h = p/10.

9. a = -p/2; b = p/2; h = p/10.

10. a = -3; b = 3; h = 0,5.