Počítače Windows internet

Zápis programového kódu pomocou procedúr. Zápis programovacieho kódu pomocou procedúr Obmedzenia operátorov

Ako prvý operand - "výraz1" - možno použiť ľubovoľný výraz, ktorého výsledkom je hodnota typu bool. Ak je výsledok pravda , potom sa vykoná operátor špecifikovaný druhým operandom, teda "výraz2".

Ak je prvý operand spárovaný falošné , potom sa vykoná tretí operand - "výraz3". Druhý a tretí operand, teda výraz2 a výraz3, musia vrátiť hodnoty rovnakého typu a nesmú byť neplatné. Výsledkom vykonania podmieneného príkazu je výsledok „výraz2“ alebo výsledok „výraz3“ v závislosti od výsledku „výraz1“.

Obmedzenia operátora

Operátor založený na hodnote "výraz1" musí vrátiť jednu z dvoch hodnôt - buď "výraz2" alebo "výraz3". Pre tieto výrazy existuje niekoľko obmedzení:

  1. Nemôžete miešať používateľom definovaný typ s jednoduchým typom alebo enumeráciou. Je povolené použiť NULL pre ukazovateľ.
  2. Ak sú typy hodnôt jednoduché, typ operátora bude maximálny typ (pozri Typové obsadenie).
  3. Ak je jedna z hodnôt typu enumerácie a druhá je numerického typu, potom je enumerácia nahradená int a platí druhé pravidlo.
  4. Ak sú obe hodnoty hodnotami enumerácie, ich typy musia byť rovnaké a typ operátora bude enumerácia.

Obmedzenia pre typy definované používateľom (triedy alebo štruktúry):

  1. typy musia byť rovnaké alebo jeden musí dediť od druhého.
  2. ak typy nie sú rovnaké (dedičnosť), potom sa dieťa implicitne prehodí na rodiča, to znamená, že typ operátora bude typ rodiča.
  3. nemôžete kombinovať objekt a ukazovateľ - buď oba výrazy sú objekty alebo ukazovatele. Je povolené použiť NULL pre ukazovateľ.

Poznámka

Pri používaní podmieneného operátora ako argumentu preťaženej funkcie buďte opatrní, pretože typ výsledku podmieneného operátora je určený v čase kompilácie programu. A tento typ je definovaný ako väčší typ z typov "výraz2" a "výraz3".

Príklad:

void func (double d) (Print ("double argument:", d);)
void func (string s) (Print ("string argument:", s);)

bool Výraz1 = true;
dvojitý výraz2 = M_PI;
reťazec Výraz3 = "3,1415926";

void OnStart ()
{
func (Výraz2);
func (Výraz3);

func (Výraz 1? Výraz 2: Výraz 3);
func (! Výraz1? Výraz2: Výraz3);// dostane varovanie kompilátora o explicitnom pretypovaní na typ reťazca
}

// Výsledok:
// dvojitý argument: 3,141592653589793

// argument reťazca: 3,141592653589793
// argument reťazca: 3,1415926

"Tlačiareň na tlač plastových kariet" - Možnosť umiestniť na jednu plastovú kartu dvakrát viac informácií. Cena. Tlačiareň na tlač plastové karty... ZEBRA P110i / P120i. Prehľad zoradiť sa... Ekonomické plnofarebné tlačiarne plastových kariet. Vysoký výkon Široká škála voliteľných kódovačov.

"PC Periférne zariadenia" - Periférne zariadenia. Tlačiarne. Nahrávanie. Digitálne fotoaparáty. Hierarchia konektivity. Video adaptéry. Klasifikácia PU. Univerzálna sériová zbernica. CD-R. Možnosti výberu. Vstavaný blesk. priekopníkov. Príroda. Modem. Video terminál. Skenery. PC periférie. Klasifikácia myšovitých.

"Prostriedky vstupu a výstupu informácií" - Skener. Plotter. CRT. Tlačiarne. Klávesnica. Digitálne fotoaparáty a fotoaparáty. Funkcie. Univerzálne vstupné zariadenie. Zariadenia na vstup a výstup informácií. Grafický tablet... myš.

"Zariadenia na výstup informácií" - Počítačové zariadenie. Čím vyššie je rozlíšenie monitora, tým vyššia je kvalita obrazu. Nevýhody atramentových tlačiarní: Veľká spotreba atramentu; Vysoké náklady na tankovanie. Ploché monitory z tekutých kryštálov (LCD) sú kompaktné a nevyžarujú žiadne žiarenie. Zariadenia na výstup informácií. Monitor je univerzálne zariadenie na výstup informácií.

"Tlačiarne" - Miestne. Fixačná jednotka, fixačná jednotka, fixačná jednotka - jednotka, v ktorej sa toner zapeká do papiera. laser. Matrica (ihla). Postupom času strácajú svoje vlastnosti a podliehajú pravidelnej výmene odborníkom. Atramentová. sieť. Zmenené používateľom. Charakteristika tlačiarní. Vývojka, nosič, vývojka - najmenšie kovové čiastočky, ktoré prenášajú toner na fotorolku.

"I / O Subsystém" - bod zlomu. Tabuľky. Nepretržité umiestňovanie. Atribút. Povolenia súboru. Prepojený zoznam indexov. Údaje. Fyzická organizácia. Priamy prístup do pamäte. Indexovaný sekvenčný súbor. Montáž. I/O riadené prerušeniami. Prístupové práva k adresáru. Organizácia paralelnej práce.

Celkovo je 27 prezentácií

Programový kód je znázornený na obr. 4.3-9.

Option Strict On Option Explicit On Imports System.Math Public Class Form1 "Funkcia na zadanie súradníc bodu do TextBox Function vvod (ByVal T As TextBox) As Single Return CSng (Val (T.Text)) End Function" Postup pre zobrazenie výsledku v TextBox Sub vivod (ByVal Z As Single, ByVal T As TextBox) T.Text = CStr (Z) End Sub "Funkcia na výpočet dĺžky segmentu podľa súradníc dvoch bodov Verejná funkcia Dĺžka segmentu (ByVal x1 Ako Single, _ ByVal y1 As Single, ByVal x2 As Single, _ ByVal y2 As Single) As Single Return CSng (Sqrt ((x2 - x1) ^ 2 + (y2 - y1) ^ 2)) End Function " Postup na výpočet obvodu a plochy trojuholníka Sub PS (ByVal x1 As Single, ByVal y1 As Single, _ ByVal x2 As Single, ByVal y2 As Single, _ ByVal x3 As Single, ByVal y3 As Single, _ ByRef P Ako Single, ByRef S As Single) Dim A, B, C, Pp As Single A = Dĺžka segmentu (x1 , y1, x2, y2) "Zavolajte funkciu odpočtu pre segment B = Dĺžka segmentu (x2, y2, x3, y3 ) C = Dĺžka segmentu (x3, y3, x1, y1) P = (A + B + C): Pp = P / 2 S = CSng ( Sqrt (Pp * (Pp - A) * (Pp - B) * (Pp - C))) End Sub "Postup spracovania udalosti stlačenia tlačidla Button1 Private Sub Button1_Click (ByVal odosielateľ As System.Object, _ ByVal e Ako System. EventArgs) Handles Button1. Kliknite Dim x1 As Single, x2 As Single, x3 As Single Dim y1 As Single, y2 As Single, y3 As Single Dim Per As Single, Plo As Single x1 = vvod (TextBox1): x2 = vvod (TextBox2 ): x3 = vvod (TextBox3) y1 = vvod (TextBox6): y2 = vvod (TextBox7): y3 = vvod (TextBox8) PS (x1, y1, x2, y2, x3, y3, Per, Plo) vivod (Per, TextBox4): vivod (Plo, TextBox5) End Sub Private Sub Button2_Click (ByVal odosielateľ As System.Object, _ ByVal e As System.EventArgs) Handles Button2.Click End End Sub End Class

Spustenie aplikácie a získanie výsledkov

Výsledok je znázornený na obr. 4.3-10.

Dôkaz o správnosti výsledku

A =
= 2,82843 B =
= 2

C = = 2 P = A + B + C = 6,828427; Pp = P/2 = 3,414213 S = = 2


Kontrolné otázky k téme

„Štruktúra programov, modulov a postupov VB.

Programovacie nástroje pre algoritmy lineárnej štruktúry "

1. Čo je to matematický model?

2. Aké sú hlavné kroky pri riešení problémov na počítači?

3. Aké fázy riešenia počítačových problémov sa vykonávajú bez účasti počítača?

4. Čo sa volá matematický model objekt alebo jav?

5. Aké sú postupné kroky procesu vývoja programu?

6. Čo sa nazýva algoritmus?

7. Aké sú hlavné vlastnosti algoritmu?

8. Aké sú spôsoby opisu algoritmov?

9. Aké grafické symboly sa zvyčajne používajú na zobrazenie v diagramoch algoritmov?

10. Ako funguje tlmočník?

11. Ako funguje kompilátor?

12. Aký algoritmus sa nazýva lineárny?

13. Aký algoritmus sa nazýva kruhový?

14. Aký algoritmus sa nazýva forking?

15. Aký je rozdiel medzi prenosom výsledkov vykonávania funkcií a procedúr?

16. Dokazuje získanie hodnoverného výsledku, že program je správny?

17. Aké chyby môžu zostať nezistené, ak program neskontrolujete (neprezriete, neposuniete sa)?

18. Ako sa testovanie programu líši od jeho ladenia?

19. Dá sa testovanie použiť na preukázanie správnosti programu?

20. V ktorej fáze programu sa počítajú výsledky benchmarkového testu?

21. Aké sú hlavné fázy testovacieho procesu?

22. Aký je rozdiel medzi syntaktickými chybami a sémantickými chybami?

23. Čo naznačuje nedostatok správ o chybách syntaxe zo stroja?

24. Aké druhy chýb prekladateľ nedokáže odhaliť?

25. čo je program?

26. V akom štádiu prebieha vyhľadávanie a odstraňovanie chýb v programe?

27. Čo je programovací systém?

28. Čo je to postup?

29. Aké sú výhody programu s procedúrami?

30. Aké procedurálne programovacie nástroje sú dostupné v jazyku VB?

31. Ako prebieha výmena dát medzi jednotlivými procedúrami programu?

32. Aké sú skutočné a formálne parametre?

33. Ako odovzdať ako parameter: konštantu, premennú, výraz?

34. Ako sa používajú globálne premenné?

35. Ako sa používajú lokálne premenné?

36. Aké sú formálne parametre?

37. Aké sú skutočné parametre?

38. Čo sa stane, keď sa zavolá postup?

39. Ako môžu byť parametre odovzdané procedúre?

40. Aké parametre odovzdáva hodnota?

41. Aké parametre sa prenášajú na adresu?

42. Čo sú to nástroje procedurálneho programovania?

43. Aký je výsledok vykonania funkcie?

44. Ako deklarujete jednotlivé premenné, aby boli vo vnútri funkcie lokálne?

45. Ktorý operátor sa používa na predčasné ukončenie funkcie?

46. Čo sa sleduje pri volaní funkcií a procedúr?

47. Ako deklarujete formálne parametre na odovzdávanie premenného parametra hodnotou?

48. Ako deklarujete formálne parametre na odovzdanie variabilného parametra adresou?

49. Ako sa volá funkčná procedúra z volajúceho programu?

50. Čo môže byť výsledkom postupu?

51. Ktorý operátor sa používa na predčasné ukončenie postupu?

52. Kde možno nájsť popisy funkcií a postupov?

53. Kde bude dostupná premenná deklarovaná pomocou verejného výkazu?

54. Kde môže sídliť súkromný operátor?

55. Čo je komentár a pravidlá jeho písania?

56. Aký význam majú premenné na začiatku programu?

57. Prečo sú postupy a funkcie opísané (definované)?

58. Ako sa nazývajú procedúry?

59. Ako sa nazývajú funkcie?


Podobné informácie.


V predchádzajúcom odseku sme sa zoznámili so štruktúrou programu v jazyku Pascal, naučili sme sa popisovať dáta a zvážili sme operátor priradenia. To stačí na napísanie programu na konverziu údajov. Ale výsledok týchto premien nebude pre nás viditeľný.

Na výstup údajov z Náhodný vstup do pamäťe výstupný operátor zápis sa používa na obrazovke monitora:

Tu je výstupný zoznam umiestnený v zátvorkách - zoznam výrazov, ktorých hodnoty sú vytlačené. Môžu to byť číselné, symbolické a logické výrazy vrátane premenných a konštánt.

Ľubovoľná množina znakov uzavretých v apostrofoch sa považuje za reťazcovú konštantu. Reťazcová konštanta môže obsahovať ľubovoľné znaky, ktoré napíšete na klávesnici.

Príklad... Príkaz write ("s =", s) sa vykoná takto:

  1. na obrazovke sa zobrazia znaky uzavreté v apostrofoch: s =
  2. na obrazovke sa zobrazí hodnota premennej uloženej v pamäťovom mieste s názvom s.

Ak je hodnota premennej s 15 a má celočíselný typ, na obrazovke sa zobrazí: s = 15.

Ak je hodnota premennej s 15, ale má skutočný typ, na obrazovke sa zobrazí: s = l.5E + 01.

Keď sa vykoná výstupný príkaz, všetky položky vo výstupnom zozname sa vytlačia jedna po druhej. Takže v dôsledku operácie zapisovacieho (1, 20, 300) operátora sa na obrazovke zobrazí postupnosť číslic 120300, ktorú budeme vnímať ako číslo 120300, a nie ako tri samostatné číselné konštanty. . Výstupné údaje môžete urobiť lepšie čitateľnými rôznymi spôsobmi:

Výstupný formát je celé číslo uvedené za dvojbodkou, ktoré určuje, koľko pozícií na obrazovke by mala zaberať zobrazená hodnota. Ak je v čísle menej číslic, než je preň rezervovaných pozícií na obrazovke, voľné pozície sú doplnené medzerami naľavo od čísla. Ak je číslo uvedené vo výstupnom formáte za dvojbodkou menšie, ako je potrebné, potom sa automaticky zvýši na požadované minimum.

Na výstup reálneho čísla vo formáte s pevnou desatinnou čiarkou sú vo výstupnom zozname pre každý výraz špecifikované dva parametre:

  1. celkový počet pozícií pridelených pre dané číslo;
  2. počet pozícií v zlomkovej časti čísla.

Keď sa vykoná nový príkaz write, výstup pokračuje na rovnakom riadku. Ak sa chcete presunúť na nový riadok, použite príkaz writeln. Medzi príkazmi write a writeln nie sú žiadne ďalšie rozdiely.

4.2.2. Prvý program Pascal

Pomocou uvažovaných operátorov zostavíme program, ktorý vypočíta obvod a plochu kruhu s polomerom 5,4 cm.

Počiatočným údajom v tomto probléme je polomer: r - 5,4 cm. Výsledkom programu by mali byť hodnoty C - obvod a S - plocha kruhu. С, S a r - hodnoty skutočného typu.

Počiatočné údaje a výsledky sú spojené vzťahmi známymi z kurzu matematiky: С = 2πr, S = πr +. Program, ktorý implementuje výpočty pomocou týchto vzorcov, bude vyzerať takto:

Tento program je správny a rieši problém. Spustením na vykonanie získate nasledujúci výsledok:

Napriek tomu má program, ktorý sme zostavili, významnú nevýhodu: nájde obvod a plochu kruhu pre jednu hodnotu polomeru (5,4 cm).

Ak chcete vypočítať obvod a plochu kruhu pre inú hodnotu polomeru, budete musieť vykonať zmeny priamo v texte programu, konkrétne zmeniť operátor priradenia. Vykonávanie zmien v existujúcom programe nie je prinajmenšom vždy pohodlné (napríklad, keď je program veľký a existuje veľa operátorov priradenia). Nižšie sa zoznámite s operátorom, ktorý vám umožňuje zadávať počiatočné údaje počas prevádzky programu bez toho, aby ste museli meniť text programu.

4.2.3. Zadávanie údajov z klávesnice

Operátor čítania sa používa na zadávanie hodnôt premenných do pamäte RAM:

Po vykonaní príkazu na prečítanie sa počítač prepne do pohotovostného režimu údajov: používateľ musí zadať údaje z klávesnice a stlačiť kláves Enter. Je možné zadať niekoľko hodnôt premenných číselných typov oddelených medzerami alebo čiarkami. Pri zadávaní premenných znakov sa medzera a čiarka považujú za symboly, takže ich nemožno vložiť.

Prvá užívateľom zadaná hodnota premennej je umiestnená v pamäťovej bunke, ktorej názov sa nachádza na prvom mieste v zozname vstupov atď. Typy vstupných hodnôt (vstupný tok) preto musia zodpovedať typom premenných. špecifikované v časti deklarácie premennej.

Príklad... Nechať byť

var i, j: celé číslo; x: skutočný; a: char;

Priraďme premenné i, j, x a hodnoty 1, 0, 2,5 a "A". Na tento účel použijeme operátor čítania (i, j, x, a) a usporiadame vstupný tok jedným z nasledujúcich spôsobov:

Tu sme použili nielen rôzne oddeľovače (medzera, čiarka), ale aj reprezentovali vstupný tok ako jeden, dva a štyri riadky.

Na zadávanie údajov z klávesnice môžete použiť aj príkaz readln, ktorý sa od príkazu read líši len tým, že po jeho vykonaní sa kurzor presunie na nový riadok.

Poďme vylepšiť program n_1 tak, že v ňom zorganizujeme vstup dát pomocou príkazu read. A aby používateľ vedel, na čo je program určený a pochopil, akú akciu od neho počítač očakáva, zobrazíme príslušné textové správy pomocou príkazu writeln:

Výsledok vylepšeného programu:

Teraz náš program dokáže vypočítať obvod a plochu kruhu pre akúkoľvek hodnotu r. Inými slovami, nerieši jediný problém, ale celú triedu problémov. Okrem toho program prehľadne a pohodlne organizuje zadávanie počiatočných údajov a výstup výsledkov. To zaisťuje priateľské používateľské rozhranie.

Najdôležitejšia vec

Vstupné operátory read a readln sa používajú na zadávanie hodnôt premenných do pamäte RAM.

Výstupné príkazy write a writeln sa používajú na výstup údajov z RAM na obrazovku monitora.

Vstup počiatočných údajov a výstup výsledkov by mali byť organizované jasne a pohodlne; to zaisťuje priateľské používateľské rozhranie.

Otázky a úlohy

  1. Napíšte príkaz, ktorý poskytne vstup hodnoty premennej summa počas behu programu.
  2. Celočíselným premenným i, y, k musia byť priradené hodnoty 10, 20 a 30. Napíšte vstupný príkaz zodpovedajúci vstupnému toku:
      a) 20 10 30
      b) 30 20 10
      c) 10 30 20
  3. Popíšte premenné potrebné na výpočet plochy trojuholníka pozdĺž jeho troch strán a zapíšte operátor, ktorý poskytuje potrebné vstupné údaje.
  4. Aký je výsledok vyhlásenia?
      a) napísať (a)
      b) napíšte (1 a)
      c) napíšte (1 a = 1, a)
  5. Aký typ je premenná f, ak sa po vykonaní príkazu write (f) zobrazilo nasledujúce číslo?
      a) 125
      b) 1,25E + 2
  6. Ako môžete zobraziť skutočné číslo vo formáte s pevnou desatinnou čiarkou?
  7. Napíšte operátory pre zadanie dvoch čísel a ich tlač v opačnom poradí.
  8. Uvádza sa fragment programu:

    prečítaj); čítaj (b); c = a + b; písať (a, b); napísať (y)

    Zjednodušte to znížením počtu vstupných a výstupných príkazov.

  9. Uvádza sa fragment programu:

    a: = 10; b: = a + l: a: = b-a; napísať (a, b)

    Aké čísla sa zobrazia na obrazovke počítača?

  10. Napíšte program, ktorý vypočíta plochu a obvod obdĺžnika pozdĺž jeho dvoch strán.