Počítače Okna Internet

Zápis programového kódu pomocí procedur. Zápis programovacího kódu pomocí procedur Omezení operátora

Jako první operand - "výraz1" - lze použít libovolný výraz, jehož výsledkem je hodnota typu bool. Pokud je výsledek skutečný , pak se provede operátor určený druhým operandem, tedy "výraz2".

Pokud je první operand spárován Nepravdivé , pak se provede třetí operand - "výraz3". Druhý a třetí operand, tedy výraz2 a výraz3, musí vracet hodnoty stejného typu a nesmí být neplatné. Výsledkem provedení podmíněného příkazu je výsledek "výraz2" nebo výsledek "výraz3", v závislosti na výsledku "výraz1".

Omezení operátora

Operátor založený na hodnotě "výraz1" musí vrátit jednu ze dvou hodnot - buď "výraz2" nebo "výraz3". Pro tyto výrazy existuje řada omezení:

  1. Uživatelsky definovaný typ nelze kombinovat s jednoduchým typem nebo výčtem. Pro ukazatel je povoleno použít hodnotu NULL.
  2. Pokud jsou typy hodnot jednoduché, pak typ operátora bude maximální typ (viz Typové obsazení).
  3. Pokud je jedna z hodnot typu výčtu a druhá je číselného typu, pak je výčet nahrazen int a platí druhé pravidlo.
  4. Pokud jsou obě hodnoty hodnotami výčtu, jejich typy musí být stejné a typ operátora bude výčet.

Omezení pro uživatelem definované typy (třídy nebo struktury):

  1. typy musí být stejné nebo jeden musí dědit od druhého.
  2. pokud typy nejsou stejné (dědičnost), potom je potomek implicitně přetypován na rodiče, to znamená, že typem operátoru bude typ rodiče.
  3. nelze kombinovat objekt a ukazatel – oba výrazy jsou objekty nebo ukazatele. Pro ukazatel je povoleno použít hodnotu NULL.

Poznámka

Při používání podmíněného operátoru jako argumentu přetížené funkce buďte opatrní, protože typ výsledku podmíněného operátoru je určen v době kompilace programu. A tento typ je definován jako větší typ z typů "výraz2" a "výraz3".

Příklad:

void func (dvojité d) (Tisk ("dvojitý argument:", d);)
void func (řetězec s) (Tisk ("string argument:", s);)

bool Výraz1 = true;
dvojitý výraz2 = M_PI;
řetězec Výraz3 = "3,1415926";

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

func (Výraz 1? Výraz2: Výraz3);
func (! Výraz1? Výraz2: Výraz3);// získat upozornění kompilátoru na explicitní přetypování na typ string
}

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

// argument řetězce: 3.141592653589793
// argument řetězce: 3.1415926

"Tiskárna pro tisk plastových karet" - Možnost umístit na jednu plastovou kartu dvakrát více informací. Cena. Tiskárna pro tisk plastové karty... ZEBRA P110i / P120i. Přehled sestava... Ekonomické plnobarevné tiskárny plastových karet. Vysoký výkon Široká řada volitelných kodérů.

"PC Peripherals" - periferní zařízení. Tiskárny. Záznam. Digitální fotoaparáty. Hierarchie připojení. Video adaptéry. Klasifikace PU. Universal Serial Bus. CD-R. Možnosti výběru. Vestavěný blesk. Pionýři. Příroda. Modem. Video terminál. Skenery. PC periferie. Klasifikace myších podobných.

"Prostředky vstupu a výstupu informací" - Skener. Plotter. CRT. Tiskárny. Klávesnice. Digitální fotoaparáty a fotoaparáty. Funkce. Univerzální vstupní zařízení. Informační vstupní a výstupní zařízení. Grafický tablet... Myš.

"Zařízení pro výstup informací" - Počítačové zařízení. Čím vyšší je rozlišení monitoru, tím vyšší je kvalita obrazu. Nevýhody inkoustových tiskáren: Velká spotřeba inkoustu; Vysoké náklady na tankování. Ploché monitory s tekutými krystaly (LCD) jsou kompaktní a nevyzařují žádné záření. Zařízení pro výstup informací. Monitor je univerzální zařízení pro výstup informací.

"Tiskárny" - Místní. Fixační jednotka, fixační jednotka, fixační jednotka - jednotka, ve které se toner zapéká do papíru. Laser. Matrice (jehla). Postupem času ztrácejí své vlastnosti a podléhají pravidelné výměně odborníkem. Inkoustové. Síť. Změněno uživatelem. Charakteristika tiskáren. Vývojka, nosič, vývojka - nejmenší kovové částice, které přenášejí toner na fotorole.

"I/O Subsystém" - Bod zlomu. Tabulky. Průběžné umístění. Atribut. Oprávnění k souboru. Propojený seznam indexů. Data. Fyzická organizace. Přímý přístup do paměti. Indexovaný sekvenční soubor. Montáž. I/O ovládané přerušeními. Oprávnění přístupu k adresáři. Organizace paralelní práce.

Celkem je 27 prezentací

Kód programu je znázorněn na Obr. 4.3-9.

Option Strict On Option Explicit On Imports System.Math Public Class Form1 "Funkce pro zadání souřadnic bodu do TextBox Function vvod (ByVal T As TextBox) As Single Return CSng (Val (T.Text)) End Function" Postup pro zobrazení výsledku v TextBox Sub vivod (ByVal Z As Single, ByVal T As TextBox) T.Text = CStr (Z) End Sub "Funkce pro výpočet délky segmentu podle souřadnic dvou bodů Veřejná funkce Délka segmentu (ByVal x1 Jako 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 pro výpočet obvodu a obsahu trojúhelníku 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 As Single, ByRef S As Single) Dim A, B, C, Pp As Single A = Délka segmentu (x1 , y1, x2, y2) "Zavolejte funkci odpočtu pro segment B = Délka segmentu (x2, y2, x3, y3 ) C = Délka 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 pro zpracování události stisknutí tlačítka Button1 Private Sub Button1_Click (ByVal sender As System.Object, _ ByVal e As System. EventArgs) Handles Button1.Click 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 odesílatel As System.Object, _ ByVal e As System.EventArgs) Handles Button2.Click End End Sub End Class

Spuštění aplikace a získání výsledků

Výsledek je znázorněn na Obr. 4.3-10.

Důkaz 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ématu

„Struktura programů, modulů a procedur VB.

Programovací nástroje pro algoritmy lineární struktury "

1. Co je to matematický model?

2. Jaké jsou hlavní kroky při řešení problémů na počítači?

3. Jaké fáze řešení počítačových problémů se provádějí bez účasti počítače?

4. Jak se říká matematický model objekt nebo jev?

5. Jaké jsou následné kroky procesu vývoje programu?

6. Co se nazývá algoritmus?

7. Jaké jsou hlavní vlastnosti algoritmu?

8. Jaké jsou způsoby popisu algoritmů?

9. Jaké grafické symboly se obvykle používají k zobrazení v diagramech algoritmů?

10. Jak funguje tlumočník?

11. Jak funguje kompilátor?

12. Jaký algoritmus se nazývá lineární?

13. Jaký algoritmus se nazývá kruhový?

14. Jaký algoritmus se nazývá forking?

15. Jaký je rozdíl mezi přenosem výsledků provádění funkcí a procedur?

16. Dokazuje získání věrohodného výsledku, že program je správný?

17. Jaké chyby mohou zůstat neodhaleny, pokud program nezkontrolujete (nezobrazíte, neposouváte)?

18. Jak se testování programu liší od jeho ladění?

19. Lze testování použít k prokázání správnosti programu?

20. V jaké fázi programu se počítají výsledky benchmarkového testu?

21. Jaké jsou hlavní fáze testovacího procesu?

22. Jaký je rozdíl mezi syntaktickými chybami a sémantickými chybami?

23. Co znamená absence chybových zpráv syntaxe ze stroje?

24. Jaké druhy chyb překladatel neodhalí?

25. co je to program?

26. V jaké fázi probíhá vyhledávání a odstraňování chyb v programu?

27. Co je programovací systém?

28. Co je to postup?

29. Jaké jsou výhody programu s procedurami?

30. Jaké procedurální programovací nástroje jsou dostupné v jazyce VB?

31. Jak probíhá výměna dat mezi jednotlivými procedurami programu?

32. Jaké jsou skutečné a formální parametry?

33. Jak předat jako parametr: konstantu, proměnnou, výraz?

34. Jak se používají globální proměnné?

35. Jak se používají lokální proměnné?

36. Jaké jsou formální parametry?

37. Jaké jsou skutečné parametry?

38. Co se stane, když je zavolána procedura?

39. Jak lze parametry předat proceduře?

40. Jaké parametry předává hodnota?

41. Jaké parametry se předávají adrese?

42. Co jsou nástroje procedurálního programování?

43. Jaký je výsledek provedení funkce?

44. Jak deklarujete jednotlivé proměnné, aby byly uvnitř funkce lokální?

45. Který operátor se používá k předčasnému ukončení funkce?

46. Co se sleduje při volání funkcí a procedur?

47. Jak deklarujete formální parametry pro předávání proměnného parametru hodnotou?

48. Jak deklarujete formální parametry pro předávání proměnného parametru adresou?

49. Jak se volá funkční procedura z volajícího programu?

50. Co může být výsledkem postupu?

51. Který operátor se používá k předčasnému ukončení postupu?

52. Kde lze nalézt popisy funkcí a postupů?

53. Kde bude proměnná deklarovaná pomocí příkazu Public dostupná?

54. Kde se může nacházet soukromý operátor?

55. Co je to komentář a pravidla pro jeho psaní?

56. Jaký význam mají proměnné na začátku programu?

57. Proč jsou popsány (definovány) procedury a funkce?

58. Jak se procedury nazývají?

59. Jak se nazývají funkce?


Podobné informace.


V předchozím odstavci jsme se seznámili se strukturou programu v Pascalu, naučili se popisovat data a zvážili operátor přiřazení. To stačí k napsání programu pro převod dat. Ale výsledek těchto transformací pro nás nebude viditelný.

Pro výstup dat z paměť s náhodným přístupem zápis výstupního operátora se používá na obrazovce monitoru:

Zde je v závorkách umístěn výstupní seznam - seznam výrazů, jejichž hodnoty jsou vytištěny. Mohou to být číselné, symbolické a logické výrazy, včetně proměnných a konstant.

Libovolná sada znaků uzavřená v apostrofech je považována za řetězcovou konstantu. Řetězcová konstanta může obsahovat libovolné znaky, které napíšete na klávesnici.

Příklad... Příkaz write ("s =", s) se provede takto:

  1. na obrazovce se zobrazí znaky uzavřené v apostrofech: s =
  2. na obrazovce se zobrazí hodnota proměnné uložené v paměti s názvem s.

Pokud je hodnota proměnné s 15 a má typ celé číslo, pak se na obrazovce zobrazí: s = 15.

Pokud je hodnota proměnné s 15, ale má skutečný typ, pak se na obrazovce zobrazí: s = l.5E + 01.

Po provedení výstupního příkazu se všechny položky ve výstupním seznamu vytisknou jedna po druhé. Takže v důsledku operace zápisu (1, 20, 300) se na obrazovce zobrazí sekvence číslic 120300, kterou budeme vnímat jako číslo 120300, a ne jako tři samostatné číselné konstanty . Výstupní data můžete učinit čitelnější různými způsoby:

Výstupní formát je celé číslo za dvojtečkou, které určuje, kolik pozic na obrazovce má zobrazená hodnota zabírat. Pokud je v čísle méně číslic, než je pro něj vyhrazených pozic na obrazovce, pak jsou volné pozice doplněny mezerami nalevo od čísla. Pokud je číslo uvedené ve výstupním formátu za dvojtečkou menší, než je nutné, bude automaticky zvýšeno na požadované minimum.

Pro výstup reálného čísla ve formátu s pevnou řádovou čárkou jsou ve výstupním seznamu pro každý výraz určeny dva parametry:

  1. celkový počet pozic přidělených danému číslu;
  2. počet pozic ve zlomkové části čísla.

Když je proveden nový příkaz write, výstup pokračuje na stejném řádku. Chcete-li přejít na nový řádek, použijte příkaz writeln. Mezi příkazy write a writeln nejsou žádné další rozdíly.

4.2.2. První program Pascal

Pomocí uvažovaných operátorů sestavíme program, který vypočítá obvod a plochu kruhu o poloměru 5,4 cm.

Výchozím údajem v tomto problému je poloměr: r - 5,4 cm. Výsledkem programu by měly být hodnoty C - obvod a S - plocha kruhu. С, S a r - hodnoty reálného typu.

Výchozí data a výsledky jsou spojeny vztahy známými z kursu matematiky: С = 2πr, S = πr +. Program, který provádí výpočty pomocí těchto vzorců, bude vypadat takto:

Tento program je správný a řeší problém. Spuštěním k provedení získáte následující výsledek:

A přesto má program, který jsme sestavili, významnou nevýhodu: najde obvod a plochu kruhu pro jedinou hodnotu poloměru (5,4 cm).

Chcete-li vypočítat obvod a plochu kruhu pro jinou hodnotu poloměru, budete muset provést změny přímo v textu programu, konkrétně změnit operátor přiřazení. Provádění změn ve stávajícím programu není přinejmenším vždy pohodlné (například když je program velký a existuje mnoho operátorů přiřazení). Níže se seznámíte s operátorem, který vám umožní zadávat počáteční údaje během provozu programu, aniž byste se museli uchýlit ke změně textu programu.

4.2.3. Zadávání dat z klávesnice

Operátor čtení se používá k zadávání hodnot proměnných do paměti RAM:

Po provedení příkazu čtení přejde počítač do pohotovostního režimu dat: uživatel musí zadat data z klávesnice a stisknout klávesu Enter. Lze zadat několik hodnot proměnných číselných typů oddělených mezerami nebo čárkami. Při zadávání znakových proměnných se mezera a čárka považují za symboly, takže je nelze vložit.

První uživatelem zadaná hodnota proměnné je umístěna v paměťové buňce, jejíž název je umístěn jako první ve vstupním seznamu atd. Typy vstupních hodnot (vstupní tok) proto musí odpovídat typům proměnných. specifikované v sekci deklarace proměnné.

Příklad... Nech být

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

Přiřaďme proměnné i, j, x a hodnoty 1, 0, 2,5 a "A". K tomu použijeme operátor čtení (i, j, x, a) a uspořádáme vstupní proud jedním z následujících způsobů:

Zde jsme nejen použili různé oddělovače (mezera, čárka), ale také reprezentovali vstupní proud jako jeden, dva a čtyři řádky.

Pro zadávání dat z klávesnice můžete použít i příkaz readln, který se od příkazu read liší pouze tím, že po jeho provedení se kurzor přesune na nový řádek.

Pojďme vylepšit program n_1 tím, že v něm zorganizujeme vstup dat pomocí příkazu read. A aby uživatel věděl, k čemu je program určen, a pochopil, jakou akci od něj počítač očekává, zobrazíme příslušné textové zprávy pomocí příkazu writeln:

Výsledek vylepšeného programu:

Nyní náš program dokáže vypočítat obvod a plochu kruhu pro jakoukoli hodnotu r. Jinými slovy, neřeší jediný problém, ale celou třídu problémů. Kromě toho program přehledně a pohodlně organizuje vstup počátečních dat a výstup výsledků. To zajišťuje přátelské uživatelské rozhraní.

Nejdůležitější věc

Vstupní operátory read a readln se používají k zadávání hodnot proměnných do paměti RAM.

Výstupní příkazy write a writeln se používají k výstupu dat z paměti RAM na obrazovku monitoru.

Vstup počátečních údajů a výstup výsledků by měly být organizovány jasně a pohodlně; to zajišťuje přátelské uživatelské rozhraní.

Otázky a úkoly

  1. Napište příkaz, který poskytne vstup hodnoty proměnné summa za běhu programu.
  2. Celočíselným proměnným i, y, k musí být přiřazeny hodnoty 10, 20 a 30. Napište vstupní příkaz odpovídající vstupnímu toku:
      a) 20 10 30
      b) 30 20 10
      c) 10 30 20
  3. Popište proměnné potřebné k výpočtu plochy trojúhelníku podél jeho tří stran a zapište operátor, který poskytuje potřebná vstupní data.
  4. Jaký je výsledek prohlášení?
      a) napsat (a)
      b) napište (1 a)
      c) napište (1 a = 1, a)
  5. Jaký typ je proměnná f, když se po provedení příkazu write (f) zobrazilo následující číslo?
      a) 125
      b) 1,25E + 2
  6. Jak můžete zobrazit reálné číslo ve formátu s pevnou řádovou čárkou?
  7. Napište operátory pro zadání dvou čísel a jejich tisk v opačném pořadí.
  8. Je uveden fragment programu:

    číst); čtěte (b); c: = a + b; psát (a, b); napsat (y)

    Zjednodušte to snížením počtu vstupních a výstupních příkazů.

  9. Je uveden fragment programu:

    a: = 10; b: = a + l: a: = b-a; napsat (a, b)

    Jaká čísla se zobrazí na obrazovce počítače?

  10. Napište program, který vypočítá plochu a obvod obdélníku podél jeho dvou stran.