Cum se configurează smartphone-uri și PC-uri. Portal informativ
  • Acasă
  • OS
  • Operator condiționat? Scrierea codului programului folosind proceduri de introducere a datelor de la tastatură.

Operator condiționat? Scrierea codului programului folosind proceduri de introducere a datelor de la tastatură.

Operator este un element de limbaj care specifică o descriere completă a acțiunii de efectuat. Fiecare operator este o frază completă a limbajului de programare și definește o etapă complet completă a procesării datelor. Operatorii pot include cuvinte de serviciu, date, expresii și alți operatori. În engleză, acest concept este notat cu cuvântul „statement”, care înseamnă și „propoziție”.

Fiecare operator în orice limbaj de programare are un specific sintaxăși semantică... Sub sintaxă Un operator este înțeles ca un sistem de reguli (gramatică) care îi determină scrierea folosind elementele alfabetului unei limbi date, care, împreună cu diferite simboluri, include, de exemplu, cuvinte de serviciu. Sub semantică operatorii îi înțeleg sensul, adică acele acțiuni care corespund evidenței unuia sau acelui operator. De exemplu, intrarea i: = i + 1 este un exemplu de notație corectă din punct de vedere sintactic operator de atribuireîn limbajul Pascal, a cărui semantică în acest caz este următoarea: extrageți valoarea celulei de memorie corespunzătoare variabilei i, adăugați-o cu una și scrieți rezultatul în aceeași celulă de memorie.

În majoritatea limbajelor de programare procedurală, setul de operatori este practic același și constă dintr-un operator de atribuire, operatori de selecție, operatori de buclă, un operator de apel de procedură și operatori de salt. Uneori se disting, de asemenea, instrucțiunile goale (fără acțiune) și compuse. Mulți operatori sunt o modalitate de a reprezenta anumite constructe algoritmice (vezi „ Construcții algoritmice”) În limbajul de programare. Să luăm în considerare mai detaliat grupuri de operatori, folosind sintaxa limbajului Pascal.

Operator de atribuire

O atribuire este o acțiune computerizată care face ca o variabilă să primească valoarea expresiei calculate (este plasată în celula de memorie corespunzătoare variabilei). Pentru a descrie o astfel de acțiune în limbaje de programare, există operator de atribuire.

În general, operatorul de atribuire este scris după cum urmează:

<переменная> <знак присваивания> <выражение>

De exemplu, în limbajul Pascal, combinația de simboluri: = este folosită ca semn de atribuire. Într-un număr de alte limbi, semnul egal.

Rezultatul executării operatorului de atribuire este o modificare a stării datelor: toate variabilele, altele decât variabil din partea stângă a operatorului de atribuire nu își schimbă valoarea, ci cea specificată variabil primește valoarea expresiiîn partea dreaptă a operatorului de atribuire. În cele mai multe cazuri este necesar ca tipul expresii se potrivea cu tipul variabil... Dacă nu este cazul, atunci operatorul fie este considerat incorect din punct de vedere sintactic, fie tipul expresiei este convertit în tipul variabilei (vezi „ Tipuri de date” ).

Operatori de selecție

În alt fel, acești operatori sunt chemați declarații condiționale... Instrucțiunile condiționate sunt folosite pentru a programa algoritmi care conțin algoritmi de ramificare.

Există mai multe tipuri de instrucțiuni condiționale în limbajele de programare. Declarația condițională completă corespunde structurii algoritmice a ramificării complete:

Într-un limbaj de programare, operatorul condițional corespunzător este:

daca B atunci S1 altfel S2

Dacă expresia B, care se evaluează la începutul execuției operatorului condiționat, are valoarea „adevărat”, apoi operatorul S1, altfel operatorul S2... Operatori S1și S2 poate fi compozit.

Structura algoritmică a ramificării incomplete este implementată folosind un operator condiționat incomplet, care are forma:

daca B atunci S

Aici B este o expresie logică și S- un operator arbitrar. Operator S va fi executat dacă expresia B este adevărată.

Dacă operatorul condiționat implementează doar două ramuri ale alegerii („da” și „nu”), atunci folosind operator de optiuni (caz-operator), puteți programa o structură cu mai multe ramuri. Operatorul variant este:

cazul E de

Acest operator se execută astfel: valoarea expresiei E căutat printre valorile enumerate în fișa operatorului V1, V2, ..., Vn, iar dacă se găsește o astfel de valoare, atunci se execută operatorul corespunzător S1, S2, ..., Sn.

În diferite limbaje de programare, sintaxa și chiar semantica operatorilor enumerați pot diferi, dar posibilitățile oferite programatorului de astfel de construcții sunt aproximativ aceleași.

Exemplul 1. In articol " Construcții algoritmice”2 a fost dat un exemplu de scriere a unui algoritm pentru rezolvarea unei ecuații pătratice generalizate folosind construcții de ramificare. Iată un fragment dintr-un program Pascal care implementează același algoritm:

dacă a = 0 atunci

dacă b = 0 atunci

dacă c = 0 atunci writeln ("x este oricare")

altfel writeln ("fără rădăcini")

altfel scrieți (-c / b)

altfel începe

D: = b * b - 4 * a * c;

dacă D< 0 atunci writeln ("fără rădăcini")

altfel începe

x1: = -b + sqrt (D);

x2: = -b - sqrt (D);

scrieți (x1: 0: 2, "" ", x2: 0: 2)

Operatori de buclă

Operatorii de buclă implementează construcții algoritmice ciclice; sunt utilizați pentru acțiuni care se repetă de mai multe ori. În multe limbaje de programare, există trei tipuri de operatori de buclă: „cu o precondiție”, „cu o postcondiție”, „cu un parametru”.

O structură algoritmică necesară și suficientă pentru programarea buclelor este o buclă „cu o precondiție”, prin urmare poate fi numită tipul principal de buclă. Operatorul buclă cu o precondiție are forma:

în timp ce B do S

Operator S, pentru a cărui execuție repetată se creează un ciclu, se numește corpul ciclului... Execuția operatorului buclă se reduce la execuția repetată a corpului buclei în timp ce valoarea expresiei logice B adevărat (până când devine fals). De fapt, astfel de operatori de buclă implementează execuția repetată a instrucțiunilor condiționate. dacă B atunci S atâta timp cât condiția este adevărată B.

Exemplul 2. Luați în considerare aplicarea unui astfel de operator de buclă pentru a calcula suma cifrelor unui număr natural N:

in timp ce N> 0 începe

S: = S + N mod 10;

N: = N div 10

Într-o buclă cu o postcondiție, corpul buclei precede condiția B. Spre deosebire de o buclă cu o precondiție, aici B este condiția pentru sfârșitul buclei. Operatorul de buclă cu postcondiție în Pascal este:

repeta S pana cand B

Cu această organizare a ciclului, corpul ciclului S se va executa cel putin o data.

În aproape toate limbile procedurale există operator de buclă cu parametru... Acesta poate fi reprezentat schematic astfel:

pentru< variabil > E1 la E2 Etapa E3 do S

Aici valoarea variabil(parametrul ciclului) se modifică de la valoarea expresiei E1 la E2 în trepte de E3. Pentru fiecare astfel de valoare a parametrului de buclă se execută operatorul S. În limbajul Pascal, conceptul de pas este absent în descrierea acestui operator, iar pasul în sine pentru un parametru de buclă întreg poate fi fie 1, fie –1. . Instrucțiunea „buclă de parametri” este utilizată pentru a programa bucle cu un număr specificat de repetări. Nu este potrivit pentru programarea buclelor iterative (al căror număr de repetări nu este cunoscut în prealabil).

Operator de apel de procedură

In articol " Subrutine”Descrie în detaliu un astfel de tip de subrutine ca proceduri. Subrutinele standard ale limbajului de programare, care sunt incluse într-una dintre bibliotecile de subrutine, precum și subrutinele definite de utilizator descrise în acest bloc, sunt apelate folosind operatorul apel de procedură:

<имя процедуры>(E1, E2, ..., En)

Aici E1, E2, ..., En sunt variabile sau expresii care reprezintă parametrii efectivi referindu-se la procedura. Cele mai frecvent utilizate proceduri standard sunt procedurile de intrare și ieșire a datelor (citire și scriere în Pascal).

Apelul de procedură este echivalent din punct de vedere semantic cu execuția blocului descris ca corp al procedurii după transferul valorilor inițiale ale unor variabile (parametri de valoare) către acesta sau înlocuirea denumirilor unor variabile (parametrii variabilelor) cu numele de variabilele reale specificate la apelarea procedurii.

Exemplul 3. Să descriem procedura abc:

procedura abc (a, b: întreg; var c: întreg);

Apelarea acestei proceduri abc (2,3, x) este echivalentă cu un bloc de acțiuni:

Operatori de sărituri

Cel mai faimos din acest grup de operatori este operatorul de sărituri necondiționate mergi la... Dacă adăugăm la toți sau la unii dintre operatorii de programe existenți Etichete, apoi în program devine posibilă utilizarea operatorului de tranziție al formei:

mergi la<метка>

Eticheta în acest caz corespunde începutului instrucțiunii de la care programul ar trebui să continue. Un astfel de operator permite scrierea algoritmilor într-un limbaj de programare care au o structură arbitrar complexă. Dar adesea folosirea unui salt neconditionat este nejustificata, deoarece duce la un program confuz, greu de citit. Aproape singura utilizare semnificativă a operatorului mergi la este o ieșire din mai multe bucle imbricate simultan, de exemplu, atunci când procesează tablouri bidimensionale.

Exemplul 4. Să presupunem că trebuie să determinăm dacă o matrice bidimensională a are un element egal cu 0:

pentru i: = 1 la N do

pentru j: = 1 la N do

dacă a = 0 apoi începe

1: dacă b atunci scrie ("este") altfel scrie ("nu");

Un program dezvoltat conform regulilor de programare structurată nu trebuie să conțină operatori de sărituri necondiționați. Programul de mai sus fără a utiliza operatorul mergi la poate fi rescris astfel:

în timp ce nu b și(i< N) începe

în timp ce nu b și(j< N) începe

dacă a = 0 atunci b: = adevărat;

dacă b atunci scrie ("este") altfel scrie ("nu");

În acest caz, programul structurat este mai puțin clar decât programul cu mergi la.

Alți operatori de ramură pot fi definiți în limbaje de programare. De exemplu, în Pascal: pauză(întreruperea timpurie a ciclului, trecerea la instrucțiunea care urmează să fie executată după sfârșitul ciclului), continua(finalizarea timpurie a iterației buclei curente și tranziția la următoarea), Ieșire(întreruperea timpurie a subrutinei, ieșirea din ea), oprire(întreruperea timpurie a programului, trecerea la sfârșitul acestuia). Operatori similari există în C, C++, Java.

Operator compus

Un operator compus este un grup de operatori încadrați între paranteze operator (în Pascal - începeSfârșit; în C, C ++ - (...)).

Operatorul compus este introdus în limbaje de programare pentru a facilita descrierea constructelor limbajului. Deci, de exemplu, în Pascal, partea executabilă a fiecărui bloc (program, procedură, funcție) este o instrucțiune compusă. Exact în același mod, corpul oricărui operator de buclă este format dintr-un singur operator, poate unul compus. O alternativă la un operator compus poate fi un cuvânt de serviciu care indică sfârșitul unuia sau altui operator, de exemplu, TERMINAT DACĂîn limbajul de bază.

Subiectul „Operatorii unui limbaj de programare” este de obicei studiat numai în contextul luării în considerare a unui anumit limbaj de programare. Când o luăm în considerare, este important să arătăm legătura dintre construcțiile algoritmice de bază și operatori: construcțiile algoritmice sunt scrise într-un limbaj de programare folosind operatorii corespunzători. Excepția într-un sens este o construcție secvențială, ea definește o ordine liniară a acțiunilor. Acțiunile dintr-un program strict liniar sunt implementate numai prin instrucțiuni de atribuire și apel de procedură.

În stadiul inițial al programării predării, școlarii au multe probleme. Prima barieră psihologică pe care trebuie să o depășească este învățarea operatorului de atribuire. Una dintre principalele sarcini care trebuie rezolvată împreună cu studenții este schimbul de locuri de valori a două variabile. Puteți oferi studenților să rezolve mental problema cum să schimbe conținutul a două cutii, de exemplu, un birou. De obicei, în această etapă a discuției, elevii ghicesc că este necesară o a treia casetă (variabilă) pentru a rezolva problema. Cu toate acestea, atunci când scriu acest algoritm, ei confundă adesea care parte a operatorului de atribuire (stânga sau dreapta) ar trebui să fie aceasta sau acea variabilă.

Erorile în scrierea expresiilor aritmetice și logice apar din necunoașterea precedenței operațiilor care sunt folosite în expresie. În acest caz, operațiile sunt înțelese nu numai aritmetice, ci și operațiuni de comparație și conective logice, precum și în limbajul C și operația de atribuire, ceea ce este foarte neobișnuit pentru școlari. Situația este complicată de faptul că în diferite limbaje de programare aceleași operațiuni au priorități relative diferite. Acordați atenție corespondenței dintre tipurile de variabilă și expresia din stânga și din dreapta operatorului de atribuire (vezi „ Tipuri de date”).

Când stăpânesc operatorii de selecție, este util să sugerăm elevilor să programeze un algoritm care conține o structură multi-ramificație, atât folosind o combinație de operatori condiționali, cât și folosind un operator de selecție.

Exemplu.Într-o variabilă întreagă N se înscrie vârsta persoanei în ani. Imprimați fraza „ Am K ani”, Înlocuind cuvântul ani pe an sau al anului in functie de numarul K... Iată două soluții la această problemă:

dacă(k mod 100) în

atunci writeln ("pentru mine", k, "ani")

caz k mod 10 de

0,5..9: writeln ("eu", k, "ani");

1: writeln ("la mine", k, "an");

2..4: writeln ("la mine", k, "ani");

var k, n: întreg;

readln (k); n: = k mod 10;

dacă(k mod 100) în

atunci writeln ("pentru mine", k, "ani") altfel

dacă n = 1 atunci writeln ("eu", k, "an")

dacă(n> =) și(n<= 4)

atunci writeln ("pentru mine", k, "ani")

altfel writeln ("pentru mine", k, "ani")

Când luăm în considerare operatorii de buclă, este util să propunem aceeași problemă care să fie programată în trei moduri diferite folosind trei operatori de buclă și invers, în funcție de starea problemei, învață să stabilești care operator de buclă este cel mai potrivit într-un anumit caz.

Operatorul de apel procedura este simplu la prima vedere. Este important aici să explicăm regulile de transmitere a parametrilor către proceduri și funcții, diferența dintre parametrii variabili și parametrii valorii (în acest din urmă caz, putem trece nu numai numele unei variabile, ci și o constantă sau chiar o expresie a tipul corespunzător). Parametrii formali și actuali trebuie să se potrivească în tip, dar nu și în nume, ceea ce este departe de a fi evident pentru studenți.

Învățarea operatorului condiționat și mai ales compus este o ocazie bună de a discuta cu studenții despre stilul lor de programare. Există mai multe moduri comune de a scrie programe structurate pentru Pascal, dar toate sunt indentate pentru a se adapta structurilor imbricate. Important pentru înregistrarea programelor și a comentariilor.

Ca prim operand - „expression1” - poate fi folosită orice expresie, al cărei rezultat este o valoare de tip bool. Dacă rezultatul este Adevărat , apoi se execută operatorul specificat de al doilea operand, adică „expression2”.

Dacă primul operand este împerecheat fals , apoi se execută al treilea operand - „expression3”. Al doilea și al treilea operanzi, adică expresia2 și expresia3, trebuie să returneze valori de același tip și nu trebuie să fie nule. Rezultatul executării instrucțiunii condiționale este rezultatul „expresiei2” sau rezultatul „expresiei3”, în funcție de rezultatul „expresiei1”.

Restricții pentru operator

Operatorul bazat pe valoarea „expression1” trebuie să returneze una dintre cele două valori – fie „expression2” fie „expression3”. Există o serie de restricții asupra acestor expresii:

  1. Nu puteți combina un tip definit de utilizator cu un tip simplu sau o enumerare. Este permisă utilizarea NULL pentru un pointer.
  2. Dacă tipurile de valori sunt simple, atunci tipul operatorului va fi tipul maxim (a se vedea Typecasting).
  3. Dacă una dintre valori este de tip enumerare, iar a doua este de tip numeric, atunci enumerarea este înlocuită cu int și se aplică a doua regulă.
  4. Dacă ambele valori sunt valori de enumerare, atunci tipurile lor trebuie să fie aceleași, iar tipul de operator va fi o enumerare.

Restricții pentru tipurile definite de utilizator (clase sau structuri):

  1. tipurile trebuie să fie aceleași sau unul trebuie să moștenească de la celălalt.
  2. dacă tipurile nu sunt aceleași (moștenire), atunci copilul este implicit turnat părintelui, adică tipul operatorului va fi tipul părintelui.
  3. nu puteți amesteca obiect și pointer - fie ambele expresii sunt obiecte, fie indicatori. Este permisă utilizarea NULL pentru un pointer.

Notă

Fiți atenți când utilizați un operator condiționat ca argument pentru o funcție supraîncărcată, deoarece tipul de rezultat al unui operator condiționat este determinat în momentul compilării programului. Și acest tip este definit ca tipul mai mare al tipurilor „expression2” și „expression3”.

Exemplu:

void func (dublu d) (Print ("argument dublu:", d);)
void func (șir s) (Print ("argument șir:", s);)

bool Expresia1 = adevărat;
expresie dublă2 = M_PI;
șir Expression3 = "3.1415926";

void OnStart ()
{
func (Expresia2);
func (Expresia3);

func (Expresia1? Expresia2: Expresia3);
func (! Expresia1? Expresia2: Expresia3);// primește un avertisment al compilatorului despre turnarea explicită către tipul șir
}

// Rezultat:
// argument dublu: 3.141592653589793

// argument șir: 3.141592653589793
// argument șir: 3.1415926

În paragraful anterior, ne-am familiarizat cu structura unui program în Pascal, am învățat cum să descriem datele și am considerat operatorul de atribuire. Acest lucru este suficient pentru a scrie un program de conversie a datelor. Dar rezultatul acestor transformări nu ne va fi vizibil.

Pentru a scoate date din RAM pe ecranul monitorului, utilizați instrucțiunea de ieșire de scriere:

Aici, lista de ieșiri este plasată în paranteze - o listă de expresii ale căror valori sunt tipărite. Acestea pot fi expresii numerice, simbolice și logice, inclusiv variabile și constante.

Un set arbitrar de caractere cuprinse în apostrofe este considerat o constantă șir. Constanta șir poate conține orice caractere pe care le introduceți pe tastatură.

Exemplu... Instrucțiunea write ("s =", s) este executată astfel:

  1. ecranul afișează caractere cuprinse în apostrofe: s =
  2. ecranul afișează valoarea variabilei stocate într-o locație de memorie numită s.

Dacă valoarea variabilei s este 15 și are un tip întreg, atunci ecranul va afișa: s = 15.

Dacă valoarea variabilei s este 15, dar are un tip real, atunci ecranul va afișa: s = l.5E + 01.

Când se execută o instrucțiune de ieșire, toate elementele din lista de ieșire sunt tipărite unul după altul. Deci, ca urmare a operațiunii operatorului de scriere (1, 20, 300), pe ecran va fi afișată o secvență de cifre 120300, care va fi percepută de noi ca numărul 120300 și nu ca trei constante numerice separate. . Puteți face datele de ieșire mai lizibile în diferite moduri:

Format de iesire este un număr întreg specificat după două puncte care determină câte poziții pe ecran ar trebui să ocupe valoarea afișată. Dacă există mai puține cifre în număr decât pozițiile rezervate acestuia pe ecran, atunci pozițiile libere sunt umplute cu spații în stânga numărului. Dacă numărul specificat în formatul de ieșire după două puncte este mai mic decât este necesar, atunci acesta va fi mărit automat la minimul necesar.

Pentru a scoate un număr real în format de virgulă fixă, în lista de ieșire sunt specificați doi parametri pentru fiecare expresie:

  1. numărul total de posturi alocate pentru acest număr;
  2. numărul de poziții din partea fracționară a numărului.

Când este executată o nouă instrucțiune de scriere, ieșirea continuă pe aceeași linie. Pentru a trece la o nouă linie, utilizați instrucțiunea writeln. Nu există alte diferențe între declarațiile de scriere și de scriere.

4.2.2. Primul program Pascal

Folosind operatorii considerați, vom compune un program care calculează circumferința și aria unui cerc cu o rază de 5,4 cm.

Datele inițiale din această problemă sunt raza: r - 5,4 cm Rezultatul programului ar trebui să fie valorile C - circumferința și S - aria cercului. С, S și r - valori de tip real.

Datele și rezultatele inițiale sunt legate de relațiile cunoscute din cursul de matematică: С = 2πr, S = πr +. Programul care implementează calcule folosind aceste formule va arăta astfel:

Acest program este corect și rezolvă problema. Rulându-l pentru execuție, veți primi următorul rezultat:

Și totuși, programul pe care l-am compilat are un dezavantaj semnificativ: găsește circumferința și aria unui cerc pentru o singură valoare a razei (5,4 cm).

Pentru a calcula circumferința și aria unui cerc pentru o valoare de rază diferită, va trebui să faceți modificări direct textului programului, și anume, să schimbați operatorul de atribuire. Modificarea unui program existent nu este, cel puțin, întotdeauna convenabilă (de exemplu, când programul este mare și există mulți operatori de atribuire). Mai jos vă veți familiariza cu operatorul care vă permite să introduceți datele inițiale în timpul funcționării programului, fără a recurge la modificarea textului programului.

4.2.3. Introducerea datelor de la tastatură

Operatorul de citire este folosit pentru a introduce valorile variabilelor în RAM:

Când instrucțiunea de citire este executată, computerul intră în modul de așteptare a datelor: utilizatorul trebuie să introducă datele de la tastatură și să apese tasta Enter. Mai multe valori ale variabilelor de tipuri numerice pot fi introduse separate prin spații sau virgule. La introducerea variabilelor caracter, spațiul și virgula sunt tratate ca simboluri, deci nu pot fi inserate.

Prima valoare introdusă de utilizator a unei variabile este plasată în celula de memorie al cărei nume se află mai întâi în lista de intrare și așa mai departe. Prin urmare, tipurile de valori de intrare (flux de intrare) trebuie să corespundă tipurilor de variabile specificate în secțiunea declarație variabilă.

Exemplu... Lăsa

var i, j: întreg; x: real; a: char;

Să atribuim variabilele i, j, x și valorile 1, 0, 2.5 și „A”. Pentru a face acest lucru, vom folosi operatorul de citire (i, j, x, a) și vom organiza fluxul de intrare într-unul din următoarele moduri:

Aici nu numai că am folosit diverși separatori (spațiu, virgulă), dar am reprezentat și fluxul de intrare ca una, două și patru linii.

De asemenea, puteți utiliza instrucțiunea readln pentru a introduce date de la tastatură, care diferă de instrucțiunea read doar prin faptul că, după ce este executată, cursorul se deplasează pe o nouă linie.

Să îmbunătățim programul n_1 organizând datele introduse în el folosind instrucțiunea read. Și pentru ca utilizatorul să știe pentru ce este programul și să înțeleagă ce fel de acțiune așteaptă computerul de la el, vom afișa mesajele text corespunzătoare folosind operatorul writeln:

Rezultatul programului îmbunătățit:

Acum, programul nostru poate calcula circumferința și aria unui cerc pentru orice valoare a lui r. Cu alte cuvinte, rezolvă nu o singură problemă, ci o întreagă clasă de probleme. În plus, programul organizează în mod clar și convenabil introducerea datelor inițiale și ieșirea rezultatelor. Acest lucru asigură o interfață prietenoasă cu utilizatorul.

Cel mai important lucru

Operatorii de intrare read și readln sunt utilizați pentru a introduce valorile variabilelor în RAM.

Instrucțiunile de ieșire write și writeln sunt folosite pentru a scoate date din RAM pe ecranul monitorului.

Introducerea datelor inițiale și rezultatele rezultatelor trebuie organizate clar și convenabil; acest lucru asigură o interfață prietenoasă cu utilizatorul.

Întrebări și sarcini

  1. Scrieți o declarație care oferă intrarea valorii variabilei summa în timp ce programul rulează.
  2. Variabilelor întregi i, y, k trebuie să li se atribuie valorile 10, 20 și, respectiv, 30. Scrieți instrucțiunea de intrare corespunzătoare fluxului de intrare:
      a) 20 10 30
      b) 30 20 10
      c) 10 30 20
  3. Descrieți variabilele necesare pentru a calcula aria unui triunghi de-a lungul celor trei laturi ale sale și notați operatorul care furnizează datele de intrare necesare.
  4. Care este rezultatul afirmației?
      a) scrie (a)
      b) scrie (1 a")
      c) scrieți (1 a = 1, a)
  5. Ce tip este variabila f dacă, după executarea instrucțiunii write (f), a fost afișat următorul număr?
      a) 125
      b) 1,25E + 2
  6. Cum poți afișa un număr real în format fix?
  7. Scrieți operatorii pentru introducerea a două numere și tipărirea lor în ordine inversă.
  8. Un fragment al programului este dat:

    Citeste o); citiți (b); c: = a + b; scrie (a, b); scrie (e)

    Simplificați-l prin reducerea numărului de instrucțiuni de intrare și de ieșire.

  9. Un fragment al programului este dat:

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

    Ce numere vor fi afișate pe ecranul computerului?

  10. Scrieți un program care calculează aria și perimetrul unui dreptunghi de-a lungul celor două laturi ale sale.

„Imprimantă pentru imprimarea cardurilor de plastic” - Posibilitatea de a plasa de două ori mai multe informații pe un card de plastic. Preț. O imprimantă pentru imprimarea cardurilor din plastic. ZEBRA P110i / P120i. Prezentare generală a gamei de modele. Imprimante economice pentru carduri din plastic color. Performanță ridicată Gamă largă de codificatoare opționale.

„Periferice PC” - Periferice. Imprimante. Înregistrare. Camere digitale. Ierarhia de conectivitate. Adaptoare video. Clasificarea PU. Universal Serial Bus. CD-R. Opțiuni de selecție. Bliț încorporat. Pionierii. Natură. Modem. Terminal video. Scanere. periferice PC. Clasificarea șoarecelui.

„Mijloace de intrare și ieșire a informațiilor” - Scanner. Plotter. CRT. Imprimante. Tastatură. Camere digitale și camere foto. Funcții. Dispozitiv de intrare universal. Dispozitive de intrare și ieșire a informațiilor. Tabletă grafică. Mouse.

„Dispozitive de ieșire a informațiilor” - Dispozitiv computer. Cu cât rezoluția monitorului este mai mare, cu atât calitatea imaginii este mai mare. Dezavantajele imprimantelor cu jet de cerneală: Consum mare de cerneală; Costul ridicat al realimentării. Monitoarele cu ecran plat cu cristale lichide (LCD) sunt compacte și nu au radiații. Dispozitive de ieșire a informațiilor. Monitorul este un dispozitiv universal de ieșire a informațiilor.

„Imprimante” - Local. Cuptor, cuptor, cuptor - unitatea în care tonerul este copt în hârtie. Laser. Matrice (ac). În timp, își pierd proprietățile și sunt supuse înlocuirii regulate de către un specialist. Inkjet. Reţea. Modificat de utilizator. Caracteristicile imprimantelor. Dezvoltator, purtător, dezvoltator - cele mai mici particule de metal care transferă tonerul pe rola foto.

„Subsistem I/O” - Punct de întrerupere. Mese. Amplasare continuă. Atribut. Permisiuni pentru fișiere. O listă conexă de indici. Date. Organizarea fizică. Acces direct la memorie. Fișier secvenţial indexat. Montare. I/O controlat de întreruperi. Permisiuni de acces la director. Organizarea muncii paralele.

Sunt 27 de prezentări în total

Codul programului este prezentat în Fig. 4.3-9.

Opțiune Strict On Opțiune Explicit On Imports System.Math Public Class Form1 "Funcția de introducere a coordonatelor unui punct în TextBox Funcția vvod (ByVal T As TextBox) As Single Return CSng (Val (T.Text)) End Function" Procedura pentru afișarea rezultatului în TextBox Sub vivod (ByVal Z As Single, ByVal T As TextBox) T.Text = CStr (Z) End Sub „Funcție pentru calcularea lungimii unui segment prin coordonatele a două puncte Funcție Publică Lungimea unui segment (ByVal x1 Ca Single, _ ByVal y1 Ca Single, ByVal x2 Ca Single, _ ByVal y2 Ca Single) Ca Single Return CSng (Sqrt ((x2 - x1) ^ 2 + (y2 - y1) ^ 2)) End Function " Procedura de calculare a perimetrului și aria unui triunghi 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 = Lungimea segmentului (x1 , y1, x2, y2) "Apelați funcția de deducere pentru segmentul B = Lungimea segmentului (x2, y2, x3, y3) ) C = Lungimea segmentului (x3, y3, x1, y1) P = (A + B + C): Pp = P / 2 S = CSng ( Sqrt (Pp * (Pp - A) * (Pp - B) * (Pp - C))) End Sub "Procedura de gestionare a evenimentului de apăsare a butonului Button1 Private Sub Button1_Click (ByVal expeditor Ca System.Object, _ ByVal e Ca sistem. EventArgs) Handles Button1.Click Dim x1 Ca Single, x2 Ca Single, x3 Ca Single Dim y1 Ca Single, y2 Ca Single, y3 Ca 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 sender As System.Object, _ ByVal e As System.EventArgs) Handles Button2.Click End End Sub End Class

Executarea aplicației și obținerea rezultatelor

Rezultatul este prezentat în Fig. 4.3-10.

Dovada corectitudinii rezultatului

A =
= 2,82843 B =
= 2

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


Întrebări de control pe această temă

„Structura programelor, modulelor și procedurilor VB.

Instrumente de programare a algoritmilor cu structură liniară "

1. Ce este un model matematic?

2. Care sunt pașii principali implicați în rezolvarea problemelor pe un computer?

3. Ce etape ale rezolvării problemelor computerului se desfășoară fără participarea unui computer?

4. Ce se numește model matematic al unui obiect sau fenomen?

5. Care sunt etapele succesive ale procesului de dezvoltare a programului?

6. Ce se numește algoritm?

7. Care sunt principalele proprietăți ale unui algoritm?

8. Care sunt modalitățile de a descrie algoritmii?

9. Ce simboluri grafice sunt de obicei folosite pentru a reprezenta în diagramele algoritmice?

10. Cum funcționează interpretul?

11. Cum funcționează compilatorul?

12. Ce algoritm se numește liniar?

13. Ce algoritm se numește circular?

14. Ce algoritm se numește forking?

15. Care este diferența dintre transferul rezultatelor executării funcțiilor și procedurilor?

16. Obținerea unui rezultat plauzibil dovedește că programul este corect?

17. Ce erori pot rămâne nedetectate dacă nu verificați (vezi, defilezi) programul?

18. Cum este testarea unui program diferită de depanarea lui?

19. Poate fi folosită testarea pentru a demonstra corectitudinea unui program?

20. În ce etapă a programului sunt calculate rezultatele testelor de referință?

21. Care sunt principalele etape ale procesului de testare?

22. Care este diferența dintre erorile de sintaxă și erorile semantice?

23. Ce indică lipsa mesajelor de eroare de sintaxă de la aparat?

24. Ce fel de erori nu reușește să detecteze traducătorul?

25. Ce este un program?

26. În ce etapă are loc căutarea și eliminarea erorilor din program?

27. Ce este un sistem de programare?

28. Ce este o procedură?

29. Care sunt beneficiile unui program cu proceduri?

30. Ce instrumente de programare procedurală sunt disponibile în limbajul VB?

31. Cum este schimbul de date între procedurile individuale ale programului?

32. Care sunt parametrii reali și formali?

33. Cum se trece ca parametru: constantă, variabilă, expresie?

34. Cum sunt utilizate variabilele globale?

35. Cum sunt utilizate variabilele locale?

36. Care sunt parametrii formali?

37. Care sunt parametrii efectivi?

38. Ce se întâmplă când se apelează la o procedură?

39. Cum pot fi transferați parametrii unei proceduri?

40. Ce parametri sunt trecuți după valoare?

41. Ce parametri trec la adresa?

42. Ce sunt instrumentele de programare procedurală?

43. Care este rezultatul executării funcției?

44. Cum declari variabilele individuale, astfel încât acestea să fie locale în interiorul funcției?

45. Ce operator este folosit pentru a părăsi o funcție mai devreme?

46. Ce este monitorizat la apelarea funcțiilor și procedurilor?

47. Cum declari parametri formali pentru a trece un parametru variabil după valoare?

48. Cum declari parametri formali pentru a trece un parametru variabil după adresă?

49. Cum este apelată o procedură de funcție dintr-un program care apelează?

50. Care poate fi rezultatul procedurii?

51. Ce operator este folosit pentru a ieși din procedură mai devreme?

52. Unde pot fi găsite descrieri ale funcțiilor și procedurilor?

53. Unde va fi disponibilă variabila declarată folosind declarația Publică?

54. Unde poate fi localizat un operator privat?

55. Ce este un comentariu și regulile pentru a-l scrie?

56. Care sunt semnificațiile variabilelor de la începutul programului?

57. De ce sunt descrise (definite) procedurile și funcțiile?

58. Cum se numesc procedurile?

59. Cum se numesc functiile?


Informații similare.


Top articole similare