Računala Windows Internet

Pisanje programskog koda korištenjem procedura. Pisanje programskog koda korištenjem procedura Ograničenja operatora

Kao prvi operand - "expression1" - može se koristiti bilo koji izraz čiji je rezultat vrijednost bool tipa. Ako je rezultat pravi , tada se izvršava operator specificiran drugim operandom, to jest "izraz2".

Ako je prvi operand uparen lažno , tada se izvršava treći operand - "izraz3". Drugi i treći operandi, odnosno izraz2 i izraz3, moraju vraćati vrijednosti istog tipa i ne smiju biti nevažeći. Rezultat izvršenja uvjetnog izraza je rezultat "izraza2" ili rezultat "izraza3", ovisno o rezultatu "izraza1".

Ograničenja operatera

Operator na temelju vrijednosti "expression1" mora vratiti jednu od dvije vrijednosti - ili "expression2" ili "expression3". Postoji niz ograničenja za ove izraze:

  1. Ne možete miješati korisnički definiran tip s jednostavnim tipom ili nabrajanjem. Dopušteno je koristiti NULL za pokazivač.
  2. Ako su vrste vrijednosti jednostavne, tada će tip operatora biti maksimalni tip (pogledajte Određivanje tipa).
  3. Ako je jedna od vrijednosti tipa nabrajanja, a druga numeričkog tipa, tada se nabrajanje zamjenjuje s int i primjenjuje se drugo pravilo.
  4. Ako su obje vrijednosti vrijednosti nabrajanja, tada njihovi tipovi moraju biti isti, a tip operatora će biti nabrajanje.

Ograničenja za korisnički definirane tipove (klase ili strukture):

  1. tipovi moraju biti isti ili jedan mora naslijediti drugi.
  2. ako tipovi nisu isti (nasljeđivanje), tada se dijete implicitno baci na roditelja, odnosno tip operatora će biti tip roditelja.
  3. ne možete miješati objekt i pokazivač - ili su oba izraza objekti ili pokazivači. Dopušteno je koristiti NULL za pokazivač.

Bilješka

Budite oprezni kada koristite uvjetni operator kao argument preopterećenoj funkciji, budući da je tip rezultata uvjetnog operatora određen u vrijeme kompilacije programa. I ovaj je tip definiran kao veći tip tipova "expression2" i "expression3".

Primjer:

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

bool Izraz1 = istina;
dvostruki izraz2 = M_PI;
string Expression3 = "3.1415926";

void OnStart ()
{
func (Izraz2);
func (Izraz3);

func (Izraz1? Izraz2: Izraz3);
func (! Izraz1? Izraz2: Izraz3);// dobiti upozorenje kompajlera o eksplicitnom pretvaranju na vrstu stringa
}

// Rezultat:
// dvostruki argument: 3.141592653589793

// argument niza: 3.141592653589793
// argument niza: 3.1415926

"Printer za ispis plastičnih kartica" - Mogućnost postavljanja duplo više informacija na jednu plastičnu karticu. Cijena. Pisač za ispis plastične kartice... ZEBRA P110i / P120i. Pregled postrojavanje... Ekonomični pisači plastičnih kartica u boji. Visoke performanse Širok raspon opcijskih kodera.

"PC periferija" - periferija. Pisači. Snimanje. Digitalni fotoaparati. Hijerarhija povezivanja. Video adapteri. PU klasifikacija. Univerzalna serijska sabirnica. CD-R. Mogućnosti odabira. Ugrađena bljeskalica. Pioniri. Priroda. Modem. Video terminal. Skeneri. PC periferije. Klasifikacija mišolikih.

"Sredstvo za unos i izlaz informacija" - Skener. Ploter. CRT. Pisači. Tipkovnica. Digitalni fotoaparati i foto-aparati. Funkcije. Univerzalni ulazni uređaj. Uređaji za unos i izlaz informacija. Grafički tablet... Miš.

"Uređaji za izlaz informacija" - Računalni uređaj. Što je veća razlučivost monitora, to je veća kvaliteta slike. Nedostaci inkjet pisača: Velika potrošnja tinte; Visoka cijena punjenja goriva. Monitori s ravnim ekranom s tekućim kristalima (LCD) su kompaktni i nemaju zračenja. Uređaji za izlaz informacija. Monitor je univerzalni uređaj za izlaz informacija.

"Pisači" - Lokalno. Fuser, fuser, fuser - jedinica u kojoj se toner peče u papir. Laser. Matrica (igla). S vremenom gube svoja svojstva i podložni su redovitoj zamjeni od strane stručnjaka. Inkjet. Mreža. Promijenio korisnik. Karakteristike pisača. Razvijač, nosač, razvijač - najmanje metalne čestice koje prenose toner na foto rolu.

"I / O podsustav" - Prijelomna točka. Tablice. Kontinuirano postavljanje. Atribut. Dozvole za datoteke. Povezani popis indeksa. Podaci. Fizička organizacija. Izravan pristup memoriji. Indeksirana sekvencijalna datoteka. Montaža. I/O kontrolira prekidima. Dozvole za pristup imeniku. Organizacija paralelnog rada.

Ukupno ima 27 prezentacija

Programski kod je prikazan na sl. 4.3-9.

Opcija Strict On Opcija Eksplicitno za uvoz System.Math Public Class Form1 "Funkcija za unos koordinata točke u TextBox Function vvod (ByVal T As TextBox) As Single Return CSng (Val (T.Text)) End Function" Procedura za prikaz rezultata u TextBox Sub vivod (ByVal Z As Single, ByVal T As TextBox) T.Text = CStr (Z) End Sub "Funkcija za izračunavanje duljine segmenta po koordinatama dviju točaka Javna funkcija Duljina segmenta (ByVal x1 kao pojedinačni, _ ByVal y1 kao pojedinačni, ByVal x2 kao pojedinačni, _ ByVal y2 kao pojedinačni) kao pojedinačni povratak CSng (Sqrt ((x2 - x1) ^ 2 + (y2 - y1) ^ 2)) Krajnja funkcija " Postupak za izračunavanje opsega i površine trokuta Sub PS (ByVal x1 kao pojedinačni, ByVal y1 kao pojedinačni, _ ByVal x2 kao pojedinačni, ByVal y2 kao pojedinačni, _ ByVal x3 kao pojedinačni, ByVal y3 kao pojedinačni, _ ByRef P Kao Single, ByRef S As Single) Dim A, B, C, Pp As Single A = duljina segmenta (x1 , y1, x2, y2) "Pozovite funkciju odbitka za segment B = duljina segmenta (x2, y2, x3, y3) ) C = duljina segmenta (x3, y3, x1, y1) P = (A + B + C): Pp = P / 2 S = CSng ( Sqrt (Pp * (Pp - A) * (Pp - B) * (Pp - C))) End Sub "Procedura za rukovanje događajem pritiska gumba Button1 Private Sub Button1_Click (ByVal pošiljatelj Kao System.Object, _ ByVal e Kao sustav. EventArgs) Obrađuje Button1. Kliknite Dim x1 kao pojedinačni, x2 kao pojedinačni, x3 kao pojedinačni dim y1 kao pojedinačni, y2 kao pojedinačni, y3 kao pojedinačni dim po kao pojedinačni, 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 pošiljatelj kao System.Object, _ ByVal e As System.EventArgs) Hands Button2.Click End End Sub End Class

Izvršavanje aplikacije i dobivanje rezultata

Rezultat je prikazan na sl. 4.3-10.

Dokaz ispravnosti rezultata

A =
= 2,82843 B =
= 2

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


Kontrolna pitanja na temu

“Struktura VB programa, modula i procedura.

Algoritmi za programiranje linearne strukture "

1. Što je matematički model?

2. Koji su glavni koraci u rješavanju problema na računalu?

3. Koje se faze rješavanja računalnih problema provode bez sudjelovanja računala?

4. Što se zove matematički model predmet ili pojava?

5. Koji su uzastopni koraci procesa razvoja programa?

6. Što se zove algoritam?

7. Koja su glavna svojstva algoritma?

8. Koji su načini za opisivanje algoritama?

9. Koji se grafički simboli obično koriste za prikaz u dijagramima algoritama?

10. Kako radi tumač?

11. Kako radi kompajler?

12. Koji se algoritam naziva linearnim?

13. Koji se algoritam naziva kružnim?

14. Koji se algoritam naziva forking?

15. Koja je razlika između prijenosa rezultata izvršavanja funkcija i procedura?

16. Dokazuje li dobivanje uvjerljivih rezultata da je program ispravan?

17. Koje greške mogu ostati neotkrivene ako ne provjerite (pregledate, pomičete) program?

18. Kako se testiranje programa razlikuje od otklanjanja pogrešaka?

19. Može li se testiranje koristiti za dokazivanje ispravnosti programa?

20. U kojoj se fazi programa izračunavaju rezultati referentnih testova?

21. Koje su glavne faze procesa testiranja?

22. Koja je razlika između sintaktičkih i semantičkih pogrešaka?

23. Što ukazuje na nedostatak poruka o sintaktičkim pogreškama iz stroja?

24. Koje vrste pogrešaka prevoditelj ne uspijeva otkriti?

25. Što je program?

26. U kojoj se fazi odvija traženje i otklanjanje grešaka u programu?

27. Što je programski sustav?

28. Što je postupak?

29. Koje su prednosti programa s procedurama?

30. Koji su alati za proceduralno programiranje dostupni u VB jeziku?

31. Kako se odvija razmjena podataka između pojedinih procedura programa?

32. Što su stvarni i formalni parametri?

33. Kako proslijediti kao parametar: konstantu, varijablu, izraz?

34. Kako se koriste globalne varijable?

35. Kako se koriste lokalne varijable?

36. Što su formalni parametri?

37. Koji su stvarni parametri?

38. Što se događa kada se pozove postupak?

39. Kako se parametri mogu proslijediti proceduri?

40. Koji se parametri prosljeđuju po vrijednosti?

41. Koji se parametri prosljeđuju na adresu?

42. Što su alati za proceduralno programiranje?

43. Što je rezultat izvršavanja funkcije?

44. Kako deklarirati pojedinačne varijable tako da budu lokalne unutar funkcije?

45. Koji se operator koristi za rani izlazak iz funkcije?

46. Što se prati prilikom pozivanja funkcija i procedura?

47. Kako deklarirati formalne parametre da proslijede varijabilni parametar po vrijednosti?

48. Kako deklarirati formalne parametre za prosljeđivanje varijabilnog parametra po adresi?

49. Kako se funkcija funkcije poziva iz pozivajućeg programa?

50. Što može biti rezultat postupka?

51. Koji operater se koristi za rani izlazak iz procedure?

52. Gdje se mogu naći opisi funkcija i postupaka?

53. Gdje će varijabla deklarirana pomoću naredbe Public biti dostupna?

54. Gdje se može nalaziti privatni operater?

55. Što je komentar i pravila za njegovo pisanje?

56. Koja su značenja varijabli na početku programa?

57. Zašto su procedure i funkcije opisane (definirane)?

58. Kako se zovu postupci?

59. Kako se nazivaju funkcije?


Slične informacije.


U prethodnom odlomku upoznali smo se sa strukturom programa u Pascalu, naučili kako opisati podatke i razmotrili operator dodjeljivanja. Ovo je dovoljno za pisanje programa za pretvorbu podataka. Ali rezultat tih transformacija nam neće biti vidljiv.

Za izlaz podataka iz RAM memorija izlazni operator write koristi se na zaslonu monitora:

Ovdje se izlazna lista nalazi u zagradama - popis izraza čije su vrijednosti ispisane. To mogu biti numerički, simbolički i logički izrazi, uključujući varijable i konstante.

Proizvoljan skup znakova zatvoren u apostrofe smatra se konstantom niza. Konstanta niza može sadržavati sve znakove koje upišete na tipkovnici.

Primjer... Naredba write ("s =", s) izvodi se ovako:

  1. ekran prikazuje znakove zatvorene u apostrofe: s =
  2. zaslon prikazuje vrijednost varijable pohranjene na memorijskoj lokaciji pod nazivom s.

Ako je vrijednost varijable s 15 i ima cjelobrojni tip, na ekranu će se prikazati: s = 15.

Ako je vrijednost varijable s 15, ali ima pravi tip, tada će se na ekranu prikazati: s = l.5E + 01.

Kada se izvrši izlazni izraz, sve stavke na popisu izlaza ispisuju se jedna za drugom. Dakle, kao rezultat rada operatora pisanja (1, 20, 300), na ekranu će se prikazati niz znamenki 120300, koji ćemo percipirati kao broj 120300, a ne kao tri odvojene numeričke konstante . Izlazne podatke možete učiniti čitljivijim na različite načine:

Izlazni format je cijeli broj naveden nakon dvotočke koji određuje koliko pozicija na zaslonu treba zauzeti prikazana vrijednost. Ako u broju ima manje znamenki od mjesta rezerviranih za njega na ekranu, tada se slobodne pozicije popunjavaju razmacima lijevo od broja. Ako je broj naveden u izlaznom formatu nakon dvotočke manji od potrebnog, automatski će se povećati na potrebni minimum.

Za izlaz realnog broja u formatu fiksne točke, dva su parametra navedena u popisu izlaza za svaki izraz:

  1. ukupan broj pozicija dodijeljenih za broj;
  2. broj pozicija u razlomku broja.

Kada se izvrši nova naredba pisanja, izlaz se nastavlja u istom retku. Za prijelaz na novi red koristite naredbu writeln. Nema drugih razlika između izjava write i writeln.

4.2.2. Prvi Pascal program

Koristeći razmatrane operatore, sastavit ćemo program koji izračunava opseg i površinu kruga polumjera 5,4 cm.

Početni podaci u ovom problemu su polumjer: r - 5,4 cm. Rezultat programa trebaju biti vrijednosti C - opseg i S - površina kruga. S, S i r - vrijednosti realnog tipa.

Početni podaci i rezultati povezani su relacijama poznatim iz kolegija matematike: S = 2πr, S = πr +. Program koji provodi izračune pomoću ovih formula izgledat će ovako:

Ovaj program je ispravan i rješava problem. Pokretanjem za izvršenje dobit ćete sljedeći rezultat:

Pa ipak, program koji smo sastavili ima značajan nedostatak: pronalazi opseg i površinu kruga za jednu vrijednost polumjera (5,4 cm).

Da biste izračunali opseg i površinu kruga za drugu vrijednost radijusa, morat ćete izvršiti izmjene izravno u tekstu programa, odnosno promijeniti operator dodjele. Izmjena postojećeg programa barem nije uvijek zgodna (na primjer, kada je program velik i postoji mnogo operatora dodjeljivanja). U nastavku ćete se upoznati s operatorom koji vam omogućuje unos početnih podataka tijekom rada programa, bez pribjegavanja promjeni teksta programa.

4.2.3. Unos podataka s tipkovnice

Operator čitanja koristi se za unos vrijednosti varijabli u RAM:

Kada se izvrši naredba read, računalo ulazi u stanje pripravnosti podataka: korisnik mora unijeti podatke s tipkovnice i pritisnuti tipku Enter. Nekoliko vrijednosti varijabli numeričkih tipova može se unijeti odvojeno razmacima ili zarezima. Prilikom unosa znakovnih varijabli, razmak i zarez se tretiraju kao simboli, pa se ne mogu umetnuti.

Prva vrijednost varijable koju unese korisnik stavlja se u memorijsku ćeliju čiji se naziv nalazi prvi na popisu unosa i tako dalje. Stoga tipovi ulaznih vrijednosti (ulazni tok) moraju odgovarati vrstama varijabli navedeno u odjeljku deklaracije varijable.

Primjer... Neka bude

var i, j: cijeli broj; x: pravi; a: char;

Dodijelimo varijable i, j, x i vrijednosti 1, 0, 2.5 i "A". Da bismo to učinili, koristit ćemo operator read (i, j, x, a) i organizirati ulazni tok na jedan od sljedećih načina:

Ovdje ne samo da smo koristili različite separatore (razmak, zarez), već smo i ulazni tok prikazali kao jedan, dva i četiri retka.

Također možete koristiti naredbu readln za unos podataka s tipkovnice, koja se od naredbe read razlikuje samo po tome što se nakon izvršenja kursor pomiče u novi redak.

Poboljšajmo program n_1 organizirajući unos podataka u njemu pomoću naredbe read. A kako bi korisnik znao čemu je program namijenjen i razumio kakvu radnju računalo očekuje od njega, prikazat ćemo odgovarajuće tekstualne poruke koristeći naredbu writeln:

Rezultat poboljšanog programa:

Sada naš program može izračunati opseg i površinu kruga za bilo koju vrijednost r. Drugim riječima, ne rješava jedan problem, već čitavu klasu problema. Osim toga, program jasno i prikladno organizira unos početnih podataka i izlaz rezultata. To osigurava prijateljsko korisničko sučelje.

Najvažnija stvar

Ulazni operatori read i readln koriste se za unos vrijednosti varijabli u RAM.

Izlazne izjave write i writeln koriste se za izlaz podataka iz RAM-a na zaslon monitora.

Unos početnih podataka i izlaz rezultata treba biti organiziran jasno i prikladno; to osigurava prijateljsko korisničko sučelje.

Pitanja i zadaci

  1. Napišite izjavu koja daje unos vrijednosti varijable zbroj dok je program pokrenut.
  2. Cjelobrojnim varijablama i, y, k moraju se dodijeliti vrijednosti 10, 20, odnosno 30. Napišite ulaznu izjavu koja odgovara ulaznom toku:
      a) 20 10 30
      b) 30 20 10
      c) 10 30 20
  3. Opišite varijable potrebne za izračunavanje površine trokuta duž njegove tri strane i zapišite operator koji daje potrebne ulazne podatke.
  4. Što je rezultat izjave?
      a) napiši (a)
      b) napiši (1 a ")
      c) napiši (1 a = 1, a)
  5. Kojeg tipa je varijabla f ako je nakon izvršenja naredbe write (f) prikazan sljedeći broj?
      a) 125
      b) 1,25E + 2
  6. Kako možete prikazati realni broj u formatu fiksne točke?
  7. Napišite operatore za unos dva broja i ispis obrnutim redoslijedom.
  8. Naveden je fragment programa:

    čitati); pročitaj (b); c: = a + b; napisati (a, b); napisati (e)

    Pojednostavite ga smanjenjem broja ulaznih i izlaznih izraza.

  9. Naveden je fragment programa:

    a: = 10; b: = a + l: a: = b-a; napiši (a, b)

    Koji će brojevi biti prikazani na ekranu računala?

  10. Napišite program koji izračunava površinu i opseg pravokutnika uz njegove dvije strane.