Programování cyklických výpočetních procesů vba. Programování cyklických výpočetních procesů

1. Metody konstrukce cyklických výpočetní procesy v programech.

2. Zadáno do počítačeNreálná čísla. Napište program, který zobrazí aritmetický průměr této množiny.

Úvod

Cyklické programy se používají téměř ve všech software. V tomto případě mohou být cykly explicitní a implicitní. Implicitní smyčka je zejména přítomna v obslužných rutinách přerušení, které ve skutečnosti běží v nekonečné smyčce, jejíž tělo je spuštěno přerušením. Podprogramy jsou také cyklické - okenní funkce aplikace pro Windows. Dále jsou uvažovány programy s cyklem, jejichž tělo obsahuje funkční moduly.

Cyklický proces je výpočetní proces, ve kterém jsou výpočty opakovaně prováděny pomocí stejných vzorců pro různé hodnoty argumentu.

Programy které implementují cyklický proces se nazývají cyklické programy.

Organizaci cyklu lze rozdělit do následujících fází:

příprava (inicializace) cyklu (AND);

provádění výpočtů smyčky (tělo smyčky) (T);

modifikace parametru (M);

kontrola podmínky pro konec cyklu (U).

Pořadí, ve kterém mohou být tyto kroky, např. T a M, provedeny, se může lišit. V závislosti na umístění testu se v podmínkách ukončení smyčky rozlišují smyčky s dolním a horním zakončením. U smyčky s dolním koncem se tělo smyčky provede alespoň jednou, protože nejprve se provedou výpočty a poté se zkontroluje podmínka ukončení smyčky.


V případě shora ukončené smyčky se tělo smyčky nemusí provést ani jednou, pokud je podmínka ukončení splněna okamžitě.

Smyčka se nazývá deterministická, pokud je předem znám nebo určen počet opakování těla smyčky. Smyčka se nazývá iterační, pokud počet opakování těla smyčky není předem znám, ale závisí na hodnotách parametrů (některých proměnných) zahrnutých do výpočtů.

Tělo smyčky Toto je část programu, která se mnohokrát opakuje.

Parametr cyklu je proměnná, která nabývá nových hodnot při každém opakování smyčky (existují jednoduché a složité smyčky).

Obecná forma cyklus nkrát

Obecně platí, že cyklus n krát je zapsán následovně:

nc počet opakování krát

Obslužná slova nts (začátek cyklu) a kts (konec cyklu) jsou psána přísně pod sebou a jsou spojena svislou čárou. Napravo od tohoto řádku je zapsána opakovaná sekvence příkazů (tělo smyčky).

Počet opakování je libovolné celé číslo.

Když je algoritmus vykonán, sekvence příkazů v těle smyčky se opakuje zadaný početkrát. Pravidla algoritmického jazyka umožňují zadat libovolný celočíselný počet opakování. Může být nula nebo dokonce záporná. Tyto případy nejsou považovány za chybné, pouze se tělo smyčky neprovede ani jednou a počítač okamžitě přistoupí k provedení příkazů napsaných po kts

Celkový pohled na cyklus

Obecně je cyklus napsán takto:

nc bye stav

| tělo smyčky (sekvence příkazů)

Při provádění cyklu počítač opakuje následující kroky:

a) zkontroluje stav zapsaný za servisním slovem;

b) není-li podmínka splněna, pak provádění cyklu skončí a počítač začne provádět příkazy zapsané po kts. Pokud je podmínka splněna, pak počítač provede tělo smyčky, znovu zkontroluje podmínku a tak dále.

Celkový pohled na cyklus pro

nc pro i od i1 do i2

| tělo smyčky (sekvence příkazů)

Zde i je název hodnoty celočíselného typu, i1, i2 jsou libovolná celá čísla nebo výrazy s celočíselnými hodnotami. Tělo smyčky se postupně provádí pro i = i1, i = i1 + 1, i1 + 2, …i = i2.

Pravidla algoritmického jazyka umožňují zadat libovolná celá čísla i1, i2. konkrétně i2 může být menší než i1. tento případ není považován za chybný - pouze tělo smyčky se ani jednou neprovede a počítač okamžitě přistoupí k provedení příkazů napsaných za kts.

Smyčka n krát a smyčka while

Smyčky n-krát a dosud jsou uspořádány v algoritmickém jazyce téměř stejným způsobem. To není překvapivé, protože oba tyto příkazy nastavují cyklus - opakující se sekvenci příkazů. Servisní slova nts a kts indikují, že se cyklus provádí, a záhlaví cyklu specifikuje specifický mechanismus pro jeho provádění.

Tyto dva cykly však mají jeden podstatný rozdíl. Po spuštění cyklu nkrát počítač ví, kolikrát bude muset opakovat tělo smyčky. Při provádění smyčky tomu tak zatím není: počítač pokaždé kontroluje stav smyčky a nemůže předem určit, kdy provádění skončí. Počet opakování cyklu můžete zjistit až po dokončení cyklu.

Tím je jasné, v jakých případech by se měl který cyklus použít. Pokud je počet opakování znám v době zahájení smyčky, je vhodné použít smyčku nkrát. Pokud počet opakování nelze předem určit, je nutný cyklus.

Například program automatické ovládání má strukturu znázorněnou na obr. jeden. Moduly zahrnuté v cyklu(stejně jako moduly pro obsluhu přerušení), každý s jedním vstupem a jedním výstupem, mají obvykle charakteristickou vlastnost: moduly obsahují statické proměnné, kterým je v aktuálním cyklu přiřazena hodnota, a analýza těchto proměnných se provádí v dalším cyklu. Uvedené proměnné tedy charakterizují stav modulu na konci aktuálního nebo začátku dalšího programového cyklu. V budoucnu budeme uvažovat pouze o takových modulech cyklických programů a budeme je stručně označovat jako MCP.


Obr. 1. Typická struktura řídicí program s nekonečnou smyčkou.

MCP mají různorodou strukturu, jejíž složitost je třeba posuzovat podle zvláštních kritérií. V.V. Lipaev navrhl vhodné a objektivní kritérium pro složitost programových modulů, a to: počet a celkovou délku cest v řídicím grafu modulu. Toto bere v úvahu pouze podmíněné a výběrové příkazy. Toto kritérium však pro MCP se statickou pamětí zjevně nestačí, protože při analýze MCP je nutné pamatovat si hodnoty všech statických proměnných nastavených v předchozím cyklu. Kromě toho neexistují žádná doporučení pro standardizaci algoritmů a programů, s výjimkou dlouho známého strukturovaného programování v běžně používaných programovacích jazycích, jako je C a Pascal. Tento článek navrhuje vyplnit tyto mezery ve vztahu k MCP.

2. Fragmenty modulů cyklických programů

Dvoupólový fragment, nebo jen fragment, budeme uvažovat programovou sekci s jedním vstupem a jedním výstupem (včetně operátorů smyčky) za předpokladu, že uvažované MCP jsou strukturované. Nejjednodušší fragment obsahuje jeden operátor. Sekvence fragmentů je také fragment. MCP je zase fragment a skládá se ze sekvence fragmentů.

Pro syntézu struktury modulů, které implementují rozhodovací tabulky, je navržena metoda nezávislých fragmentů. V tomto případě je fragment považován za nezávislý, pokud jej lze vložit kamkoli do sekvence fragmentů modulu. Nezávislost umístění takového fragmentu je způsobena skutečností, že data v něm analyzovaná nejsou tvořena ve specifikované sekvenci fragmentů a data generovaná v nezávislém fragmentu nejsou analyzována v této sekvenci fragmentů. Proto mohou být nezávislé fragmenty prováděny paralelně (pseudoparalelně). Na Obr. 2 znázorněno možné možnosti implementace modulu se dvěma nezávislými fragmenty. V možnostech "a" a "b" jsou fragmenty přeskupeny bez narušení podstaty programu; ve verzi „c“ jsou fragmenty implementovány paralelně.


Obr.2. Možnosti implementace modulu s nezávislými fragmenty:

a) a b) - sekvenční implementace,

c) - paralelní provedení: dvojité vodorovná čára označuje paralelizaci programu, tlustá vodorovná čára označuje dokončení paralelních procesů.

Závislý fragment je takový, jehož umístění závisí na umístění jiného fragmentu (fragmentů) v modulu. Budeme rozlišovat mezi horními a dolními závislými fragmenty. Top-dependentní fragment musí být vždy umístěn pod nějakým fragmentem, ve kterém se tvoří proměnné použité v tomto (závislém) fragmentu. Fragment závislý na dně by měl být vždy umístěn nad fragmentem, který používá proměnné generované v tomto fragmentu. Dva závislé fragmenty, z nichž jeden je horní závislý na druhém a druhý závislý na prvním zespodu, se budou nazývat vzájemně závislé fragmenty. Nelze je zaměňovat a nelze je implementovat paralelně. Na Obr. 3 ukazuje příklad modulu se vzájemně závislými fragmenty. Mezi vzájemně závislými fragmenty mohou být další, závislé nebo nezávislé na nich. Obr.3. Modul se závislými fragmenty.

Pevný fragment budeme nazývat závislým fragmentem, jehož umístění v modulu je striktně definováno. Například v modulu pro rozpoznávání znaku zadaného z klávesnice by první měl být spodním závislým fragmentem přímo zadaného znaku. Operátory "start" a "end" modulu jsou pevné fragmenty.

Absolutně nezávislé fragmenty neexistují, už proto, že v každém modulu jsou zmíněny pevné fragmenty začátku a konce. Proto má nezávislý fragment obecně oblast možného umístění omezenou dvěma vzájemně závislými fragmenty. To znamená, že přesnější definice nezávislého fragmentu je následující: nezávislý s ohledem na dva pevné fragmenty je fragment, který může být umístěn kdekoli v sekvenci fragmentů ohraničených nad a pod uvedenými fixními fragmenty.

Kliknutím na tlačítko "Stáhnout archiv" si zdarma stáhnete potřebný soubor.
Před stažením daný soubor pamatujte si ty dobré eseje, kontrolu, semestrální práce, teze, články a další dokumenty, které jsou nevyzvednuté na vašem počítači. To je vaše práce, měla by se podílet na rozvoji společnosti a prospívat lidem. Najděte tato díla a odešlete je do znalostní báze.
My a všichni studenti, postgraduální studenti, mladí vědci, kteří využívají znalostní základnu při svém studiu a práci, vám budeme velmi vděční.

Chcete-li stáhnout archiv s dokumentem, zadejte do pole níže pětimístné číslo a klikněte na tlačítko "Stáhnout archiv"

Podobné dokumenty

    Sestavení listu výkazu "Prodejny" v Excelu 2013. Práce s rodinnými tabulkami Microsoft Office. Konstrukce výsečového grafu a histogramu, grafy. Vývoj postupů pro tabelování funkcí. Programování uživatelských funkcí ve VBA.

    semestrální práce, přidáno 04.03.2014

    balíček Microsoft kancelář. Tabulkový procesor MS Excel. Vytvoření obrazovky a zadávání dat. Vzorce a funkce. Vysvětlení uživatelských funkcí MS Excel. Fyzikální vyjádření problémů. Nastavení okrajových podmínek pro přípustné hodnoty proměnných.

    semestrální práce, přidáno 6.7.2015

    Vlastnosti použití vestavěných funkcí Microsoft Excel. Vytváření tabulek, jejich plnění daty, vykreslování grafů. Aplikace matematických vzorců pro provádění dotazů pomocí aplikačních balíčků. Technické požadavky do počítače.

    semestrální práce, přidáno 25.04.2013

    Organizace souborů a přístup. operace se soubory. Programování pomocí vestavěných I/O funkcí; lineární, větvené a cyklické výpočetní procesy využívající If-else, operátor výběru případu; pole a matice.

    semestrální práce, přidáno 24.05.2014

    Tabulkový procesor Microsoft Excel - aplikačního programu, určený k automatizaci procesu zpracování ekonomických informací prezentovaných ve formě tabulek; aplikace vzorců a funkcí pro provádění výpočtů; spiknutí.

    abstrakt, přidáno 02.03.2013

    Programování výpočetních procesů v jazyce FORTRAN pro zajištění interakce systému "Člověk-Výroba-Příroda". Použití polí k sestavení cyklů pro výpočet úrovně znečištění životního prostředí, nákladů na zpracování odpadu.

    semestrální práce, přidáno 30.05.2014

    Vytvoření aplikace, která bude vykreslovat grafy funkcí pro daný matematický výraz. Vývoj programu "Generátor matematických funkcí". Vytvoření průvodce funkcí pro zadání matematického výrazu, testování.

    práce, přidáno 16.02.2016

V programování se často vyskytují úlohy, které vyžadují vícenásobné provedení stejné skupiny programových příkazů s různými hodnotami jejich operandů. Takové procesy se nazývají cyklický nebo jednoduše cykly. Skupina cyklicky se opakujících výroků tvoří tzv tělo smyčky, který může být reprezentován jako jednoduchý nebo složený výraz. Bude voláno jediné provedení těla smyčky opakování.

Tělu smyčky v programu vždy předchází hlavička smyčky, obsahující notaci operátor smyčky a výraz určující (přímo nebo nepřímo) počet iterací. Všimněte si, že tělo cyklu je operandem operátoru cyklu, proto záhlaví a tělo cyklu tvoří nedělitelnou strukturální jednotku programu. Dále s použitím termínu příkaz smyčky“, budeme mít na paměti jak název, tak tělo smyčky.

K organizaci cyklů ve všech programovacích systémech existují specializované smyčkové příkazy, jehož použití ušetří programátorovi nutnost programovat cykly „ručně“. MathCAD podporuje dva druhy takových operátorů − cyklus s předurčením Pro (také zvaný smyčka s počítadlem) a smyčka s předpokladem Zatímco . Struktura těchto operátorů je popsána v tabulce 5.

5.4.1 Provozovatel Pro

Tento operátor by se měl používat v případech, kdy je počet iterací předem určen, tedy předem známý.

Záhlaví cyklu tohoto operátoru (pravý operand) obsahuje proměnnou volanou parametr(nebo pult) cyklus, a seznam hodnot toto nastavení. Počet prvků seznamu také určuje počet iterací - během každé iterace dostává parametr loop další hodnotu ze seznamu uvedeného v záhlaví.

Parametr cyklu má status interní proměnné programu a má všechny její vlastnosti (popsané v odstavci 5.1.4). Parametr smyčky se zpravidla používá na pravé straně výrazů, které jsou součástí těla smyčky, ačkoli není formálně zakázáno jej používat na levé straně výrazů (tedy nalevo od lokálního definiční operátor "f"). Je třeba si uvědomit, že pokud byl parametr změněn v těle smyčky, jeho změněná hodnota bude platná pouze do konce aktuální iterace, protože před další iterací bude parametr stále přijímat další hodnotu ze seznamu uvedeného v hlavička smyčky.

Formálně je povoleno parametr smyčky ve výrazech těla smyčky vůbec nepoužívat - v tomto případě seznam hodnot parametrů nehraje žádnou roli - podstatná je pouze délka tohoto seznamu, která určuje počet (možná nesmyslných) iterací.

Po dokončení poslední iterace se provede příkaz programu následující po příkazu loop. V tomto případě si proměnná použitá jako parametr dokončené smyčky zachová hodnotu, kterou měla v posledním skutečně dokončeném iterací[*]. Všimněte si, že tato hodnota se ne vždy shoduje s poslední hodnotou ze seznamu zadaného v záhlaví smyčky, protože je možné "předčasně" opustit smyčku, když je spuštěn operátor. Přestávka součástí těla smyčky.

Seznam hodnot parametr smyčky je zapsán v hlavičce smyčky za symbolem " Î “, označující členství v sadě (tento symbol není nutné zadávat „ručně“ – zobrazí se automaticky při zadání operátora Pro ). MathCAD umožňuje použití tři formy položky v tomto seznamu: přímý převod– prvky seznamu jsou explicitně specifikovány oddělené čárkami, parametr přijímá hodnoty ze seznamu v pořadí, v jakém se objevují; ve stylu rozpětí proměnné − prvky seznamu tvoří odpovídající aritmetické řady; pole– prvky seznamu postupně obdrží hodnoty prvků pole v pořadí jejich indexů (nejprve - sloupce zleva doprava, poté - řádky shora dolů).

Tři programy zobrazené na obrázku 21 ilustrují různá použití operátora Pro .

Program fakt(n) vypočítá faktoriál čísla n . Operátor smyčky v tomto programu je součástí složeného výrazu, který je zase operandem podmíněného operátoru v opačném případě. Parametr cyklu k získá hodnoty z celočíselné aritmetické řady.

Program Ch(V,N,p) zpracovává vstupní vektor PROTI , nahraďte ji hodnotou p ty prvky, jejichž indexy jsou dány prvky druhého vstupního vektoru N . V tomto příkladu seznam hodnot parametru smyčky i daný množinou vektorových prvků N . Všimněte si, že oba tyto programy provádějí řízení vstupních dat a blokují provádění hlavního algoritmu, pokud jsou argumenty skutečného programu zadány nesprávně.

Program L(M,z) , uvedené v příkladu proti ), je doplněn podrobným komentářem a nevyžaduje vysvětlení. Tento program ilustruje možnost použití více příkazů smyčky, z nichž jeden je součástí příkazů tělo další. Používání vnořené smyčky je typický trik používaný ke zpracování vícerozměrných polí.

Obrázek 21 - Příklady programovacích cyklů Pro


Obrázek 22 znázorňuje použití operátorů Přestávka a Pokračovat v těle smyčky. Tyto operátory jsou zpravidla samy operandy podmíněných operátorů. Li nebo v opačném případě .

Operátor Přestávka ("přerušit") přeruší provedení smyčky a předá řízení příkazu následujícímu po příkazu přerušené smyčky. Všimněte si, že pokud operátor Přestávka přerušen vnořená smyčka, provádění vnější smyčky bude pokračovat.

Operátor Pokračovat ("pokračovat") působí jinak - it přeruší pouze aktuální iteraci smyčky a přenese řízení do hlavičky tohoto cyklu, po kterém dojde k provedení cyklu pokračuje z další iterace (pokud ovšem nebyla přerušená iterace poslední).

Operátor Přestávka povoleno používat a mimo tělesa cyklu. V tomto případě se provádění celého podprogramu přeruší a vrátí se výsledek vyhodnocení posledního skutečně provedeného výrazu podprogramu.

Obrázek 22 - Příklady použití operátorů Přestávka a Pokračovat

Funkce SoučetN(V) sečte pouze ty prvky vektoru, které obsahují skalární data číselného typu, a ignoruje ostatní prvky. Funkce Inverzní (V) vygeneruje vektor, jehož prvky jsou převrácenými hodnotami odpovídajících prvků původního vektoru. V tomto případě, pokud další prvek obsahuje číslo "0" nebo není skalárem číselného typu, cyklus je přerušen. Všimněte si, že operátor Přestávka v posledním příkladu nepřeruší program, ale předá řízení operátorovi vrátit se bezprostředně za operátorem Pro .

5.4.3 Provozovatel Zatímco

Na rozdíl od operátora Pro , záhlaví výpisu Zatímco (v překladu - " sbohem") neobsahuje výslovné údaje o počtu iterací - obsahuje booleovský výraz, jehož hodnota se automaticky vypočítá před začátkem provedení každé následné iterace[†]. Dokud je tento výraz "pravda", iterace smyčky budou pokračovat; jakmile se po dokončení další iterace výraz stane "false", další iterace cyklu se neprovede a řízení převezme příkaz programu následující za příkazem Zatímco .

Je zřejmé, že pokud je do hlavičky smyčky umístěn stejně nepravdivý logický výraz, tato smyčka neprovede žádnou ze svých iterací, a pokud je tento výraz shodně pravdivý, bude smyčka nekonečná (poslední situace se nazývá smyčkování programy). Aby se takovým situacím předešlo, musí být do počtu operandů logického výrazu zahrnuta jedna nebo více proměnných, které mění své hodnoty. v těle smyčky tak, aby smyčka byla konečná (k zabránění smyčky lze použít i jiné prostředky - například nucený odchod ze smyčky operátorem Přestávka ).

Příklady použití operátora Zatímco jsou uvedeny na obrázku 23. Jsou uvedeny tři možnosti řešení stejného problému: každý z programů F0 , F1 a F2 vrátí index prvního z prvků původního vektoruPROTI překračující danou hodnotuz .

První program (např A ) přidá na počítadlo jedničku k v těle smyčky Zatímco až do dalšího k -tý prvek původního vektoru nepřekročí danou hodnotu z . Poté se cyklus ukončí a program vrátí poslední upravenou hodnotu proměnné k , což je řešení problému. Všimněte si, že na rozdíl od cyklu Pro , pult k zde je nutné zpracovat samostatnými příkazy: inicializujte (tj. přiřaďte mu počáteční hodnotu) před příkazem loop a změňte jeho hodnotu v těle smyčky.

Je snadné vidět, že možnost A ) programu má významnou nevýhodu: nebrání tomu, aby se program zacyklil v případě, kdy problém nemá řešení, tedy když parametr z přesahuje hodnotu největšího prvku vektoru PROTI . V tomto příkladu k zacyklení v takové situaci skutečně nedojde – to však není zásluha našeho programu, ale systému MathCAD, který řídí výstup vektorového indexu PROTI mimo rozsah a vygeneruje chybovou zprávu.

Tato možnost je osvobozena od tohoto nedostatku b ) programu, ve kterém tělo smyčky obsahuje dodatečnou kontrolu platnosti další hodnoty indexu a násilně přeruší smyčku s operátorem Přestávka v odpovídající situaci s vystavením textové zprávy.

Možná nejúčinnějším způsobem, jak tento problém vyřešit, je proti ), který operátor vůbec nepoužívá Zatímco . V tomto programu proměnná k slouží pouze k zachování "čistoty stylu" - k vyloučení zpracování parametru cyklu i mimo operátora Pro .

Obrázek 23 - Příklady programovacích cyklů Zatímco

"Programování cyklických výpočetních procesů"

Objektivní: zvládnutí metod sestavování algoritmů pro cyklické výpočetní procesy a organizování cyklických programů složité struktury.

Teoretická část

4.1.1. Cyklické algoritmy.

Smyčka je posloupnost akcí, které lze provést více než jednou.

Cyklický algoritmus je algoritmus, který obsahuje jeden nebo více cyklů.

Existují 3 typy cyklů:

Smyčka s předpokladem;

Smyčka s dodatečnou podmínkou;

Cyklus s počítadlem (cyklus počítání).

Pokud je provedení smyčky spojeno s nějakou logickou podmínkou, pak se použijí smyčky s předběžnou podmínkou nebo následnou podmínkou.

Počítací smyčky představují třídu, ve které se provedení těla smyčky musí opakovat předem stanovený počet opakování.

Bloková schémata cyklických algoritmů vypadají takto:

1. Smyčka s počítadlem.

2. Smyčka s předběžnou podmínkou. 3. Smyčka s postcondition.

4.1.2 Příkazy smyčky v programovacím jazyce C++.

V C++ existuje odpovídající operátor pro každý druh smyčky:

while cyklus (s předběžnou podmínkou);

smyčka do...while (s postcondition);

Pro smyčku (počítatelné).

1. Operátor smyčky jako while

Záznamový formulář:

while (podmínka) prohlášení;

kde: (podmínka) – logické vyjádření;

příkaz - příkaz nebo tělo cyklu, který je v cyklu proveden.

Pokud je tělo smyčky složený operátor, pak musí být uzavřen v hranatých závorkách (...):

zatímco (podmínka)

skupina operátorů

Schéma, jak takový cyklus funguje: dokud je podmínka pravdivá (true), tělo cyklu se provede a podmínka se znovu zkontroluje atd. Když se podmínka stane nepravdivou, smyčka se ukončí.

2. Operátor smyčky jako... zatímco

Záznamový formulář:

operátor;

zatímco (podmínka);

Schéma fungování takového cyklu: nejprve se provede operátor, poté se zkontroluje podmínka, pokud je podmínka pravdivá, provede se operátor a znovu se zkontroluje podmínka atd. Když se podmínka stane nepravdivou, smyčka se ukončí.

Pokud je tělo smyčky složený příkaz, musí být, stejně jako u smyčky s předběžnou podmínkou, uzavřeno v závorkách operátoru (...):



skupina operátorů

zatímco (podmínka);

3. Operátor smyčky jako pro

Záznamový formulář:

operátor;

A je počáteční výraz, který určuje počáteční hodnoty parametr cyklu a v případě potřeby počáteční hodnoty dalších parametrů. Například:

i=0, x=0,5, p=1, s=0

B je podmíněný výraz, který kontroluje podmínku pro pokračování smyčky. Například:

C je inkrementační výraz, který inkrementuje parametr smyčky a v případě potřeby další parametry, pak se zapíší jako seznam. Například: x+=0,1, i++

4.1.3 Příklad sestavení algoritmu a programu v C++ pro cyklický výpočetní proces.

Vypočítejte hodnotu výrazu:

b- počáteční hodnota, její hodnota se zadává z klávesnice a nemění se;

A– změny v rozsahu s krokem 1;

y– výsledek, jeho hodnoty se zobrazí na obrazovce.

Na základě podmínky přiřazení je proměnná a celé číslo, takže ji lze použít jako čítač v cyklu počítání.

Blokové schéma algoritmu pro řešení tohoto problému pomocí počítacího cyklu je následující:

#zahrnout

#zahrnout

#zahrnout

printf("Zadejte b: ");

scanf("%f",&b);

printf("a y\n");

pro (a=0;a<=10;a++)

printf("%3d",a);

printf("%8.2f\n",y);

y=(a-b)/sqrt(a);

printf("%8.2f\n",y);

Blokové schéma algoritmu pro řešení tohoto problému pomocí smyčky s podmínkou je následující:

Text C++ programu odpovídající tomuto algoritmu je následující:

#zahrnout

#zahrnout

#zahrnout

printf("Zadejte b: ");

scanf("%f",&b);

printf("a y\n");

printf("%3d",a);

printf("%8.2f\n",y);

y=(a-b)/sqrt(a);

printf("%8.2f\n",y);

else printf(" y neexistuje\n");

Blokové schéma algoritmu pro řešení tohoto problému pomocí smyčky s postpodmínkou je následující:

Text C++ programu odpovídající tomuto algoritmu je následující:

#zahrnout

#zahrnout

#zahrnout

printf("Zadejte b: ");

scanf("%f",&b);

printf("a y\n");

printf("%3d",a);

printf("%8.2f\n",y);

y=(a-b)/sqrt(a);

printf("%8.2f\n",y);

else printf(" y neexistuje\n");

zatímco (a<=10);

Praktická část

4.2.1 Požadavky na výkon práce:

Dokončete úkol z laboratorní práce č. 3 pro rozsah hodnot jedné z proměnných. Proměnná proměnná, její rozsah změny a krok jsou uvedeny v tabulce 4. Sestavte vývojové diagramy algoritmů a programů pro dva typy cyklů uvedené v jednotlivé úloze (tabulka 4).

Uspořádejte výstup výsledků tak, aby byly jasně rozlišeny hodnoty parametru proměnné a pro každou jeho konkrétní hodnotu byly zobrazeny hodnoty výsledku (tři proměnné ze sloupce 2 tabulky 3). ve formě tabulky.

Pořadí práce.

1. Proveďte analýzu úkolu, formulujte problémové prohlášení.

2. Vytvořte bloková schémata algoritmů.

3. Napište program v C++. Poskytněte zadávání počátečních dat z klávesnice a zobrazení výsledků na obrazovce.

4. Zkontrolujte výkon programu na různých počátečních datech.

5. Proveďte analýzu výsledků.

Varianty jednotlivých úkolů.

Varianty jednotlivých úloh se vybírají z tabulky 4 podle čísla studenta v seznamu skupin v deníku učitele.

Tabulka 4. Varianty jednotlivých úloh

č. p / p měnitelná proměnná Typy smyček
10 ≤ a ≤ 10,Δ a=1
-4 ≤ d ≤ 4, Δ d = 0,5
-6 ≤ x ≤ 3, Δ x = 0,5
0 ≤ b ≤ 3 0, Δ b = 1,5 1. S předpokladem, 2. Počitatelné
-15 ≤ j ≤ 1 0, Δ j = 0,5 1. S předběžnou podmínkou, 2. S dodatečnou podmínkou
5 ≤ e ≤ 35,Δ e = 2 1. Počitatelné, 2. S dodatečnou podmínkou
-5 ≤ m ≤ 15,Δ m = 1 1. S předpokladem, 2. Počitatelné
1 ≤ c ≤ 70,Δ c=3 1. S předběžnou podmínkou, 2. S dodatečnou podmínkou
1,5 ≤ c ≤ 15,Δ c = 0,5 1. Počitatelné, 2. S dodatečnou podmínkou
-8 ≤ b ≤ 28,Δ b = 2 1. S předpokladem, 2. Počitatelné
-4,5 ≤ x ≤ 11,5,Δ x = 0,5 1. S předběžnou podmínkou, 2. S dodatečnou podmínkou
-7 ≤ k ≤ 2,Δ k = 0,3 1. Počitatelné, 2. S dodatečnou podmínkou
-1 ≤ m ≤ 21,Δ m = 1 1. S předpokladem, 2. Počitatelné
-2 ≤ e ≤ 34,Δ e = 2 1. S předběžnou podmínkou, 2. S dodatečnou podmínkou
-11 ≤ c ≤ 23,Δ c = 2 1. Počitatelné, 2. S dodatečnou podmínkou
-13 ≤ p ≤ 50,Δ p=3 1. S předpokladem, 2. Počitatelné
3,3 ≤ b ≤ 9,3,Δ b = 0,3 1. S předběžnou podmínkou, 2. S dodatečnou podmínkou
3,5 ≤ y ≤ 12,3,Δ y=0,4 1. Počitatelné, 2. S dodatečnou podmínkou
-7,5 ≤ a ≤ 5,7,Δ a = 0,6 1. S předpokladem, 2. Počitatelné
-1,5 ≤ h ≤ 1,2,Δ h = 0,1 1. S předběžnou podmínkou, 2. S dodatečnou podmínkou
0 ≤ h ≤ 10,Δ h = 0,5 1. Počitatelné, 2. S dodatečnou podmínkou
-15 ≤ b ≤ 15, Δ b=2 1. S předpokladem, 2. Počitatelné
-7 ≤ l ≤ 3, Δ l = 0,5 1. S předběžnou podmínkou, 2. S dodatečnou podmínkou
-5,5 ≤ b ≤ 6,5, Δ b = 0,5 1. Počitatelné, 2. S dodatečnou podmínkou
1 ≤ k ≤ 9, Δ k = 0,4 1. S předpokladem, 2. Počitatelné
0 ≤ b ≤ 6,9,Δ b = 0,3 1. S předběžnou podmínkou, 2. S dodatečnou podmínkou
-3 ≤ v ≤ 9,Δ v = 0,6 1. Počitatelné, 2. S dodatečnou podmínkou
-2 ≤ p ≤ 2,6,Δ p = 0,2 1. S předpokladem, 2. Počitatelné

4.3 Kontrolní otázky a praktické úkoly:

1. Jak funguje příkaz while?

2. Jak funguje příkaz do ... while?

3. Jak funguje příkaz for?

4. Podtrhněte příkazy v programu, které tvoří smyčku.

5. Jaký je rozdíl mezi výroky while a do ... while?

6. Nahraďte v programu jeden operátor smyčky jiným.

V programování se často setkáváme s úlohami, ve kterých jsou procesy, které se opakují. Proto musíme znát a být schopni používat takový koncept jako „ cyklické výpočetní procesy».

Pro začínajícího programátora bude snadné je pochopit na zobecněném příkladu. Kromě toho je důležité pochopit, že ve všech programovacích jazycích existují způsoby, jak implementovat cykly.

Co je cyklus v programování?

Cyklus - v programování se tomu říká opakované opakování stejných akcí nebo výpočtů, ale podle stejných závislostí s různými hodnotami proměnných.

S pojmem cyklus 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ý koloběh našeho života.

A nyní zvažte obecná pravidla a koncepty používané ve výpočetních cyklech.

Etapy cyklického procesu

Obecně by měl být cyklus realizován ve 4 fázích:
  • Fáze 1 - příprava cyklu (inicializace).
    Nastavení počáteční hodnoty pro parametr a proměnnou smyčky.
    Parametr cyklu- tato hodnota, která počítá počet kroků cyklu (počet opakování cyklu).
    smyčková proměnná je hodnota, která mění svou hodnotu v každé fázi cyklu.
    Inicializace je přiřazení počátečních hodnot parametru a proměnné cyklu.
  • Fáze 2 - tělo cyklu.
    Jedná se o vícenásobné opakování akce v cyklu nebo výpočtech na stejných matematických závislostech s různými hodnotami proměnných.
  • 3. fáze - úprava (změna) cyklu.
  • Fáze 4 - řízení cyklu.
    Jedná se o test podmínky pro pokračování nebo začátek cyklu.
V pascalu jsou 3 smyčkové příkazy, které mohou implementovat jakýkoli algoritmicky - cyklická struktura :
  1. Příkaz smyčky s parametrem
  2. Příkaz smyčky s předběžnou podmínkou
  3. Příkaz smyčky s postcondition
Podrobně se na ně podíváme v dalším článku.