Objektivní:
Naučte se cyklické operátory pro, while, do - while, naučte se skládat a programovat cyklické algoritmy.
Stručný teoretické informace
Smyčkové operátory se používají, když je nutné několik akcí (operátory a operace) opakovat několikrát, a takové části algoritmů se nazývají smyčky.
Pro operátora smyčky
Hlavní forma operátoru smyčky for je
pro (výraz_1; výraz_2; výraz_3)
operátor;
kde výraz_1 - počáteční hodnota parametru cyklu;
výraz_2 - kontrola stavu pro pokračování cyklu;
výraz_3 - změna parametru cyklu (korekce);
operátor - jednoduchý nebo složený operátor jazyka C.
Operátorovo operační schéma je následující: výraz_1 se vypočítá pouze jednou, potom se zkontroluje výraz_2, a pokud má hodnotu „true“, provede se cyklická část programu, parametr se opraví atd., Dokud výraz_2 nezíská hodnotu „false“.
Například: pro (k \u003d 1; k<5; k++)
printf („\\ n% d“, k);
V důsledku provedení tohoto operátoru jsou ve sloupci vytištěna čísla od 1 do 4.
Jako parametr smyčky lze použít proměnnou jakéhokoli základního typu.
Například:
pro (ch \u003d 'a'; ch<=’z’; ch++) // Вывод на экран букв
printf („% c“, ch); // latinka
Je nutné pečlivě kontrolovat strukturu smyček for v programu, aby nevyšla nekonečná smyčka (ze které není východ).
například:
pro (k \u003d 10; k\u003e 6; k ++)
printf („nekonečná smyčka \\ n“);
Ukončete smyčku před plánovaným časem následujícími způsoby:
Další podmínkou;
Pomocí následujících operátorů:
přestávka;- výstup ze smyčky, ve které se nachází přerušení, kontrola je přenesena do prvního provedeného příkazu po smyčce;
exit (int Kod);- ukončení programu;
vrátit se; - ukončení funkce;
Použití operátoru bezpodmínečného skoku jít do<метка>;
Brzy dokončení aktuálního kroku cyklu možné s další podmínkou nebo operátorem pokračovat, který přeruší provádění aktuálního kroku smyčky, tj. přeskočí příkazy ze zbytku smyčky a přenese kontrolu do příkazu hlavy smyčky pro opravu parametrů a kontrolu stavu
Je zakázáno přenášet ovládání zvenčí uvnitř smyčky.
Jakýkoli z výrazů ve smyčce for v závorkách může chybět, ale znak „;“ nelze vynechat.
například:
protože já<3; i++)
put („Ahoj!“);
Smyčkové příkazy while a do - while
Základní forma cyklického operátoru zatímco:
While (podmínka)
operátor;
kde operátor
Smyčka se provede, dokud se podmínka stane pravdivou, tj. výraz v závorkách vrátí nenulový výsledek. Toto je smyčka s předpokladem - nejprve se zkontroluje podmínka, poté se provede příkaz. Proto se smyčka while neprovede ani jednou, pokud je počáteční výsledek vyhodnocení podmínky 0.
Základní formulář operátora dělat, zatímco:
operátor;
while (podmínka);
kde operátor Je jednoduchý, složený nebo prázdný operátor.
Operátor dělat–zatímco - operátor smyčky s podmínkou, tj. příkaz je proveden jako první a poté je podmínka zkontrolována na true. Jelikož je podmínka ve smyčce do - while kontrolována na konci smyčky, bude smyčka provedena alespoň jednou.
Ve smyčkách typu while a do - while jsou povoleny stejné metody předčasného opuštění smyčky a předčasného ukončení aktuálního kroku smyčky jako v příkazu for, ale v druhém případě je na rozdíl od smyčky for přenesena kontrola ke kontrole stavu. Aby se zabránilo nekonečné smyčce uvnitř smyček while a do - while, je nutné zajistit změnu proměnných obsažených v podmínce.
Například:
pro (i \u003d 1; i<=300;i++) // Печать целых чисел, кратных 5
if (i% 5! \u003d 0) continue;
printf („% 5d“, i);
Příklady nekonečných smyček:
operátor;
2) while (number_not_0) // Vždy pravda!
operátor;
operátor;
while (number_not_0); // Vždy pravda!
Mezi operátory smyčky musí existovat podmínka ukončení.
Vnořené smyčky
V případě vnořených smyček je jedna smyčka uvnitř jiné, například:
pro (i \u003d nn; i pro (j \u003d mn; j operátor; kde operátor Je jednoduchý, složený nebo prázdný operátor. Vnitřní smyčka poběží pro každou hodnotu parametru i, která splňuje podmínku vnější smyčky. Příklad: pro (i \u003d 1; i<10;i++) // Печать таблицы умножения pro (j \u003d 1; j<4;j++) printf („\\ n% d *% d \u003d% 2d“, i, j, i * j); printf („\\ n“); Příklad použití příkazu for Vypočítat. Program by měl tisknout průběžné a konečné výsledky. Text programu může vypadat #zahrnout #zahrnout put („Enter N“); scanf („% d“, & N); pro (s \u003d 0, k \u003d 1; k<=N; k++) // В заголовке цикла можно выпол- (// nat a dvojité přiřazení printf ("\\ n k \u003d% d s \u003d% f", k, s); printf ("\\ n ODPOVĚĎ: s \u003d% f, stiskněte libovolnou klávesu ...", s); Možnosti pro jednotlivé úkoly Vytvořte program k definování tabulky hodnot funkcí v v libovolném rozsahu [ a,b] změny argumentu xs libovolným krokem h... Hodnoty a, b, hvstoupil z klávesnice. Tabulka musí obsahovat následující sloupce: ordinal, argument value x, hodnota funkce, zpráva o zvýšení nebo snížení funkce, rozdíl dvou sousedních hodnot funkce. Určete maximální a minimální hodnoty funkce. 1. a \u003d -p; b \u003d p; h \u003d 0,4. 2. a \u003d 0,7; b \u003d 1,8; h \u003d 0,1. 3. a \u003d -0,5; b \u003d 2,5; h \u003d 0,2. 4. a \u003d -0,9; b \u003d 2,7; h \u003d 0,3. 5. a \u003d -2; b \u003d 0,8; h \u003d 0,2. 6. a \u003d -1,9; b \u003d 2,7; h \u003d 0,3. 7. a \u003d -0,4p; b \u003d 0,4p; h \u003d 0,5. 8. a \u003d -0,3p; b \u003d 1,3 p; h \u003d p / 10. 9. a \u003d -p / 2; b \u003d p / 2; h \u003d p / 10. 10. a \u003d -3; b \u003d 3; h \u003d 0,5. Proces, ve kterém je jeden příkaz nebo skupina příkazů proveden vícekrát pro různé hodnoty argumentů, se nazývá cyklický proces... VBA používá opakování příkazů k provádění opakovaných akcí, které jsou následujících typů: operátor smyčka s parametremFor - Next, jehož konstrukce se používá, pokud je předem známo, kolikrát by se tělo smyčky mělo opakovat: For counter \u003d start_value That end_value Step step statement_block Dále s počítadlem operátory smyčka s předpoklademnebo postcondition, který se používá k uspořádání smyčky s neznámým počtem opakování těla smyčky: Konstrukce smyčky Konstrukce smyčky s podmínkou má formu: s podmínkou je: Podmínka Do While statement_block statement_block Stav Loop While Podmínka Do statement_block statement_block Podmínka Loop Until Zatímco podmínka statement_block Vypracujeme vlastní formulář a vypracujeme program pro stanovení indexu ziskovosti navrhovaného investičního projektu na modernizaci zařízení, pokud je výše počáteční investice (IP) 10 000 tisíc rublů, diskontní sazba r \u003d 10% a odhadované peněžní toky jsou následující: Peněžní tok (ДПk B), B tisíc rublů Nechte vypadat uživatelský formulář (obr. 1) a hodnoty hodnot peněžních toků za 1. - 5. rok se načtou z buněk listu „Příklad 1“ (obr. 2). Vlastnosti tvarových objektů jsou uvedeny v tabulce 1. Obr. 1. Formulář „Index ziskovosti ziskovost investiční projekt " vypočteno podle vzorce .N DPk IR \u003d k \u003d 1 (1+ r) kde n je počet let, během nichž přijdou peněžní příjmy. Obr. 2. Tabulka rozdělení peněžních toků stůl 1 Vlastnictví Vlastnictví Titulek \u003d anuitní index Titulek \u003d Počáteční velikost ziskovost investice investice th projekt Titulek \u003d Diskontní sazba Titulek \u003d Index ziskovosti Titulek \u003d jasný Titulek \u003d Konec Chcete-li zpracovat událost kliknutí na tlačítko „Vypočítat“, zadejte následující Soukromý dílčí výpočet_Click () „Nastavení typu proměnných Dim pv, dp, i, n As Integer Dim r, s jako svobodný „Přečíst hodnoty proměnných pv \u003d Val (txtPV.Text) r \u003d Val (txtSD.Text) / 100 n \u003d Val (InputBox ("Zadejte počet let, po který přijít hotovost účtenky "," Zadávání údajů ")) „Čtení hodnot peněžních toků dp \u003d Buňky (2, i + 2) „shrnutí txtIR.Text \u003d Round (s / pv, 2) „zaokrouhlit a vytisknout výsledek Funkce Round (N, k) zaokrouhlí N na k desetinná místa. Dále pomocí prvku tlačítka panelu nástrojů Ovládací prvkyumístíme tlačítko „Otevřít formulář“ pod tabulku pro zahájení procedury „Formulář indexu ziskovosti“ (obr. 3). Kód tohoto postupu je: Soukromý podformulář Profit Index_Click () Obr. 3. Stanovení indexu ziskovosti investičního projektu Pomocí vytvořeného tlačítka „Otevřít formulář“ spusťte formulář a vypočítejte index ziskovosti investičního projektu (obr. 3). Vypracujeme vlastní formulář a sestavíme program pro vyhledání všech dvouciferných čísel, jejichž součet čtverců je dělitelný 13. Chcete-li vytvořit tento vlastní formulář, přejděte do editoru VB (zůstaňte ve stejném sešitu MS Excel jako v příkladu 1) a přidejte další formulář (obr. 4). Vlastnosti tvarových objektů jsou uvedeny v tabulce 2. Zpracování událostí kliknutí na tlačítko následující kód: Soukromý dílčí výpočet_Click () Obr. 4. Formulář například 2 Label2.Caption \u003d "" „Definice první číslice dvouciferného čísla „Definice druhé číslice dvouciferného čísla If (i1 ^ 2 + i2 ^ 2) Mod 13 \u003d 0 Pak Label2.Caption \u003d Label2.Caption + Str (i) + "" Soukromý sub clean_Click () Label2.Caption \u003d "" Soukromý výstup SubForm_Click () tabulka 2 Vlastnictví Titulek \u003d Příklad 2 Titulek \u003d Dvouciferná čísla, součet čtverce čísel dělitelné 13 TextAlign \u003d 2-fmTextAlignCenter Titulek \u003d „“ AutoSize \u003d False Vlastnictví Titulek \u003d jasný Titulek \u003d Konec Na listu „Příklad 2“ umístěte tlačítko "Otevřít formulář" pro vyvolání formuláře „Příklad 2“ a spusťte tento formulář (obr. Budeme se rozvíjet zvyk rozhraní a skládat program pro vás série součty: výpočty s přesností ε \u003d 10P k + 2 S \u003d ∑ (−
1) k \u003d 1 Zůstaňme ve stejném sešitu aplikace Excel, jako v příkladech 1 a 2. Použití nástroje Obr. 5. Dvouciferná čísla, součet čtverců policajti „Nápis“, „Pole“ a „Tlačítko“ jejichž čísla jsou dělitelná 13 žádné nástroje Elementy řízení umístěte odpovídající objekty do listu „Příklad 3“ (obr. 6). Vlastnosti listových objektů „Příklad 3“ jsou uvedeny v tabulce 3. Tabulka 3 Vlastnictví Vlastnictví Titulek \u003d Součet sérií Titulek \u003d jasný Chcete-li zpracovat události stisknutí tlačítek „Vypočítat“ a „Vymazat“, zadejte do modulu „List3 (příklad 3)“ následující programový kód: eps \u003d Val (InputBox ("Nastavit přesnost", "Zadávání dat")) a \u003d (-1) ^ (k + 2) / (f * 2 ^ k) s \u003d s + a Smyčka txtS.Text \u003d s Soukromý sub clean_Click () txtS.Text \u003d "" Tady bude tělo Do While - Loop vykonat, období absolutní k + 2 n− 1 k + 2 n + 2 hodnota (tj. (−
1) −∑
(−
1) (−
1) ) bude Obr. 6. Výpočet částky k \u003d 1 k \u003d 1 překročit stanovenou přesnost 10 P Podívejme se na práci programu (obr.7). Budeme se rozvíjet zvyk vytvořme program k vyřešení následujícího problému. Při analýze ekonomických aktivit nainstalován další vzor: v lednu 2004 zisk tohoto podniky činily 573 tisíc rublů. a během následujících 5 let vzrostlo o i% měsíčně, kde i je číslo měsíce (tj. v únoru - o 2%, v březnu) - o 3% atd.), ve srovnání s výškou zisku v Obr. 7. Výsledek výpočtu předchozí měsíc. Určete přijaté pre- součet série přijetí výše zisku za roky 2004, 2005,…, 2008, jakož i celkové výše zisku za těchto 5 let. Chcete-li vytvořit tento vlastní formulář, přejděte do editoru VB (zůstaňte ve stejném sešitu MS Excel jako v příkladech 1-3) a přidejte ještě jeden formulář (obr.8). Výstup vypočítaných hodnot zisku podniku bude proveden jak v poli objektu ListBox umístěném na formuláři, tak v buňkách listu „Příklad 4“ (obr. 9). Obr. 8. Formulář „Zisk podniku“ Obr. 9. Tabulka například 4 Vlastnosti tvarových objektů jsou uvedeny v tabulce 4. Tabulka 4 Vlastnictví Vlastnictví Titulek \u003d Zisk podniku Titulek \u003d jasný Titulek \u003d Konec Poznámka. Vlastnost ColumnCount určuje počet sloupců v objektu ListBox. Pro zpracování událostí stisknutí tlačítek „Vypočítat“, „Vymazat“ a „Vy- move ", zadejte následující kód: Soukromý sub calc_Click () Dim i, j jako celé číslo Dim PrM, prG, sPr jako Single PrM \u003d Val (InputBox ("Zadejte zisk přijatý v lednu 2004", "Zadání dat")) ListPr.AddItem "Year", 0 „Nastavit počáteční podpisy a data ListPr.List (0, 1) \u003d "Zisk, tisíc rublů." „Cyklujte roky „Cyklujte po měsících každého roku If (i \u003d 4) And (j \u003d 1) Then PrM \u003d PrM * (1 + j / 100) ListName.AddItem Expression, Index kde Výraz je položka seznamu, která má být přidána; Rejstřík - pořadové číslo prvku v seznamu (číslování prvků seznamu začíná od 0). Vlastnost List (LineNumber, ColumnNumber) objektu ListBox vrací (přiřadí) položku seznamu na křižovatce zadaného řádku a sloupce. Na listu „Příklad 4“ umístěte tlačítko „Otevřít formulář“, čímž vyvoláte formulář „Zisk podniku“ a spustíte tento formulář (obr. 10). Nyní můžete do sešitu MS Excel přidat další list s názvem „Obsah“, na kterém například pomocí tlačítka Nástroj na panelu nástrojů Formuláře vytvoříte čtyři tlačítka: „Index ziskovosti“, „Dvouciferná čísla“, „Součet sérií“, „Zisk podniky “. V editoru VB přidejte nový modul (Vložit → Modul), do kterého zadáme následující kód: Příklad veřejného listu 1 () Pracovní listy („Příklad 1“). Aktivujte Úkol číslo 2 Programování větvících se výpočetních procesů Objektivní Získejte programovací dovednosti pro větvení výpočetních procesů. Prozkoumejte podmíněné příkazy, logické proměnné, logické vztahy a operace. Nechť je na rovině x, y uvedena oblast D. Je nutné určit, zda bod se souřadnicemi (x, y) „spadne“ do oblasti D nebo ne. Pokud zasáhne, je nutné vypočítat funkci a proměnnou M, jejíž hodnota je znamením „zasáhnout“ nebo „nezasáhnout“, přiřadit hodnotu M \u003d 1. Jinak vypočítejte a nastavte M \u003d 2. Pracovní proces Algoritmus pro řešení problému: 1. Vypište oblast D a zapište funkce a 2. Napište rovnice definující hranice oblasti 3. Připravte 7 bodů tak, aby některé body byly uvnitř D a některé mimo něj. 4. Napište program k dokončení úkolu. 5. Získejte a zaznamenejte výsledky počítání pro vybrané body. f 1 \u003d tg (x) / e y f 2 \u003d (x\u003e 0 a y\u003e 0 a X ** 2 + Y ** 2<=9) или (x<0 и y>0 a y<=x+4) или (x<0 и y<0 и x>(-4) a y\u003e (- 2)) pak bod patří doméně D 1)(1;1) PRINT *, "X \u003d?, Y \u003d?"; PŘEČTĚTE si *, X, Y C \u003d (x\u003e 0..a. Y\u003e 0..a.X ** 2 + Y ** 2<=9).or.(x<0..and.y>0..a.y.<=x+4).or.(x<0..and.y<0..and.x>(-4). A.y\u003e (- 2)) TISK 2, X, Y, Z, C, M 2 FORMÁT ("X \u003d", F7,3,3X, "Y \u003d", F7,3,3X, "Z \u003d", E11,4,3X, "C \u003d", L2,3X, "M \u003d", I2 /) KONEC PROGRAMU LAB2 FUNKCE F1 (X, Y) F1 \u003d opálení (x) / exp (x) ** r FUNKCE F2 (X, Y) F2 \u003d (sqrt (sin (2 * x + 3 * y) ** 2) ** 1./3.) print *, "a, b, c \u003d?"; read "(2F7.3)", a, b, c q \u003d a\u003e b.and.a a w \u003d b\u003e a. a. b b e \u003d c\u003e a.and.c c 28.,558.,345. 345.0000 Úkol číslo 3 Programování cyklických výpočetních procesů Objektivní Získejte dovednosti v programování cyklických výpočetních procesů. Prozkoumejte krokové smyčky a podmíněné smyčky. 1. Zapište si výpočetní vzorce pro výpočet termínu a konečné částky 2. Vytvořte algoritmus pro výpočet s danou přesností součet konečného počtu členů řady ve specifikovaném variačním rozsahu parametru x s \u200b\u200bdaným krokem. Krok získáte vydělením rozsahu x 10. 3. Vytvořte program pro řešení problému. V programu pro každou hodnotu x zajistěte výpočet přibližného i přesného součtu odpovídající řady y podle vzorce uvedeného v tabulce. přesnou hodnotu součtu řady a také počet sečtených členů. Pracovní proces 1. Nastavte začátek x0 cyklu a konec xl cyklu 2. Krok h nastavíme podle vzorce 4. Vytvořte program pro opakované řešení problémů 5. Vytvořte tabulku přijatých dat Vzorec řady: Vzorec pro přesný výpočet součtu: π / 4 1.x0 \u003d π / 10 xk \u003d 9 π / 10 3. real :: a, b, c, eps, h, s, x, x0, xk, y, str b \u003d (sin * (x) * (2 * n) -1 + sin * ((2 * n-1) * x)) / 4 * n-2 pokud (abs (a) tisk 2, x, s, y, n; napište (1,2) x, s, y, n end do 2 format ("x \u003d", f6.3,3x, "s \u003d", e10.3,3x, "y \u003d", e10.3,3x, "n \u003d", i5) ukončit program lab3
Laboratorní práce č. 2 "Programování cyklických výpočetních procesů" Objektivní Operátory učení smyčky v C ++. Teoretická část Cyklus - druh struktury řízení v programovacích jazycích na vysoké úrovni, který je určen k organizaci opakovaného provádění sady pokynů. Smyčku lze také nazvat libovolnou posloupností instrukcí, které lze provádět opakovaně, organizovaným jakýmkoli způsobem. Je volána sada instrukcí určených k opakovanému provádění tělo cyklu
... Je vyvoláno provedení těla smyčky jednou opakování
... Je volán výraz, který určuje, zda bude iterace provedena znovu, nebo smyčka skončí podmínka ukončení
nebo podmínka pro konec cyklu.
Volá se proměnná ukládající aktuální číslo iterace čítač iterací
cyklus nebo jen čelit
cyklus. Smyčka nemusí nutně obsahovat čítač, může existovat více než jedno počítadlo - podmínka pro opuštění smyčky může záviset na několika proměnných změněných ve smyčce. Provedení jakékoli smyčky zahrnuje počáteční inicializaci proměnných smyčky, kontrolu podmínky ukončení, provedení těla smyčky a aktualizaci proměnné smyčky při každé iteraci. Kromě toho většina programovacích jazyků poskytuje prostředky pro časné ovládání smyčky, například příkazy ukončení smyčky, to znamená odchod ze smyčky bez ohledu na pravdivost podmínky ukončení (v C, přerušení) a operátory pro přeskočení iterace (v C, pokračování). Existují následující typy cyklů. 1. Bezpodmínečné cykly.Cykly ,
výstup, který není poskytován logikou programu. Vzhledem ke své atypické povaze programovací jazyky neposkytují speciální syntaktické nástroje pro vytváření nekonečných smyček, proto se takové smyčky vytvářejí pomocí konstrukcí určených k vytváření obyčejných (nebo podmiňovací způsob) cykly. Například C používá smyčku pro (;;) s prázdnými částmi. 2. Podmíněné smyčky.Jedná se o smyčky, jejichž provádění je řízeno nějakou podmínkou kontrolovanou na začátku nebo na konci těla smyčky. Podmíněné smyčky lze tedy předběžně stabilizovat a dodatečně upravit. Smyčka s předpokladem je smyčka, která se provádí, pokud je splněna určitá podmínka zadaná před jejím začátkem. Tento stav je zkontrolován před provedení těla smyčky, takže tělo nemusí být provedeno ani jednou (pokud je podmínka od samého začátku falešná). Ve většině procedurálních programovacích jazyků je implementován operátorem zatímco, proto jeho druhé jméno - while-loop. V C ++ taková smyčka vypadá takto: zatímco (<условие>) <тело цикла> Smyčka s podmínkou - smyčka, ve které je kontrolován stav po provedení těla smyčky. To znamená, že smyčka je vždy provedena alespoň jednou. V Pascalu je tato smyčka implementována operátorem opakujte..do té doby, v C - dělat, zatímco, např .: <тело цикла> zatímco (<условие продолжения цикла>); Existují určité rozdíly v použití podmínky smyčky s podmínkou v různých jazycích. V Pascalu a jazycích z něj odvozených je podmínka takového cyklu interpretována jako podmínka ukončení - smyčka končí, když je podmínka splněna. V C - jak podmínka pokračování (smyčka končí, když je podmínka nepravdivá; takové smyčky se někdy nazývají „bye loop“). Smyčka ze středu je nejběžnější forma podmíněné smyčky. Syntakticky je taková smyčka formátována pomocí tří konstruktů: začátek smyčky, konec smyčky a příkaz k ukončení smyčky. Počáteční konstrukt definuje bod v programu, ve kterém začíná tělo smyčky, koncový konstrukt definuje bod, kde tělo končí. Uvnitř těla musí být příkaz k opuštění smyčky, když je spuštěna, smyčka končí a ovládací prvek je přenesen na operátora následujícího po konci konstrukce smyčky. Přirozeně, aby se smyčka prováděla vícekrát, neměl by se příkaz exit volat bezpodmínečně, ale pouze když je splněna podmínka ukončení smyčky. Hlavním rysem tohoto typu smyčky je to, že část těla smyčky umístěná po začátku smyčky a před provedením příkazu exit je vždy provedena (i když je podmínka ukončení smyčky pravdivá při první iteraci) a část těla smyčky umístěná po příkazu exit není provedena, když poslední iterace. Pomocí smyčky s výstupem ze středu můžete snadno simulovat smyčku s předpokladem (umístěním příkazu exit na začátek těla smyčky) a smyčku s postcondicí (umístěním příkazu exit na konec těla smyčky). Smyčka s čítačem je smyčka, ve které proměnná s určitým krokem změní svou hodnotu z dané počáteční hodnoty na konečnou hodnotu a pro každou hodnotu této proměnné se tělo smyčky provede jednou. Ve většině procedurálních programovacích jazyků je implementován operátorem pro, který označuje počitadlo (tzv. „proměnná cyklu“), požadovaný počet průchodů (nebo mezní hodnotu počitadla) a případně krok, kterým se počítadlo mění. V některých jazycích, například, C a další pocházeli z tohoto cyklu pronavzdory syntaktické formě smyčky čítače je to ve skutečnosti předem připravená smyčka. To je v C konstrukce smyčky: pro (i \u003d 0; i< 10; ++i) Tělo smyčky je vlastně jiná forma psaní stavby: zatímco já< 10) Tělo smyčky To znamená, že ve struktuře for se nejprve zapíše libovolný příkaz inicializace smyčky, pak - podmínka pokračování a nakonec nějaká operace provedená po každém těle smyčky (nemusí to být změna čítače; může to být úprava ukazatele nebo nějaká zcela cizí operace). U jazyků tohoto druhu lze výše popsaný problém vyřešit velmi jednoduše: proměnná čítače se chová zcela předvídatelným způsobem a po skončení smyčky si zachovává svoji poslední hodnotu. for (akce před zahájením smyčky; podmínka pokračování smyčky; akce na konci každé iterace smyčky) ( instrukce smyčky; instrukce smyčky 2; instrukce smyčky N; for (counter \u003d value; counter< значение; шаг цикла) tělo smyčky; Nejprve je čítači přiřazena počáteční hodnota, následovaná středníkem. Poté je nastavena koncová hodnota počitadla smyčky. Jakmile čítač dosáhne stanoveného limitu, cyklus končí. Poté je nastaven krok cyklu - hodnota, o kterou se počítadlo cyklu bude s každým průchodem zvyšovat nebo snižovat. #zahrnout pomocí jmenného prostoru std; int i; // počitadlo smyčky int součet \u003d 0; // součet čísel od 1 do 1000. setlocale (0, ""); pro (i \u003d 1; i<= 1000; i++) // задаем начальное значение 1, конечное 1000 и задаем шаг цикла - 1. cout<< "Сумма чисел от 1 до 1000 = " << sum << endl; Organizace cyklu zatímco nebo dělat, zatímcoje vhodné jej použít, když požadovaný počet iterací není předem znám... Syntaxe smyčky zatímco v C ++ vypadá takto. while (Podmínka) ( Tělo smyčky; Tato smyčka bude provedena, dokud bude splněna podmínka uvedená v závorkách. Příklad implementace sčítání čísel od 1 do 1000 pomocí while smyčky: #zahrnout pomocí jmenného prostoru std; setlocale (0, ""); zatímco já< 1000) cout<< "Сумма чисел от 1 до 1000 = " << sum << endl; Cyklus dělat, zatímco se liší od zatímcoskutečnost, že při provedení smyčky bude proveden jeden průchod smyčky bez ohledu na podmínku. Program pro řešení problému hledání součtu čísel od 1 do 1000 pomocí smyčky dělat, zatímco: #zahrnout pomocí jmenného prostoru std; setlocale (0, ""); int i \u003d 0; // inicializuje čítač smyček. int součet \u003d 0; // inicializuje počítadlo součtu. do (// provést smyčku. ) zatímco já< 1000); // пока выполняется условие. cout<< "Сумма чисел от 1 до 1000 = " << sum << endl; 1. Vytvořte program v C ++ pro řešení problému odpovídající zvolené možnosti. 2. Zadejte, odlaďte a zkompilujte program. Zkontrolujte, zda funguje správně. 1. Blokové schéma programového algoritmu. 2. Výpis programu s komentáři. 3. Výsledky kontrolních běhů. Kontrolní otázky 1. Uveďte definici smyčky, těla smyčky, iterace. 2. Co je podmínka ukončení smyčky, iterační čítač? 3. Jaké fáze zahrnuje jakýkoli cyklus? 4. Jak funguje postkondiční smyčka? 5. Jak funguje předběžná smyčka? 6. Jak funguje počítadlo? 7. Jak je smyčka implementována pomocí příkazu for? 8. Jak je smyčka implementována pomocí příkazu while? 9. Jak je smyčka implementována pomocí příkazu do while? 1. Zobrazte následující posloupnost znaků 2. Zadejte posloupnost celých čísel (0 - konec posloupnosti), najděte rozdíl mezi nejmenšími mezi kladnými a největšími mezi zápornými čísly. 3. Zadejte posloupnost N celých čísel, najděte rozdíl mezi součinem lichých čísel a největším mezi zápornými čísly. 4. Zadejte posloupnost celých čísel, 0 - konec posloupnosti. Určete, zda posloupnost obsahuje alespoň dvě čísla, která jsou násobky 3, 5 a 7. 5. Zavádí se posloupnost N celých čísel. Najděte největší počet z násobků 11. 6. Zadejte sekvenci celých čísel, 0 - konec sekvence. Určete, zda posloupnost obsahuje alespoň tři záporná sudá čísla. 7. Zavádí se posloupnost N reálných čísel. Určete nejmenší číslo z čísel větších než 20. 8. Zadejte sekvenci celých čísel, 0 - konec sekvence. Vypočítejte počet kladných násobků 7 a ne násobků 5 a součet záporných prvků posloupnosti. 9. Zavádí se posloupnost N reálných čísel. Určete aritmetický průměr mezi prvky posloupnosti, které jsou násobky 7. 10. Zadejte posloupnost čísel, 0 - konec posloupnosti. Určete, zda sekvence striktně klesá. 12. Zadejte sekvenci celých čísel, 0 - konec sekvence. Určete, zda sekvence obsahuje alespoň dvě sousední kladná čísla. 13. Zavádí se posloupnost N reálných čísel. Určete, zda se v posloupnosti střídají znaky. 14. Zavádí se posloupnost N reálných čísel. Určete rozdíl mezi minimálními kladnými a maximálními zápornými prvky sekvence. 15. Najděte poslední tři násobky čtyř v rozsahu od 1 do N. Vypočítejte součet těchto čísel. 16. Zobrazte následující posloupnost znaků 18. Vypočítejte součin posledních tří čísel, která nejsou násobky 5 v rozsahu od N1 do N2. 19. Vypočítejte aritmetický průměr sudých čísel, která nejsou násobky čtyř v rozsahu od 1 do K. Pro začínajícího programátora bude snadné pochopit je pomocí zobecněného příkladu. Kromě toho je důležité si uvědomit, že ve všech programovacích jazycích existují způsoby, jak implementovat smyčky. S konceptem cyklu se setkáváme nejen v programování. V mnoha oblastech našeho života existují cykly. Například koloběh vody v přírodě je přirozeným cyklem v našem životě. Nyní se podívejme na obecná pravidla a koncepty používané ve výpočetních cyklech.PROGRAMOVÁNÍ CYKLICKÝCH PROCESŮ VÝPOČTU
Základní informace
ListBox používá k přidání položek do seznamu AddItem metodu
2)(3;3)
3)(-1;2)
4)(-5;2)
5)(-2;-1)
6)(-5;-3)
Fortran MathCAD
X y z m C z m C
0,1573E + 01
T 1.573
0,0751E + 01
F 0.751
-1
-0,1211E + 01
T -1.211
-5
0,083E + 01
F 0.83
-2
-1
0,394E + 01
T 3.94
-5
-3
0,0282E + 01
F 0.282
-3
0,0271E + 01
F 0.271
X S (x) y
0.314
0.324
0.785
0.565
0.622
0.785
0.817
0.979
0.785
1.068
1.404
0.785
1.319
1.43
0.785
1.57
-19.257
0.785
1.821
-533.961
0.785
2.072
-8 624 E + 3 0.785
2.324
-9,986 E + 4 0.785
2.575
-8,928E + 5 0.785
2.826
-6,477E + 6 0.785
Organizace smyček v C ++
1. Smyčka for.
Je vhodné použít smyčku for, když je předem znám požadovaný počet iterací. Syntaxe pro tento operátor je:
U této položky existuje speciální případ (s počítadlem):
Příklad: Počítání součtu všech čísel od 1 do 1000.
2. Smyčka while.
3. Smyčka do while
Co je to smyčka v programování?
Smyčka - v programování se to nazývá vícenásobné opakování stejných akcí nebo výpočtů, ale podle stejných závislostí s různými hodnotami proměnných. Fáze cyklického procesu
Cyklus by měl být obecně realizován ve 4 fázích:
V Pascalu jsou 3 operátoři smyček, kteří mohou implementovat libovolné algoritmická - cyklická struktura :
Nastavení počáteční hodnoty parametru a proměnné smyčky.
Parametr smyčky - tato hodnota, která počítá počet kroků cyklu (počet opakování cyklu).
Proměnná smyčky Je hodnota, která mění svou hodnotu v každé fázi cyklu.
Inicializace Je přiřazení počátečních hodnot k parametru a proměnné smyčky.
Toto je vícenásobné opakování akce ve smyčce nebo výpočty pro stejné matematické závislosti s různými hodnotami proměnných.
Toto je kontrola stavu pro pokračování nebo začátek cyklu.
Podrobně je budeme zvažovat v příštím článku.