0% au considerat acest document util (0 voturi)
21 vizualizări77 pagini

Manual PSeInt

Acest document prezintă o introducere în utilizarea programului PSeInt, un interpret de pseudocod. Explică ce este PSeInt, cum se instalează și cum se scrie primul program. De asemenea, acoperă subiecte precum diagramele de flux, declararea variabilelor, operatorii, instrucțiunile condiționale și cele de ciclu. Documentul oferă instrucțiuni pas cu pas pentru a învăța să programezi cu PSeInt folosind pseudocod.

Tradus de

ScribdTranslations
Drepturi de autor
© All Rights Reserved
Respectăm cu strictețe drepturile privind conținutul. Dacă suspectați că acesta este conținutul dumneavoastră, reclamați-l aici.
Formate disponibile
Descărcați ca PDF, TXT sau citiți online pe Scribd
0% au considerat acest document util (0 voturi)
21 vizualizări77 pagini

Manual PSeInt

Acest document prezintă o introducere în utilizarea programului PSeInt, un interpret de pseudocod. Explică ce este PSeInt, cum se instalează și cum se scrie primul program. De asemenea, acoperă subiecte precum diagramele de flux, declararea variabilelor, operatorii, instrucțiunile condiționale și cele de ciclu. Documentul oferă instrucțiuni pas cu pas pentru a învăța să programezi cu PSeInt folosind pseudocod.

Tradus de

ScribdTranslations
Drepturi de autor
© All Rights Reserved
Respectăm cu strictețe drepturile privind conținutul. Dacă suspectați că acesta este conținutul dumneavoastră, reclamați-l aici.
Formate disponibile
Descărcați ca PDF, TXT sau citiți online pe Scribd

Programare cu PSeInt

Programare în:

PSeInt
Por Lic. Rommel Castillo Suazo
Paragraful original LPP

Implementat în PSeInt de

Alejandro Caro

Pág. 1
Programare cu PSeInt

Indice
Tema Pág.
Ce este PSeInt? 3

Instalare 4

Primul meu program 5

Diagramme de flux 10

• Editor de diagrame de flux

Declară variabilă 12

Operatori 13

Atribuiri și operații matematice într-un program. 14

Instrucciones Condiționale
• Și 16
• Ș i anidat 18
•Conform 20
Operador 22
•Operator & 24

Instructiuni de ciclu
• Ciclo Mientras 26
Ciclu pentru 32
o Cicluri Înglobate 32
o Ciclul pentru negativ 34
• Ciclul Repetare 37

SubProcesos 40
•Parametrii de intrare sau valoare
•Parametrii variabilei
Subprocese cu retur 46

Dimensiuni
•Dimensiunea unei Dimensiuni 50
Dimensiuni bidimensionale 57
Registre (Informații teoretice) 59
• Dimensiuni cu înregistrări 61
Fișiere text (Informații teoretice) 62
Pagină 2
Programare cu PSeInt

Anexă:
Editor de diagrame de flux
• Ș terge PSeInt
•Edita ț i codul sursă

Pagină 3
Programare cu PSeInt

Ce este PSeInt?
PSeInt este abrevierea pentru Interpretul de Pseudocod.
Pseudocod. Acest program a fost creat ca proiect final pentru materia
Programarea Ide a carierei Inginerie în InformaticăFacultatea de
Inginerie și Științe Hidraulicede laUniversitatea Națională a Litoralului, del en
acel moment studentul Pablo Novara.

Programul folosește pseudocod, un limbaj de programare fictiv al cărui


misiunea principală este ca programatorul să se poată concentra asupra aspectelor logice

de la programare, lăsând partea tehnică pentru când se va vedea sintaxa


de un limbaj de programare adevărat.

PSeInt include în editorul său diverse unelte pentru a ne ajuta să creăm și


a stoca programe în acest limbaj peculiar, a le executa direct din
interfața sa, sau chiar corectarea posibilelor defecte pe care le găsim în aceasta

dezvoltare.
Se poate a găsi un putere en
[Link]/2011/10/[Link]

De ce să foloseș ti PSeInt ș i nu alt interpret sau compilator


de pseudocod?
1) Pentru că este software liber, fără a fi nevoie să cheltuiți bani, făcând
giros, etc., încălcând drepturile de autor sau creând ori obținând
cracs, că uneori link-urile lor sunt inactive și/sau programele nu permit
a crăpa.
2) Este constant asistat de creatorul său, spre deosebire de ceilalți
compilatoare și interpretoare de pseudocod care sunt discontinue.
3) Pune la dispoziție un forum pentru raportarea erorilor și obținerea de ajutor, este de asemenea

constant în atenția creatorului său, ceea ce ajută la îmbunătățirea programului.


4) Dispune de o asistență extinsă, care, ca să nu fie redundant, ajută la învățare.

să-l folosesc și să învăț limba.


5) Codul său sursă este disponibil, împreună cu instrucțiuni pentru a-l executa, astfel încât

Pág. 4
Programare cu PSeInt

că dacă știm C++ vom putea să-l personalizăm și să-l corectăm.


Are exportare în C++ pentru a putea vedea același cod în C++, ceea ce
ajutor pentru a învăța C++

5) Este vorba despre un interpret și nu un compilator, fișierul nu trebuie să fie


salvat pe disc pentru a fi executat, făcând utilizarea acestuia mai comodă.

Instalare

Deschideți fișierul " [Link] " (xxxx este numărul versiunii)


actual), care va fi furnizat de pagina proiectului, făcând dublu clic
se execută instalatorul.
Apoi apăsăm următorul -> următorul și așa mai departe până la instalare.

Note preliminare

Înainte de a începe să programezi, este convenabil să ai o idee despre


funcționarea generală a PSeInt.

Pag. 5
Programare cu PSeInt

Când deschidem PSeInt pentru prima dată, apare un mesaj întrebându-ne


ce profil dorim să utilizăm pentru a evita confuziile cu limbajul.

Acest manual se folosește cu două profile. Profilul strict, care este cel mai asemănător

un limbaj de programare real, trebuie respectat întocmai


formatul pseudocodului propus de Novara. Sintaxa flexibilă o
folosim pentru a executa anumite coduri care necesită mai multă flexibilitate la
ora de execuție. Cu excepția cazului în care se indică utilizarea sintaxei flexibile, se

va folosi sintaxa strictă.

Pag. 6
Programare cu PSeInt

Notă: Nu confundaț i Sintaxa flexibilă cu Profilul flexibil

Să mergem la Configurare → Opțiuni de Limbă → Alegem Strict și


apăsăm accept.

Deschide PSeInt
Pentru a deschide PSeInt dăm dublu clic pe shortcut-ul PSeInt de pe birou și
ne deschide programul.

Scrierea primului meu program

Odată ce am deschis PSeInt și având configurată sintaxa strictă,


ne prezintă o pagină care spune Acasă fără_titlu și FinProces, între
aceste două linii vom scrie primul nostru program:

Apoi îl salvăm

Pág. 7
Programare cu PSeInt

Scriem numele programului în fereastra care ne apare și apoi


apăsăm Salvare ca...

Acum că i-am salvat, avem nevoie ca programul nostru să funcționeze și


scrie pe ecran Unitec, deși PSeInt subliniază cu roșu erorile de
sintaxă, de asemenea, este bine să verifici sintaxa pentru a vedea erorile. Pentru aceasta

vom executa, → verificare sintaxă. Oricum, dacă am avea erori, el


ne-ar sublinia fraza unde se află greșeala, apoi o corectăm și o
revenim la execuție, până când nu apare nimic subliniat cu roșu.

După ce programul nu are erori de compilare, nu apar linii


subrayate cu roșu, selectăm executare, apoi executare, și pe ecran
va apărea cuvântul Unitec care este ieșirea din program, de asemenea pentru a executa
programul poate folosi pictograma de executare sau apăsa F9:

Și la execuție s-a realizat cu succes, la final va apărea un mesaj

Pag. 8
Programare cu PSeInt

spunând că programul s-a executat corect.

De fiecare dată când dorim să scriem un program în PSeInt, începem sub


cuvântul

Proces fără titlu

//scriem corpul programului;

FinProceso

Și procesul principal se încheie cu cuvintele cheie FinProces care indică


finalul programului principal.
Combina asignarea unui nume programului, înlocuind sin_titulo cu numele
ce vrem să-i dăm. Aduceți-vă aminte că numele pseudocodului nu are nicio sintaxă
poate avea spații și în sintaxa strictă nici caractere accentuate. Nu
a confunda numele procesului cu cel al fișierului în pseudocod.

Cuvântul rezervat Escribirescrie pe ecran ceea ce este încercuit între


comillas. În sintaxa flexibilă putem de asemenea să utilizăm cuvântul
ImprimiroAfiș [Link], cu excepț ia cazului în care se indică faptul că se utilizează

sintaxă flexibilă, noi vom folosi întotdeauna sintaxă strictă.

Concatenarea textului
Pag. 9
Programare cu PSeInt

Procesul de concatenare
Scrie "Primul meu program";
Scrie ' în PSeInt ' ;
FinProceso

Ieșirea programului este

Primul meu program în PSeInt

Acest lucru se datorează faptului că sfârșitul liniei face un retur și coboară la următoarea, acum da

ne-ar plăcea să scriem:


Primul meu program
În PSeint
Nota: Las comillas trebuie să fie întotdeauna simple ș i niciodată tipografice, deoarece acestea
ultimele sunt simboluri grafice pe care nici un limbaj de programare nu le-a
momentul poate interpreta. Întotdeauna din oficiu în editorii de text ai
IDES se scriu cu ghilimele simple, dar când se importă sau se formatează
pseudocod venit de afară, trebuie corectat în ghilimele, altfel
ar provoca o eroare de compilare.

Programul ar fi în acest fel, exemplu

Procesul primer_programa
Scrie "Primul meu program" Fără a Sări;
Scrie " în PSeInt ";
FinProceso

Prin aceasta deducem că instrucțiunea Sin Saltar concatenează conținutul unei


șir de text și conținutul următor se scrie pe prima linie.

Amintește-ți că, în sintaxa strictă, plasarea punctului și a virgulei la sfârșitul


sentințele sunt obligatorii, în timp ce opțiunile sunt flexibile.

Notă: PSeInt nu este sensibil la majuscule, prin urmare, scrierea cu majuscule ș i


minusculele sunt la fel ș i nu generează erori de niciun fel, dar din respect pentru
sintaxa arătată de butoane trebuie scrisă cu literă mare la început, evitând
aș a erori de format.
Pág. 10
Programare cu PSeInt

Nota 2: În sintaxa strictă, instrucț iunile se încheie întotdeauna cu punct ș i virgulă.

Pag. 11
Programare cu PSeInt

Diagrame de flux
PSeInt este capabil să interpreteze pseudocodurile și să le transforme în diagramă de
flux, pentru asta dispune de un vizualizator și editor de diagrame de flux. Acesta este
util dacă vrem să analizăm pseudocodul dintr-un punct de vedere grafic.

Se accede apăsând pe pictograma de la bara de sarcini. PseInt nu este doar


capabil să le vizualizeze, ci și să le editeze.

Exemplu:

Consideră următorul program

Procesul primului_program
Scrie 'Primul meu program' Fără a Sări;
Scrie " în PSeInt "
FinProceso
Reprezentarea sa în diagramă de flux este următoarea:

Aici vedem începutul procesului reprezentat ca o elipsă, sentința


scrisă reprezentată într-un dreptunghi, căci este un afiș

Pag. 12
Programare cu PSeInt

Nota1: Pe pagina[Link]
page=[Link] de pe site-ul oficial PSeInt se explică structura celor
diagrame de flux.
Nota2: În anexă se explică cum să editezi diagramele de flux.

Declararea variabilelor
În sintaxă strictă, ori de câte ori avem nevoie să facem un program, vom avea
trebuie să declarăm variabile pentru a putea salva informațiile pe care le introducem în

programa.
Tipurile de date de bază acceptate sunt următoarele:

1. Entero : doar numere întregi.


2. Real : numere cu cifre zecimale.
3. Caracter: când vrem să salvăm un caracter.
4. Logic: când avem nevoie să salvăm o expresie logică
(adevărat sau fals)
5. Cadena: când vrem să păstrăm șiruri de caractere.
Nota: Cadena ș i Caracter sunt termeni echivalenț i, nu generează eroare că...
să scriem în mod indistinct
Exemple

Dacă vrem să declarăm o variabilă de tip întreagă ar fi astfel:

Definirea numărului ca întreg;

Numărul devine o variabilă de tip întreg


Nota: În sintaxă strictă, variabilele nu pot avea caractere accentuate.
Dacă vrem să declarăm o variabilă de tip Cadena pentru a salva numele, ar fi astfel
Dimensiune număr [25];
Definire număr Ca Șir;
Nota: în sintaxă strictă, variabilele nu pot avea caractere
ascentuados
Numele ar fi o variabilă care ar păstra doar 25 de caractere, deși tu poți

Pag. 13
Programare cu PSeInt

a scrie mai mult de 25 de litere, el în memorie va păstra doar primele 25


caractere.
Nota: Ver secț iunea Dimensiuni pentru mai multe detalii.
Notă: Deș i aceasta nu generează erori la execuț ie, dacă sunt declarate
varii variabile simultan pentru a evita o eroare de format - concordanț a trebuie
pluralizaț i tipul de variabilă. Ex.: Definiț i a, b, c ca întregi;
Nota2: Pluralul de Caracter este Cadena

Operatori
PSeInt oferă următorii operatori:

Operador Func ț ie

() Agruparea expresiilor
^ Operator pentru exponențiere
* Operator de multiplicare
/ Operator de diviziune
% ó Mod Operator de calcul al restului
trunc(valor1 / valor2); Sintaxa de diviziune întreagă
&óy Operator logică și
+ Operator de adunare
- Operator de Resta
|óo Operador logic o

Nota: În sintaxă flexibilă, putem folosi ș i operatorii & | ș i mod


cum ș i o ș i % respectiv.

Citiț i valorile ș i stocaț i-le în variabile


Când vrem să citim o valoare și să o stocăm într-o variabilă
vom folosi cuvântul Leer < variabilă>;. și când dorim să atribuim o valoare sau
o operație matematică vom folosi <- care este simbolul de < plus -.

Exemplu despre citirea datelor

Pág. 14
Programare cu PSeInt

Procesul lectura_datos
Dimensiune nume[25];
Definire număr Ca Ș ir;
Introduceț i-vă numele;
Leer nume[24];
Bine ai venit
Scrie nume[24];
FinProceso

Programul declară o variabilă pentru nume, care stochează 25 de caractere


maximum, introduceți numele și apoi scrieți pe ecran Bun venit numele
ce s-a introdus. Un lucru important este că atunci când se dorește prezentarea valorii de

variabila aceasta nu se scrie între ghilimele.

Diagrama sa de flux:

În tabel ne este arătat cum s-a putut înlocui un bloc al programului care
ne-ar da același rezultat
Caso 1 Cazul 2
Pagină 15
Programare cu PSeInt

Bine ai venit Scrie 'bun venit' fără a sări, nume;


Scrie numele;

Nota: Nu este necesar să se indice câte caractere are ș irul în PSeInt


trebuie să citim, dar trebuie să indicăm dacă declarăm dimensiunea ca un vector
de caractere.

Atribuiri ș i operaț ii matematice în


un program.
Simbolul <- îl vom folosi pentru a atribui valori variabilelor, exemplu
Salariu<-500; Cu această instrucț iune, atribuim valoarea de 500 la
variabile salariale care ar putea fi declarate ca întregi sau reale

Nume<-"juan"; cu această instrucțiune atribuim șirul "Juan" la


variabilă nume care este o variabilă de tip șir

Exemplu despre atribuirea de valori variabilelor

Proces de creș tere


Definir sueldo, aumento Como Enteros;
Dimensiune număr[25];
Definire număr Ca Ș ir;
Introduceti numele angajatului
Citeș te nume[24];
Introduceti salariul angajatului
Citeș te salariul;
Aumento <- sueldo * 1.25;
Salariul nou cu 25% creș tere
Scrieț i creș tere;
FinProceso
Programul cere numele și salariul angajatului, apoi calculează 25% din
aumento de salariu și îl păstrează în variabila creștere și apoi prezintă noul
salariu.
Diagrama de flux:

Pagină 16
Programare cu PSeInt

Exemplu despre suma de ș iruri

Procesul suma_de_cadenas
Dimension nombre[25],apellido[25],completo[25];
Definirea numelui, prenumelui, complet ca ș iruri;
Scrieț i "Numele Dvs.";
Citeș te nume[24];
Scrie " Nume de familie ";
Citeș te numele de familie[24];
Completo <- nume[24] + " " + prenume[24];
Escribir "Nombre completo" , completo[24];
FinProceso
Variabila completă ia valoarea numelui plus un spațiu alb plus
nume de familie și îl salvăm într-o variabilă unde acum avem numele și
nume de familie.

Nota: Nu este strict necesar să dimensionaț i ș iruri de caractere. Vezi


pagina care tratează tema dimensiunilor.

Pág. 17
Programare cu PSeInt

Instruț iuni condiț ionale


Anterior am făcut programe care doar efectuează calcule, dar
programarea este mai interesantă atunci când programele noastre își
deciziile proprii, în PSeInt există instrucțiuni condiționale care se
descriu în continuare :
Instrucțiune Dacă:

sintaxă

Dacă condiția Atunci


instrucțiuni;
FinSi

Și condiție Atunci
instrucțiuni;
Sino
instrucțiuni;
FinSi

Exemplu despre decizii

Introduceți un număr și dacă numărul este mai mare de 100, scrieți pe ecran
numărul este mai mare de 100.

Proces de decizie
Definire num ca Întreg;
Introduceț i un număr
Citire num;
Dacă num > 100 atunci
În program, va scrie doar că numărul a fost mai mare de 100 când îndeplinește
dacă condiția num > 100 altfel nu face nimic.

Pagină 18
Programare cu PSeInt

Exemplu despre decizii

Introduceți numele angajatului, orele lucrate, apoi Calculați plata


brut (50 lps pe oră) IHSS și total de plată, prezentarea rezultatelor programului

Nota: asigurarea socială este 84 dacă salariul este mai mare de 2400, altfel este 3,5% din

salariul angajatului.

Procesul angajaț ilor


Definirea orelor ca Întregi;
Definirea Pbruto, ihss, tp ca Reale
Dimensiune nume[25];
Definire număr Ca Ș ir;
Introduceț i numele
Citire nume[24];
Introduceț i orele lucrate
Citeș te ore;
Pbruto<-ore*50;
Dacă pbruto > 2400 Atunci
Ihss<-84;
Sino
Ihss<-0.035*pbruto;
FinSi
Tp<-pbruto-ihss;
Escribir "Pago bruto " , pbruto;
Asigurare Socială, ihss;
Escribir "Total a pagar " , tp;
FinProceso

În acest program s-a folosit în calculul ihss o decizie care are două
ieșiri una când se îndeplinește condiția care este atunci și cealaltă când
nu se respectă condiția care este sine, acum acest lucru ne ajută să ne
programele pot lua o decizie când condiția este îndeplinită și alta
când nu se îndeplinește.

Acum, în exercițiul următor care se prezintă, nu mai există două soluții la


condiție în loc de trei, când se întâmplă acest lucru se folosesc condiții înfipte.

Pág. 19
Programare cu PSeInt

Sintaxa unei condiții imbricate :


Ș i condiț ia 1 Atunci
Instrucț iuni;
Dacă condiț ia 2 Atunci
Instruț iuni;
Sino si condiț ia 2 atunci
Instrucț iuni;
Sino
Instrucț iuni;
FinSi
FinSi
FinSi

Exemplu despre decizii încorporate

Introduceți numele angajatului, zona de lucru, vânzările angajatului,

apoi calculează-ți comisionul pe baza unui procent bazat pe zonă


de muncă, apoi determinați IHSS și totalul de plată, prezentați datele.

Tabel pentru calculul comisionului

Zona procentajul comisionului

A 6%

B 8%

C 9%

Procesul Comisiei
Definire zonă ca Caracter;
Dimensiune nume[25];
Definire nume Ca Siret;
Definir ventas , comis , ihss, tp Como Reales;

Introduceti numele angajatului;


Citeș te nume[24];
Introduceti vânzările angajatului;
Cumpăraț i vânzări;
Introduceti zona de lucru
Zona de citire;
Pagină 20
Programare cu PSeInt

Ș i zona ='A' Atunci


comis<- 0.06 * ventas;
Dacă zona='B' Atunci
comis<- 0.08 * vânzări;
Dacă zona='C' Atunci
comis<- 0.09 * vânzări;
Sino
comis<- 0;
FinSi
FinSi
FinSi
Si comis > 2400 Entonces
ihss <- 84;
Sino
ihss<-0.035*comis;
tp<-comis - ihss;

Escribir " Comsión ganada " , comis;


Asigurare Socială, ihss;
Total de plată
FinProceso

În acest program folosim decizii imbricate pentru calcularea comisionului


del angajat, acest lucru deoarece existau mai multe opțiuni din care să se aleagă.
Ultimul sinon unde comisionul este 0 se face pentru că nu suntem siguri de
să se asigure că persoana care operează programul introduce corect zona, dacă se
Dacă intri într-o altă zonă permisă, comisionul este zero.

Pagină 21
Programare cu PSeInt

Structură Conform
Aceasta se folosește ca substitut în unele cazuri al "dacă" înnodat, deoarece este mai

practic la aplicarea acestuia în evaluarea unor condiții.

Sintaxă

Conform variabilei Hacer

valoare1, valoare2, valoare3, … :

instrucțiuni;
valoare1, valoare2, valoare3, …
instrucțiuni;

.
.
În alt mod :
instrucțiuni

FinSegun

Valorile de evaluat se separă prin virgule dacă sunt mai multe, așa cum apare în
la sintaxă valoare1,valoare2 etc., de asemenea se poate folosi dacă ne indică că
în cazul în care nu este selectată niciuna dintre instrucțiunile anterioare, se execută.

Pagină 22
Programare cu PSeInt

Notă importantă: În sintaxă strictă, opț iunile din "Se" trebuie să fie întotdeauna
del tipo numérico. Para poder evaluar opciones del tipo texto se debe
personalizaț i limbajul utilizând sintaxă flexibilă în editor.

Exemplu despre aplicarea structurii Potrivit

În exercițiul anterior am folosit decizii învățate pentru a determina comisionul,


acum vom folosi o structură conform.
Pentru asta am activat sintaxa flexibilă mergând la personalizare limbaj →
Personalizar… → Utilizar sintaxis flexible

Proces exemplu_caz
Definirea zonei ca caracter;
Dimensiune număr[25];
Definire număr Ca Ș ir;
Definir ventas , comis , ihss, tp Como Reales;
Introduceț i numele angajatului
Citeș te nume[24];
Introduceț i vânzările angajatului
Citeș te vânzări;
Introduceț i zona de lucru
Zona goală;
Conform Zona Hacer
'a','A' : comis<- 0.06 * ventas;
'b','B' : comis<- 0.08 * ventas;
'c','C' : comis<- 0.09 * ventas;
În alt mod:
comis<- 0;
FinSegun
Si comis > 2400 Atunci
ihss<- 84;
Sino
ihss<-0.035*comis;
FinSi
tp<-comis - ihss;
Comision câș tigată, comis;
Asigurare Socială, ihss;
Total de plată
FinProceso

Pág. 23
Programare cu PSeInt

Acum programul nostru recunoaște literele mari și mici în evaluare


de la zona

Utilizarea operatorului|

Operatorul | (O) este utilizat atunci când evaluăm două sau mai multe condiții și
vrem ca condiția să se îndeplinească atunci când una dintre condiții
evaluăm dacă sunt adevărate. Exemplu

Când se introduce zona în exercițiu cu structura Dacă doar


evaluam o opțiune ca zona să fie egală cu litera A și dacă utilizatorul scria
o mică minuscule nu2 era luată în considerare, dar acest lucru poate fi corectat astfel

manera :
Ș i zona ='A' | zona ='a' Aș adar
comision <- 0.06 * vânzări;
Sino Si zona='B' | zona='b' Atunci
comis<- 0.08 * vânzări;
Dacă zona='C' | zona='c' Atunci
comis<- 0.09 * vânzări;
Sino
comis<- 0;
FinSi
FinSi
FinSi

Acum condiția spune, dacă zona este egală cu litera A sau este egală cu litera a,
orice ar fi zona a sau A în ambele cazuri condiția este adevărată
acum utilizatorul poate folosi majuscule și minuscule, iar rezultatul va fi
mismo.
Exemplu despre operatorul |

Introduceți numele clientului, apoi cantitatea produsului, prețul și tipul de


cliente , calcular el subtotal , descuento , impuesto s/v, total a pagar, presentar
datele.
Discountul este de 10% dacă clientul este de tip A sau cantitatea oricărei.
produsul este mai mare de 100, altfel este de 5%.

Procesul de reducere
Pagină 24
Programare cu PSeInt

Definir precio,st,des,tp,isv Como Reales;


Dimensiune număr[25];
Definire nume ca ș ir;
Define tipM Ca Caracter;
Definirea cantităț ii ca Întreg;
Scrie "Numele clientului";
Creează nume[25];
Introduceti Tipul de client
Citeș te tipulM;
Introduceț i preț ul produsului
Preț gol;
Introduceț i cantitatea
A citi cânt
St<- pret*cant;
Si tipoM ='a' | tipoM='A' | cant>100 Atunci
Des<-st*0.10;
Sino
Des<-st*0.05;
FinSi
Isv<-(st-des) 0.12
Tp<-(st-des)+isv;
Subtotal
Escribir "Descuento ", des;
Impozit, ISV;
Total de plată
FinProceso
Reprezentarea sa în diagrama de flux:

Pagină 25
Programare cu PSeInt

După cum vedem, procesul este atât de lung încât apare cu litere foarte mici, pentru
ca să pară mai mare, mișcăm scroll-ul către noi pentru a se mări.

Utilizarea operatorului Y (&)

Operatorul Y (&) se utilizează atunci când evaluăm două sau mai multe condiții și
vrem ca condiția să fie îndeplinită atunci când cele două condiții pe care le avem
evaluându-se făcute adevărate. Exemplu

Exemplu despre operatorul &

Se introduce un număr și se dorește să se știe dacă acel număr este între 50 și 100.

Proces exemplu_operator_y
Definire număr Ca Întreg;
Scrie "Număr de evaluat";
Citeste numărul;
Dacă num >=50 ș i num<=100 Atunci
Numărul este între 50 ș i 100
Sino
Pág. 26
Programare cu PSeInt

În afara intervalului 50 ș i 100


FinSi
FinProceso

Exportaț ie în C++
PSeInt poate exporta programul algoritmului în C++. Generează doar un fișier
cu extensia .cpp (abreviere de C plus plus, c++). Nu este necesar să salvezi
preliminar fișierul în pseudocod pentru a fi exportat în C++.
Pur și simplu mergem la Fișier și selectăm Exportare în C++

Notă: Fiind în modul experimental, este posibil ca codul generat să nu fie de


todo corect, aceasta se va rezolva în versiunile următoare de PSeInt

Instruț iuni de ciclu


Am făcut programe care se repetă o singură dată, dar în programare
avem nevoie ca programele să ruleze de mai multe ori și să ne prezinte
informații la sfârșitul rulării de mai multe ori, în aceste cazuri vom folosi cicluri, care
sunt structuri de repetare, care se repetă până când se îndeplinește o condiție sau
simplemente indicăm de câte ori se vor repeta.
Nota: Pentru a evita ambiguităț ile, toate ciclurile trebuie să se încheie întotdeauna, nu
Este posibil să existe "Cicluri deschise".

Ciclul While:

Sintaxă

În timp ce condiție a face


instrucciones;
FinMientras

Ciclul while se utilizează atunci când dorești să execuți repetat un bloc


instrucțiuni bazate pe o condiție, ciclul se repetă atâta timp cât condiția este
împărtășește

Exemplu despre ciclul În timp ce folosind un contor

Introduceți 10 nume

Pág. 27
Programare cu PSeInt

Proces contabil
Definire contor Ca Întreg;
Dimensiune număr[25];
Definire număr ca ș ir;
Contador<-0;
Cât timp contor<10 Fă
Introduceț i numele
Creează un nume[24];
contador <- contador + 1;
FinMientras
FinProceso

În acest program introducem conceptul de contador, care este o variabilă


care își crește valoarea cu 1 și astfel numărăm câte nume
se vor introduce pentru a opri când introducem 10, aceasta ne spune că
condiția nu se mai îndeplinește deoarece când contorul valorează 10, condiția de
contador < 10 nu se mai îndeplinește pentru că este egal și ciclul se termină.

Exemplu despre ciclul În timp ce foloseș te acumulatoare


P. 28
Programare cu PSeInt

Introduceți 10 numere și la final prezentați suma numerelor.

Procesul acumulatoarelor

Definiț i Contador, Suma, Num ca Întregi;


Contor<-0;
Suma<-0;
În timp ce contor <10 Fă
Introduceti un numar
Citit Num;
Contador<- Contador +1;
Suma<-Num+Suma;
FinMientras
Escribir "Suma de los 10 números ", Suma;
FinProceso

Nota: Pentru a evita ambiguităț ile, numerele se introduc câte unul apăsând
introduceț i succesiv. Introduceț i-le într-un rând, separate prin spaț ii ar provoca
o eroare de necorespundere a tipurilor deoarece spaț iul este considerat un tip de
dato de ingreso mai mult ș i un spaț iu nu este un date de tip numeric.

Ciclul parcurge 10 ori și cere cele 10 numere, dar linia suma<- suma +
num, face ca variabila suma să crească valoarea sa cu numărul care se
introduce în acel moment, spre deosebire de contor, un acumulador se
incrementează cu o variabilă, acumulându-i valoarea până când ciclul se încheie, la
în final se prezintă suma, doar în acel moment trebuie să se prezinte un
acumulador, deoarece anterior nu ar reflecta suma tuturor numărului.

De fiecare dată când folosim un contor sau un acumulatoare, trebuie să-i dăm o valoare inițială.

de obicei va fi 0.

Exemplu despre ciclu în timp ce folosește un răspuns pentru a controla ieșirea


al ciclu.

Introduceți numele clientului, prețul produsului, cantitatea și apoi calculați

Pág. 29
Programare cu PSeInt

nota final, și prezentarea notei finale și a observației elevului.


Întrebați dacă doriți să continuați, la final prezentați numărul de aprobați și
reprobați.

Proces aprobat
Definire Resp Ca Caracter;
Dimensiune număr[25];
Definire nume Ca Ș ir;
Definirea na, ne, nf ca Reale;
Definirea cr,ca ca întregi;
cr<-0;
ca<-0;
Resp<-'S';
În timp ce resp<>'N' Fă
Nume al elevului
Citeș te numele;
Nota acumulată
Citeș te na;
nota examen
Citiț i-ne;
nf<- na+ne;
Dacă nf >= 60 Atunci
Tu eș ti Aprobat
ca<-ca+1;
Sino
Tu eș ti respins
cr<-cr+1;
FinSi
Escribir "Nota final " , nf;
Doriț i să continuaț i S/N
Citiț i Resp;
FinMientras
Total de respinș i
Escriba "Total de aprobados" , ca;
FinProceso

Nota: Variabilele nu pot fi declarate iniț ializate, se declară mai întâi ș i se


iniț ializează după.

Pág. 31
Programare cu PSeInt

Așa cum putem observa în liniile programului, folosim în cadrul ciclului


între timp, decizii pentru a putea număra reușitele și eșecurile care rezultă
la intrare a elevilor, dacă nota este mai mare de 60 scrie aprobat și
incrementează contorul, iar dacă nu, fă contrariul, scrie reprobat și incrementează
contorul.

Pág. 32
Programare cu PSeInt

Ciclul Pentru
Sintaxă

Pentru variabila <- valoare_initială Până valoare_finală Cu Pas Pas Fă


instrucțiuni
FinPara

Descripción

Ciclul For este utilizat în general pentru a executa un set de instrucțiuni


care se repetă un număr de ori, stabilit înainte de a executa ciclul.
Variabila :es de tip întreg
Valoare_initială: aceasta poate fi un număr întreg sau o variabilă întreagă.

Valor_final :este puede se un número entero o una variable entera.


Pas: acesta poate fi un număr întreg sau o variabilă întreagă.

Nota: pasul 1 poate fi omis, atât în sintaxă strictă cât ș i


flexibil
Ejemplo : presentar los números del 1 al 10 en la pantalla.

Proces ciclu_Pentru
Defineste I ca intreg;
Pentru I<-1 Până la 10 Cu Pasul 1 A face
Scrie I;
FinPara
FinProceso

Programul ciclului `for` stabilește numărul de ori câte va repeta ciclul.


indicând 1 până la 10 apoi variabila I ia valoarea 1 la 10 în funcție de ciclu
executând, de aceea când scrii I pentru prima dată scrii 1 a doua oară
vez 2 și așa până ajungi la sfârșit, care este 10.

Pág. 33
Programare cu PSeInt

Exemplu: despre utilizarea variabilelor în domeniul ciclului Pentru.

Procesul ciclu_Para
Definiț i I, final Ca Întregi;
Introduceț i numărul de ori pentru a repeta ciclul ;
Citeș te final;
De la I<-1 până la final cu pasul 1
Scrie I;
FinPara
FinProceso

Ahora el programa se vuelve más dinámico, nosotros podemos indicar el numero


de câte ori se va repeta ciclul, folosind o variabilă întreagă pentru a indica sfârșitul
del ciclu.
Exemplu de utilizare a ciclului Pentru, în calculul factorialului unui număr.

Proces ciclu_Pentru_negativ_cu_factorial
Definire I, număr, factorial Ca Întregi;
factorial<-1;
Introduceti numarul pentru a determina factorialul sau;
Citeș te numărul;
Pentru I<-1 până la număr cu Pas 1 A face
factorial<- factorial * I;
FinPara
Factorialul lui numărul este factorial;
FinProceso
În acest exercițiu, factorialul începe de la 1 pentru că va acumula o multiplicare și
si îl începem de la zero, ne-ar da rezultatul zero, dacă introducem 3, ciclu
se va executa de 3 ori, factorialul ar lua valoarea de 1x2x3.
Diagrama de flux:

Pág. 34
Programare cu PSeInt

Cicluri negative
PSeInt poate realiza, de asemenea, cicluri negative pentru a arăta, de exemplu
secvențe de la cea mai mare la cea mai mică, inversând doar ordinea numerelor
exercițiul anterior și plasându-l ca Pas -1
Proces ciclu_Pentru_negativ
Definire I Ca Întreg;
Pentru I<-10 până la 1 cu pas -1 fă.
A scrie I;
FinPara
FinProcesare
Nota: În cicluri negative, pasul nu poate fi omis.

Cicluri anidate
Când un ciclu se află într-un alt ciclu, se numește ciclu înglobat.

Exemplu de un ciclu înglobat

Producir la siguiente salida en la pantalla


11111
22222
Pagină 35
Programare cu PSeInt

33333
44444

Proces cicluri_anidate
Definir I,k Ca Întregi;
De la 1 până la 4 de făcut
Para K <-1 Până la 5 Fă
A scrie I Fără A Coborî;
FinPara
Scrieț i "";
FinPara
FinProceso

Când folosim bucle imbricate, variabilele pentru a gestiona buclele pentru


trebuie să fie diferite deoarece fiecare dintre ele ia o valoare diferită, în acest
exercițiu avem nevoie să se facă de 5 ori ciclul care este în interior, care este
care prezintă de 4 ori valoarea I, apoi sare o linie, pentru a apărea
grupurile de numere din fiecare linie.

Pág. 36
Programare cu PSeInt
Exemplu de un ciclu imbricat

Introduceti 5 numere si calculati factorialul pentru fiecare dintre numere.

În acest exercițiu, trebuie să introducem 5 numere, dar de fiecare dată când

introducem un număr, trebuie să calculăm factorialul, așadar


va fi nevoie de o variabilă pentru calculul factorialului, care trebuie să aibă
care se inițializează la 1 de fiecare dată când ciclul care calculează factorialul începe, dă această

modul în care ne vom asigura că variabila nu a acumulat valoarea factorialului


anterior.
Acum, cu cele de mai sus, deducem că avem nevoie de un ciclu pentru a cere datele și
altul pentru a calcula factorialul.
Procesul factorial
Definire I,k,fac,num Ca Întregi;
De la 1 la 5 Facere
Escribir " ingresar un número ";
Citeș te Num;
fac<-1;
Pentru k <-1 Până la num Fă
fac<-fac*K;
FinPara
Scrie "factorialul lui ", num , " este ",fac;
FinPara
FinProceso

Pag. 37
Programare cu PSeInt

Ciclul Repetare
Sintaxis:

Repetare

Instruțiuni;

Până la ce condiție

Descriere

Ciclul Repetare este opusul ciclului În timp ce, în acesta executarea se desfășoară la
se încheie până când se îndeplinește condiția impusă.
Diferența față de ciclul În timp ce constă în faptul că acesta evaluează condiția din
principiul, iar dacă acesta nu este respectat, codul care este închis în interiorul
cuerpo del mientras no se ejecuta.
În schimb, Repetare - În timp ce evaluează condiția pentru a continua
executându-se după ce a executat codul din interiorul corpului său, adică
întotdeauna se execută cel puțin o dată codul.

Nota: În profil flexibil, activând sintaxă flexibilă sau în personalizare de asemenea este
posibil să foloseș ti structura

A face
//Instruț iuni;
În timp ce

Repetare
//Instrucciuni;
În timp ce

ca alternativă la Repetare – În Timp Ce corespunde sintaxei stricte.


Aminteș te-ț i că în acest caz condiț ia iese prin diferit, spre deosebire de
Repetiț i că iese pe acelaș i lucru.

Exemplu de Repetare

Introduceți numele elevului, nota, apoi întrebați dacă dorește să continue, la


final prezenta numărul de aprobați și respinși.
Pagină 38
Programare cu PSeInt
Proces exemplu_repetare
Definire resp Ca Caracter;
Definirea notei ca fiind Reală;
Definim ca, cr Ca Întregi;
Dimensiune număr[25];
Definire număr ca Ș ir;
ca<-0;
cr<-0;
Repeti
introduceț i numele elevului
Citire nume;
Introduceti nota elevului;
Citeș te nota;
Si nota >= 60 Atunci
ca<-ca+1;
Sino
cr<-cr+1;
FinSi

Doriț i să continuaț i S/N


Citiț i răspunsul;
Până când resp='n' | resp='N';
Aprobat
Reprobati
FinProceso

și, dacă comparăm acest program cu faptele din ciclul while, vom observa
le dăm variabilei Resp o valoare inițială de 'S', pentru a fi diferită de N,
deoarece condiția se verifică la începutul ciclului, dar acum cu ciclul repeta deja
nu este necesar deoarece prima valoare a resp o ia în interiorul ciclului, care este a
întrebare pe care o punem dacă dorește să continue, iar apoi verificăm condiția.

Un lucru important despre ciclul Repetiție este, așa cum s-a spus deja, că se execută pentru

mai puțin o dată, înainte de a valida condiția de ieșire a ciclului, din acest motiv,
că întotdeauna când scriem un program care verifică condiția înainte de
pentru a intra în ciclu, trebuie folosit ciclul În timp ce.

Programul anterior nu este versiunea finală, deoarece trebuie să facem ca


utilizatorul trebuie să introducă doar S sau N când răspunde dacă dorește să continue, acest lucru ne duce la

escribir un ciclo repetir dentro del ciclo reprtir , para pedir la respuesta y hacer

Pág. 39
Programare cu PSeInt
să iasă din ciclu doar când răspunde cu S sau N, în acest fel vom fi
siguri că răspunsul este corect.
Proces exemplu_repetare
Definir resp Ca Caracter;
Definirea notei ca reală;
Definir ca,cr Ca Întregi;
Dimensiune număr[25];
Definire număr ca Ș ir;
ca<-0;
cr<-0;
Repetiț i
introduceț i numele elevului
Citeș te număr[25];
introduce nota elevului
Citeș te nota;

Dacă nota >= 60 Atunci


ca<-Var-ca+1;
Sino
cr<-cr+1;
FinSi
Repetare
Doriț i să continuaț i S/N
Leer resp;
Până Când resp='N' | resp='S'

Până când resp='N';


Aprobat
Repruebaț i
FinProceso

Pág. 40
Programare cu PSeInt

Subprocese
Un subproces este un subprogram, procedură sau funcție care realizează o
tarea specifică și care poate fi definită prin 0, 1 sau mai multe parametere. Atât
în introducerea de informații în subproces ca returnarea rezultatelor din
subrutina se realizează prin parametri, care ne ajută să introducem sau
modifică informațiile programului principal.

Sintaxă

SubProceso NombreSubProceso

// ...fă ceva cu argumentele

FinSubProceso

Subprocesele pot avea sau nu un tip de returnare. În acest caz, acest


subprocesul nu returnează nimic, subprocesoarele care returnează argumente le
vom vedea mai târziu.

Întotdeauna când folosim parametri, aceștia trebuie să fie de același tip de date, acest lucru

ne spune că variabila programului trebuie să fie de același tip cu parametrul


procedura și trecute în aceeași ordine în care sunt aranjate în
subproces

Nota: Variabilele trebuie definite în toate subprocesele

Exemplu: elaborarea unui subproces care să prezinte 5 asteriscuri pe un rând


orizontal.
SubProces asteriscuri
Definirea I Ca Intreg;
Pentru i <- 1 Până la 5 A face
Scrie '*' fără a coborî;
FinPara
FinSubProceso

Pág. 41
Programare cu PSeInt
Proces Principal
Dimensiune număr[25];
Definire număr ca Ș ir;
Introduceti numele ..:
Creează un nume[24];
asterisco
Escribir "";
Scrie numele[24];
Scrie "";
asteriscuri;
FinProceso

În acest program folosim un SubProces (funcție -cuvânt echivalent, PSeInt


de asemenea, metoda - sau procedura) pentru a scrie 5 asteriscuri, dacă nu am fi avut-o
făcut în acest fel unde se găsește instrucțiunea asteriscuri; am avea
ce să scriem ciclul, și l-am face de două ori, în felul în care l-am scris este
mai structurat, deoarece acel proces este împărțit într-un subprogram, care când
avem nevoie de o linie de 5 asteriscuri doar apelăm procedura.

Nota: Subproceso fără parametrii este apelat din procesul principal


simplu prin numele său fără alte argumente, se pot deschide ș i închide
paranteză, dar acesta este opț ional.
În schimb, dacă subprocesul conț ine parametrii, aceș tia trebuie specificaț i.

Acum în programul anterior folosește o procedură statică, va scrie întotdeauna 5


asteriscuri, acum putem face dinamic folosind parametrii pentru a indica
Câte asteriscuri vrem să prezentăm pe linie.

Vizualizator de diagrame de flux


Subprocesele din diagrama de flux sunt prezentate în următorul mod

Pagină 42
Programare cu PSeInt

O listă cu subprocesele marcate cu roșu:


Se alege la care subprocess să intri apăsând pe subprocess. Așa cum spune
captura, de asemenea, este posibil să se adauge noi SubProcese.

Parametrii de valoare

Acest tip de parametru este cunoscut sub numele de parametru de valoare, care
se trebuie specificat dacă este după valoare sau după referință, implicit este după valoare, acest

ultimul tip de parametru, deși în timpul procedurii valoarea sa se schimbă


valoarea nu va fi asignată variabilei din programul principal, de exemplu dacă
variabila num din programul pe care îl prezentăm mai jos este asignată o altă valoare

diferente de 10, această schimbare s-ar reflecta în variabila num, și din această cauză în
programa principal, este tip de parametri este cunoscut sub denumirea de
parametrii de valoare.

Exemplu de subproces cu valoare

Subproces asteriscuri
Definiț i num, I Ca Întregi;

Pagină 43
Programare cu PSeInt
num <- 10;
Pentru i <- 1 până la număr cu pasul 1 a face
Scrie '*' fără a coborî;
FinPara
FinSubProceso

Proces principal
Dimensiune număr[25];
Definire număr ca ș ir;
Definire num Ca Întreg;
num<-10;
Introduceț i numele ..:
Creează nume[24];
asteriscuri;
Scrie "";
Scrie numele[24];
Scrie "";
asterisco
FinProceso

Pe linia num <-10, atribuim parametrului num de asteriscuri valoarea


de 10, asta face ca ciclul să parcurgă 10 ori, apoi mai jos în program în
la instrucțiuniasteriscuri; s-a trecut o variabilă ca parametru atribuind
valoarea lui num ca număr, care număr în programul principal are o valoare de
10 căruia i se atribuie un număr în pasul valorii parametrului.

Parametrii variabile

Următorul program ne învață utilizarea parametrilor variabile sau


referința, căreia i se antepune cuvântul rezervat VAR pentru a indica că
această variabilă va fi un parametru de referință sau o variabilă, acest lucru ne indică că

orice schimbare suferită de variabila procedurii, variabila


programa principal va suferi și el, astfel putem trimite
informații modifică-le și trimite rezultatele programului principal.
Sintaxa este următoarea:

Exemplu de parametrii de variabilă sau referinț ă.

Elaborarea unui program în care să se introducă numele și prenumele folosind un

Pág. 44
Programare cu PSeInt
procedură și apoi prezentarea datelor.

SubProceso Pedir_datos (nombre Por Referencia, apellido Por Valor)


Introduceț i numele
Citiț i numele;
Escribir "Ingresar el apellido";
Citiț i numele de familie;
FinSubProces

Proces Principal
Definirea prenume, nume ca ș iruri;
nombre<-"No hay cambios en nombre";
apellido<-"No hay cambios en apellido";
Pedir_datos(nombre,apellido);
Scrie "Nume complet", nume, " ", prenume;
FinProceso
Nota: În cazul în care variabila este trecută prin referinț ă, trebuie să se indice întotdeauna.

În schimb, dacă se trece prin valoare, indicarea trecerii poate fi omisă. Întotdeauna
prin default se trece prin valoare.

În programul anterior, se inițiază variabilele de nume și prenume, apoi se


sunt transmise ca parametrii SubProcesului, numele ca variabilă și numele de familie

cum evaluăm, apoi scriem valorile și doar numele va prezenta schimbarea


ce a suferit în SubProces și numele de familie va continua să scrie aceeași valoare că
tenia la începutul programului asta pentru că nu s-a trecut ca parametru de
variabilă (VAR) ci ca valoare și nu i s-a permis să sufere vreo modificare.

Pentru a îmbunătăți programul anterior, procedura ar trebui să fie scrisă astfel,


folosind un parametru de ieșire, pe care îl vom vedea mai târziu :

SubProceso nombre, apellido <- pedir_datos (nombre por Referencia)


Dimension apellido[30];
Definirea numelui de familie ca un lanț ;
Introduceț i numele
Citeș te numele;
Introduceti numele de familie
numele de familie Leer;
FinSubProceso

Pag. 45
Programare cu PSeInt
Exemplu

Introduceț i baza ș i exponentul ș i apoi calculaț i puterea.

În acest program vom folosi un subproces pentru introducerea datelor și altul


pentru a calcula puterea.
SubProces Ingress (bazat pe Referinț ă, expus pe Referinț ă)
Scrie "Introduceti baza ";
Învăț are de bază;
Introduceti exponentul
Expo leer;
FinSubProceso

SubProceso pot <- Potencia(base , expo, pot Por Referencia)


pot<-1;
Pentru I <- 1 Până la expo Cu Pas 1 Fă
pot <- pot * baza;
FinPara
FinSubProceso

Proceso principal
Definire pot ca Întreg;
Ingreso (base,expo);
Potentă (bază, expo, putere);
Puterea este, pot;
FinProceso

În subprocesul de introducere, cele două date, exponentul și baza, sunt de tip întreg.
și parametrii variabilei, acest lucru deoarece avem nevoie ca procedura să ne
returnați valorile pentru a le introduce ulterior în procedura de putere dar
aici, baza, expo sunt de tip valoare, asta pentru că nu avem nevoie să modificăm sau să citim

valoarea sa, așa cum am făcut anterior în procedura de admitere, apoi


variabila pot și se pasează ca parametru de variabilă deoarece avem nevoie
modificați-i valoarea și prezentați-o în programul principal.

Notă: Subprocesele nu pot fi denumite la fel ca variabilele care se


declară în program.

Subprocese care returnează valoare sau cu retur

Pág. 46
Programare cu PSeInt
Subprocesele pot returna de asemenea o valoare, dar numai una.

Sintaxă

Sintaxă

SubProces valoare_de_retur <- nume_SubProces [( parametrii ) ]


//[variabile locale];

//instrucț iuni;

FinSubProceso

Si observăm în sintaxa funcției că există cuvântul return.


care returnează o valoare care trebuie să fie de același tip cu cel care a fost declarat

valor_de_retorno.
Nota: De asemenea, se poate folosi în mod interschimbabil cuvântul func ț ie în loc de

subproces. În PSeInt, sunt termeni echivalenț i.


Exemplu: calculul puterii

Vom folosi aceeași exercițiu pe care l-am folosit pentru procese, pentru a face un

demonstratie despre cum s-ar schimba programul folosind un subproces fără returnare

pentru calculul puterii.


SubProces resp <- putere (bază, expo Prin Referinț ă)
Definire i, resp Ca Întregi;
resp<-1;
Pentru I <- 1 Până la expo Cu Pasul 1 A face
resp <- resp * baza;
FinPara
FinSubProceso

SubProces Ingress (bază Pe Referinț ă, expo Pe Referinț ă)


Scrie "Introduceț i baza ";
Citiț i baza;
Introduceti exponentul
Expoziț ie de învăț are
FinSubProces

Proces principal
Ingreso(base,expo);
Definire pot ca Întreg;
pot<-Putere(baza,expo);
Pag. 47
Programare cu PSeInt
Puterea este
FinProceso

Diagrama de flujo del procedimiento ingreso:

Diagrama de flux al procedurii de admitere:

Pagină 48
Programare cu PSeInt

Si privim acest diagram de flux sau pseudocod, în funcția Putere se


declară o variabilă care este pentru ciclu și cealaltă este pentru calcul
de la putere, pe care o vom folosi ca acumulatoare a înmulțirii de la
putere, și după variableresp, la rândul său după cuvântul cheie
SubProces, care ne întoarce valoarea și o atribuie variabilei pot
în programul principal, când folosim instrucțiunea pot<-putere(base P
Referinț ă, expo Pentru Referinț ă);.

În concluzie, funcțiile ne vor returna întotdeauna o valoare care este produsul de


unu sau mai multe calcule, iar valoarea variabilei pe care am pus-o după
cuvântul cheie SubProces

Exemplu de foaie de lucru (Subprocese cu ș i fără returnare)

Se introduce numele, vânzările și zona angajatului folosind un


procedură, apoi se calculează comisionul pe baza zonei de lucru, ihss
y total a plăti, apoi se prezintă datele.

Pág. 49
Programare cu PSeInt
Nota:

•se va trebui să se folosească un subproces cu returnare pentru calcule ș i a

prezentarea datelor.
•Utiliza ț i un subproces cu returnare pentru calculul ihss.

•Utiliza un subproces cu returnare pentru calculul comisionului.

Subproces de admitere

În acest subproces fără întoarcere se introduc datele, validând că zona doar


mare A,B,C

Subproces de calcul

Se calculează comisionul și ihss folosind subprocesele fără returnare declarate


anterior, apoi totalul de plată, ceva ce trebuie să observăm este că
vânzările și zona sunt trecute ca parametri de valoare, iar celelalte ihss, comis și tp
ca parametrii variabile deoarece trebuie să modificăm valoarea acestuia

Subprocesul de prezentare

Prezentăm calculele și trecem variabilele ca parametri de valoare.


pentru că trebuie doar să îi prezentăm

SubProces vihss <- asigurare(comis)


Definirea Vihss Ca Real;
Dacă comis >2400 Atunci
vihss<- 84;
Sino
vihss<-0.035 * comis;
FinSi
FinSubProceso

SubProces vcomis <- comision(zona,ventei)


Definirea vcomis ca Real;
După zonă Hacer
'A' : vcomis<-0.05*ventas;
'B' : vcomis<-0.06*ventas;
'C' : vcomis<-0.09*ventas;
Pagină 50
Programare cu PSeInt
FinSegun
FinSubProceso

SubProceso ingreso (nombre Por Referencia ,zona Por Referencia , ventas


Por Referencia)
Introduceti numele
Citiț i numele;
Vânzări lunare
Citiț i vânzări;
Repetiț i
Zona A,B,C
Leer zona;
Până când zona = 'B' | zona = 'C' | zona = 'A'
FinSubProceso

SubProcesul calculează (zonă, vânzări, comision pe referinț ă, ihss pe


Referencia,tp Pe Referinț ă)
comis<-comision(zona,vanzi);
ihss<-asigurare(comis);
tp<-comis-ihss;
FinSubProceso

Subprocesul de prezentare (comis, ihss, tp)


Comisie ",comis;
Asigurare Socială, ihss
Total de plată
FinSubProceso

Proces principal
Ingreso(nombre,zona,ventas);
Calculează(zonă,vânzări,comision,ihss,tp);
Prezentar(comis,ihss,tp);
FinProceso

Subprocesele cu returnare le declarăm înaintea subproceselor fără


mă întorc pentru că acestea vor fi folosite în subprocesul fără returnarea calculelor, și este mai mult

legibil în momentul citirii unui program, dar, în scopul execuției,


PSeInt, no tiene en cuenta el orden del proceso y de los subprocesos, a no se
ca un subproces să cheme pe altul, în acest caz cel care cheamă trebuie să fie după
ce este numit.
Pagină 51
Programare cu PSeInt

Nota: În sintaxă strictă, variabila de returnare trebuie declarată

Dimensiuni
Este o colecție de date de același tip, care sunt stocate în poziții
consecutives de memorie și primesc un nume comun.
Și pentru a ne referi la un anumit element, va trebui să accesăm folosind un
indice pentru a specifica poziția pe care dorim să o extragem sau să-i modificăm valoarea. Las

dimensiunile pot fi:

1-Unidimensionale: are doar o singură dimensiune, o linie și o coloană

2-Dimensionale: tabele sau matrice.

3-Multidimensionale: de 3 sau mai multe dimensiuni.

Dimensiune de I Dimensiune

Declarație:

Dimensiune<Numărul dimensiunii> [<capacitate>];


Definire <Numele variabilei dimensiunii> Ca <tipul de>
variabilă>

Capacitate: este dimensiunea, este un număr întreg cu care


indicăm numărul de elemente pe care dorim să le salvăm de același tip.

Tipul de date: este este tipul de date pe care dorim să fie colecția, poate fi
entier, real, șir, caracter sau un registru.

Numele variabilei: este numele cu care ne vom referi în


programa principal

Notă: În sintaxă strictă, variabila trebuie definită întotdeauna înainte sau după
dimensiona. Spre deosebire de alte limbaje de programare, a dimensiona o
variabila nu implică declararea ei.
Pagină 52
Programare cu PSeInt

Exemplu:

Dimensiune număr [10];

Prin această declarație, creăm o colecție de 10 numere întregi

3 5 7 8 3 6 9 2 45 67

0 1 2 3 4 5 6 7 8 9

Nota: La fel ca în limbajele de programare reale, în sintaxă strictă,


la baza dimensiunii este 0, dar în sintaxă flexibilă sau profil flexibil este baza 1.
Pentru a utiliza dimensiuni variabile, trebuie să activăm opț iunea, a permite utilizarea
variabile pentru dimensionarea aranjamentelor în opț iunile profilului.

Ori de câte ori dorim să facem referire la unul dintre elementele de la


dimension, va trebui să indicăm poziția, cu un număr întreg care este
în cadrul intervalului.

În continuare definim tipul de dimensiune:

Definire număr ca întreg:

Și că vrem să scriem valoarea poziției 7 va trebui să scriem:

Scrie numărul[7]; //de această indicăm să scriem poziț ia 7

o
I<- 7 //asignăm o valoare unei variabile de tip întreg

Scrie numărul[ 0 ];// apoi folosim variabila I pentru a indica poziț ia

ce vrem să prezentăm.

// Si dorim să atribuim valori unui element al dimensiunii, o vom putea face


// a face:

Citeș te numărul [2];// indicăm direct poziția pe care dorim să o citim

Pág. 53
Programare cu PSeInt
I<-6// Atribuim o valoare unei variabile întregi și apoi o folosim

Citeș te numărul[ i ];// pentru a indica citirea elementului pe care dorim să-l citim

Exemplu

Introduceti 10 numere intr-o dimensiune de 10 elemente si apoi prezentati-le


numere.

În acest program va trebui să folosim un ciclu în care variabila I va lua o valoare de

0..9, pentru a citi valorile sau a asigna valori dimensiunii, apoi vom folosi altul
ciclul pentru a prezenta datele.
Când salvăm datele într-o dimensiune, valorile sale sunt stocate în
memoria și nu se șterge după citirea următorului număr, ca în
programe anterioare, când foloseam o variabilă pentru a introduce 10 numere,
dar variabila de la sfârșitul introducerii păstra doar ultimul număr pe care l-a
introduce, acum cu aranjamentele se păstrează cele 10 numere în memorie.

Nota: Ș i PSeInt este configurat pentru a lucra pe baza 0 ș i se define ș te o


dimensiune cu aceea ș i cantitate de elemente ca ș i cea declarată ultima
elementul introdus nu va avea o pozi ț ie de memorie în dimensiune
ingresada. Acest lucru îl putem schimba personalizând profilul sau folosind sintaxă
flexibil.

// program de introducere a 10 numere într-o dimensiune


Proces dimensiune_10
Dimensiune numărul[10];
Definire număr ca întreg;
Definire I Ca Întreg;

Pentru I <- 0 Până la 9 Cu Pasul 1 A face


Introduceț i numărul pos#
Citeș te numărul[I];
FinPara

Pentru I <- 0 Până la 9 Fă


Scrie numărul[I];
Pág. 54
Programare cu PSeInt
FinPara
FinProceso
Exemplu

Introduce ț i numele angajatului într-o dimensiune ș i salariul într-o alta


dimensiune, după introducerea datelor, determinaț i ihss-ul, totalul de plată
pentru fiecare dintre angajaț i.

În acest program se stochează numele angajatului și salariul în două


aranjamente diferite numele într-un aranjament de șiruri și salariul într-un
dimensiune de tip real, mai întâi se introduc datele în dimensiune apoi se
calculează datele într-un alt ciclu cu scopul de a sublinia că aranjamentele păstrează
date în memoria în timpul programului funcționează și le putem folosi după
de introducerea datelor, ceea ce înainte nu puteam face, deoarece la introducerea
elementul 10 în variabila doar acel lucru puteam salva, este motivul pentru care
calculările se făceau în același ciclu.

Proces dimensiune_angajat
Dimensiune număr[5];
Definire număr Ca Ș ir;
Dimensiune salariu[5];
Definire salariu ca Întreg;
Definirea ihss, tp Ca Reale;
Definire I ca întreg;

De la I <- 0 Până la 4 A face

Scrie "Numele angajatului [",i,"]..:";


Citeș te numele[i];
Salariul angajatului ...:
Citeș te salariul[i];
FinPara

Pentru I <- 0 Până la 4 A face


Dacă sueldo[i]>2400 Atunci
ihss<-84;
Sino
ihss<-0.035*sueldo[i];
FinSi
tp<-salariu[i]-ihss;
Pagină 55
Programare cu PSeInt
Scrie "Nume ...:", nume[i];
Scrie "Salariu ...:", salariu[i];
Ihss ...:
Escribir "Total pagar..:",tp;
FinPara
FinProceso

Notă: Pentru a putea utiliza dimensiuni de dimensiune variabilă este necesar


activarea profilului flexibil în editor.

Utilizarea aranjamentelor ca parametrii în subprocese ș i funcț ii

În exemplul prezentat, se demonstrează utilizarea tablourilor în


subprocese și parametrii, exemplul arată un subproces fără returnare pentru
introducerea datelor într-o dimensiune de 5 numere întregi, apoi se folosește o
funcția de mai mare decât ne returnează numărul dimensiunii.

SubProceso nummayor <- mayor (num)


Definirea nummayor, i Como Întregi;
nummayor<-0;
De la i <-0 Până la 4 Cu Pasul 1 Facere
Dacă num[i] > nummayor Atunci
nummayor<-num[i];
FinSi
FinPara
FinSubProceso

SubProceso ingreso (num)


Defineste i ca Intreg;
Pentru i <-0 Până la 4 A face
Introduceti un numar
Citeș te num[i];
FinPara
FinSubProceso

Proces Principal
Dimensiune num[5];
Definirea num, max Ca Întregi;
Ingreso(num);
Max<-mai_mare(num);
Maior, max;
Pagină 56
Programare cu PSeInt
FinProceso
Notă: În mod implicit, tablourile sunt întotdeauna transmise prin referinț ă. Nu încercaț i

pasarlo prin valoare sau ai provoca o eroare.

Funcț ie mai mare

În această funcție se determină numărul mai mare comparând numerele care se


ingresan, când se inițiază funcția nummayor valoarea este zero, dar să presupunem că
intrasem în aranjamentele 3-5-4-2-8

Când elementul unu al dimensiunii este comparat cu 3, există un nou


asignare pentru nummayor care este 3, când este comparat cu 5, 3 este mai mic decât
5 hay una nouă atribuție la nummayor este 5, când se compară cu 4, 5 nu
este mai mic decât patru, așa că nummarot nu primește nicio valoare și rămâne cu
5 este acum când se compară cu 8 este mai mare, i se atribuie 8 pentru că 5 este
mai mic de 8.

Număr Nummayor

când num[0] este 3 Atunci valorează 3

când num[0] este 5 Atunci valorează 5

când num[0] este 4 Nu există nicio schimbare și continuă să valoreze 5

când num[0] este 2 Nu există nicio schimbare și continuă să valoreze 5

când num[0] este 8 Atunci vale 8

Dimensiune de II Dimensiune (Bidimensional)

Declarație:

Dimension<Nombre de la variable>[<Líneas>, <Columnas>];

De asemenea, ele sunt denumite matrice sau tabele. O dimensiune bidimensională este o tabelă.

care acum are linii ș i coloane, unde liniile indică prima dimensiune ș i
coloane la a doua dimensiune.

Pagină 57
Programare cu PSeInt

0 1 2 3

Tabelul prezentat ne reprezintă o dimensiune de 2 dimensiuni cu 5


linii și 4 coloane, codul pentru a declara această dimensiune ar fi:

Dimensiune număr[5,4];

Referința la un anumit element al matricei necesită utilizarea unui


primul subscript care indică rândul și al doilea care indică coloana. Ambele
subindiciile trebuie să fie de tip întreg.

De exemplu, dacă am dori să salvăm valoarea de 30 în linia 4 coloana 3


codul în PSeInt ar fi:
Număr[4,3]<-30;

Următorul exemplu ne arată cum să introducem date într-o dimensiune de 5


liniile și 4 coloane pentru a prezenta datele pe ecran:

Proces dimensiune_5_linii
Dimensiune număr[5,4];
Definire număr ca întreg;
Definirea L, C ca întregi;

Pentru L <- 0 Până la 4 cu Pasul 1 Fă


Pentru C <- 0 Până la 3 Cu Pasul 1 Faceț i
Scrie "Număr[", L , ",", C, "]";
Citeș te numărul[L,C];
FinPara
FinPara
Pág. 58
Programare cu PSeInt
Curăț ă ecranul;
Pentru L <- 0 Până la 4 cu Pas 1 Fă
Pentru C <- 0 Până la 3 Cu Pasul 1 Fă
Scrie numărul[L,C]," " Fără a coborî;
FinPara
Escribir "";
FinPara
FinProceso

În acest program folosim două variabile întregi L care se folosesc pentru liniile și
Ce se folosește pentru coloane, folosim cicluri imbricate pentru că ai nevoie
a parcurge fiecare linie, toate coloanele, asta se întâmplă astfel:

Când L are valoarea de 1, C ia valoarea de 1 până la 4, acest lucru face ca se


poate citi elementul Număr [1,1], Număr [1,2], Număr [1,3], Număr [1,4]
apoi când L are valoarea 2, atunci l revine de la 1 la 4
haciendo lo mimo 5 veces que es el número de las líneas.

Suma de linii și coloane ale unei dimensiuni bidimensionale

Programul prezentat introduce datele și le afișează folosind un


subproces fără întoarcere.
Nota: Nu există coloană sau rând 0
SubProceso sum <- SumaLinea (numero, linea)
Definire suma, C ca întregi;
sum<-0;
Dacă linea>=1 | linea<=5 Atunci
Pentru C<-1 Până la 4 Cu Pasul 1 Fă
sum<-sum + număr[linea-1,C-1];
FinPara
FinSi
FinSubProceso

SubProceso sum <- SumaColumna (numero, col)


Definire suma, L Ca Întreg;
sum<-0;
Si col>=1 | col<=4 Atunci
Pentru L<-1 Până la 5 Cu Pasul 1 Fă
sum<-sum + numărul [L-1,col-1];
FinPara
Pág. 59
Programare cu PSeInt
FinSi
FinSubProceso

SubProceso ingreso(numero)
Defineste L, C ca intregi;
De la L <- 1 Până la 5 Cu Pas de 1 A face
Pentru C <- 1 Până la 4 Cu Pas 1 A face
Introduceti un numar ..:
Citeș te numărul[L-1,C-1];
FinPara
Escribir "";
FinPara
FinSubProceso

SubProceso presentar (numero)


Definirea L, C ca întregi;
Curăț ă ecranul;
Pentru L <- 0 Până la 4 Fă
Pentru C <- 0 Până la 3 Fă
Scrie numărul[L,C]," " Fără a Coborî;
FinPara
Scrie „;"
FinPara
FinSubProceso

Proces principal
Dimensiune număr[5,4];
Definire număr Ca Întreg;
Definirea linea, col, sumaC, sumaL ca întregi;
Intrare(numar);
Prezentar(număr);
Scrie "Linie de adunat";
Citeș te linia;
Coloana de adunat
Lectură col;
sumaL<-sumaLinea(numărul,linea);
sumaC<-sumaColumna(număr,col);
Suma coloanei
Scrie "Suma liniei ", linie, " este ", sumaL;
FinProceso

Nota1: Aranjamentele parametrului nu se declară în subproces, deoarece

Pagină 60
Programare cu PSeInt
întotdeauna sunt prin referinț ă. În caz contrar, va apărea un mesaj care spune Nu se
trebuie să redefinească tipul de argument.

Nota2: Aranjamentele parametrului, atât atunci când se transmit aranjamentele altcuiva.

proces/ subprocess, ca atunci când se face referire la subprocesul de la


procesul principal nu îș i specifică capacitatea.

Informaț ie teoretică
Registre sau structuri
Nota: Informaț iile despre registre sunt considerate teoretice. Deocamdată, PSeInt nu
suportă registre sau structuri.

Un registru este o dată structurată, formată din elemente logic.


relaționate, care pot fi de același tip sau de tipuri diferite, la care li se
denomina câmpuri. Câmpurile unui registru ar putea fi de tipurile
predefinite de PSeInt (întreg, real etc.) sau printr-un registru
definit anterior

Exemplu: demonstraț ie de înregistrări

În acest program vom folosi un registru pentru a păstra informațiile elevului


folosind un registru numit Alum.
De fiecare dată când vrem să accesăm un registru, se face
[Link];

Atunci, dacă dorim să accesăm numele, am scrie


[Link];
Alum pentru că așa se numește variabila care este de tip înregistrare re_alumno.

Registro Alum
Dimensiune număr[30];
Definirea numelui ca ș ir;
Dimensiune carrera[30];
Definirea carierei ca un lanț ;
Defineste cont ca intreg;
FinRegistro

Proces principal

Pág. 61
Programare cu PSeInt
Scrie 'Numele elevului';
Citeș te [Link];
Contul Elevului
Citeș te [Link];
Carrera care studiază
Citeș te [Link];
Elevul, [Link];
Scrie "Cu cont", [Link], "Studiază"
[Link];
FinProceso

Acum, cel mai important este să putem folosi registrele ca parametri în


subprocese cu returnare și fără returnare pentru a facilita transmiterea informațiilor
ca parametru.

Exemplu de înregistrări cu subprocese

Se dorește elaborarea unui program în care să se introducă numele elevului, nota


acumulată, examen, notă finală și observație, apoi când se determină nota
final și observație.

Vom folosi un registru pentru a salva informațiile, un subprocess fără retur


pentru introducerea datelor, altul pentru a calcula nota finală și observația (va fi folosit)
o funcție pentru calculul observației).

Întotdeauna trebuie să ținem cont care sunt parametrii variabilei și de


valoare, în acest program se folosește în subprocesele de introducere și calculare a variabilei și în

prezentare de valoare deoarece nu se modifică nicio variabilă.


// declaraț ia registrului

Registru Alum
Dimension nombre[30];
Definire număr Ca Ș ir;
Definirea na, ne, nf ca reale;
Dimensiune obs[10];
Defineste obs Ca Sir;
FinRegistro

Pág. 62
Programare cu PSeInt
SubProceso vobs <- observacion (vobs, nota)
Definirea vobs ca Ș ir;
Si nota >= 60 Atunci
vobs<-"aprobado";
Sino
vobs<-"reprobado";
FinSi
FinProceso

SubProceso ingreso(alum)
Introduceț i numele ";
Citeș te [Link];
Escribir "Ingresar la nota examen ";
Citiț i [Link];
Introducerea notei acumulate
Leer [Link];
FinsubProces

SubProceso calculo(alum)
[Link]<-[Link] + [Link];
[Link] <- observatie([Link]);
FinSubProces

SubProces prezentare(alum)
Nota Final, [Link];
Scrie "Observaț ie", [Link];
FinSubProceso

Proces principal
Definire I Ca Întreg;
Pentru I<- 1 Până la 5 Fă
ingreso(Alum);
calcul(Alum);
prezentare(Alum);
FinPara
FinProceso

Dimensiuni cu înregistrări

Notă: Informaț ie teoretică

Până acum, aranjamentele noastre au păstrat doar o singură dată, fie ea reală,

Pág. 63
Programare cu PSeInt
introduceți un șir sau caracter, atunci când doriți să salvați mai multe date într-o

caseta de dimensiune se declară un registru și dimensiunea se declară că este


de tipul registru pe care l-am declarat.

Exemplu:

Registru angajaț i
Definire cod ca Întreg;
Dimension număr[30];
Definirea numelui ca ș ir;
FinRegistro

Cod Cod Cod Cod Cod

Nume Nume Nume Nume Nume

1 2
3
4
5

Declarăm înregistrarea angajatului și apoi declarăm dimensiunea care va fi de


tipul de angajat acum pentru a accesa dimensiunea :

Lectura de date

Introduceti numele angajatului


Citeș te [Link];
Introduceț i codul de înregistrare;
Citiț i [Link];

În momentul citirii, trebuie specificată poziția dimensiunii care


deseo să citesc emple(3).nume ne indică că se va citi de la poziția 3 numele.
Scrieți date
Scrie „Numele Angajatului”, emple[3].nombre;
Scrie "Cod de înregistrare", emple[3].codigo;

La fel ca atunci când citim datele pentru a scrie, specificăm elementul din

Pg. 64
Programare cu PSeInt
dimensiune, de care dorim să prezentăm datele înregistrării

Exemplu dimensiuni cu înregistrare.

În acest exemplu, declarăm registrul, apoi se declară dimensiunea de tip


registro, se elabore un subproces fără retur pentru introducerea datelor de ...
dimensiunea și altul pentru a prezenta înregistrările dimensiunii.

Când declarămDimensiune[5] angajat și după Definire angajat Cum

emplu;în subprocesul de admitere ne referim la faptul că avem o dimensiune


de 5 elemente care sunt de tip angajat (înregistrarea) și că variabila se numește
exemplu.

În ambele subprocessuri se parcurge dimensiunea și apoi pentru fiecare dintre


pozițiile dimensiunii se citește numele și codul.
Registro Empleado
Definire cod ca întreg;
Dimensionare număr[30];
Definire număr ca ș ir;
FinRegistro

Proceso Ingreso (empleado)


Definire i Cum întreg
Pentru i <- 0 Până la 5 A face
Introduceti Numele Angajatului
Citeș te numele angajatului;
Introduceti codul de inregistrare
Citeș te [Link];
FinPara
FinProceso

SubProceso Presentar (empleado)


Definiț i i Ca Întreg;
Curăț ă ecranul;
Pentru i <- 0 Până la 4 Cu Pasul 1 Fă
Scrie "Numele Angajatului ",[Link];
Scrie "Cod de înregistrare ", [Link];
FinPara
FinProceso

Pág. 65
Programare cu PSeInt
Proceso principal
Venit(angajat);
Prezentare(angajat);
FinProceso

Exemplu de dimensiuni cu înregistrare.

În acest exemplu declarăm registrul, apoi se declară dimensiunea de tip


tip de înregistrare a elevului, apoi folosim o funcție pentru a determina observația,
nu se introduce tot registrul pentru că se folosește doar un singur dat, pentru a determina
observație, apoi în procedura de calcul în momentul trimiterii notei
pentru a folosi observația, indicăm elementul dimensiunii și partea de
registro pe care dorim să-l trimitem care este nota:

alum[i].obs<-observatia(alum[i].nf);

// declaraț ia registrului
Registru student
Dimensiune număr[30];
Definire număr Ca Caracter;
Definire na, ne, nf ca Reale;
Dimensiune obs[10];
Definire obs Ca Ș ir;
FinRegistro

SubProceso vobs <- observacion


Definirea notei ca fiind reală;
Dimensiune vobs[10];
Definiț i vobs ca ș ir;
Si nota>= 60 Atunci
vobs<-"aprobado";
Sino
reprobado;
FinSi
FinSubroceso

SubProcesul de admitere(alum)
Definirea ca Întreg;
De la i <-0 până la 5 a face
Introduceț i numele ";
Citeș te alum[i].nume;
Introduceti nota examenului
Citeș te alum[i].ne;
Pág. 66
Programare cu PSeInt
Introduceț i nota acumulată
Citeș te alum[i].na;
FinPara

FinSubProces

Subproces de calcul (alum)


Defineste I Ca Intreg;
Pentru i <- 0 Până la 5 Fă
alum[i].nf<-alum[i].na + alum[i].ne alum[i].obs<-
observatie(alum[i].nf);
FinPara
FinSubProceso

Subprocesul prezentare (alum)


Definirea ca întreg;
Pentru i <- 0 Până la 5 Faceti
Escribir "Nombre del alumno ",alum[i].nombre;
Scrie "Nota Finală ", alum[i].nf;
Scrie "Observaț ie ",alum[i].obs;
FinPara
FinSubProceso

Proces Principal
Ingreso(alum);
Calcul (alum);
Prezentare(alum);
FinProceso

Exemplu de aranjamente cu registru.

Se declară un registru cu variabilele nume vânzări, comision ihss și total la


se plătește, se elaborează o funcție pentru asigurările sociale, apoi se elaborează un

procedura de introducere a datelor unde se introduce numele și vânzările, după aceea


procedură de calcul, unde se determină comisionul care este 5% din
vânzări, asigurarea folosind funcția Asigurării și totalul de plată, apoi se
prezentați datele folosind o procedură.

Registru Angajat
Dimensiune număr[30];
Pág. 67
Programare cu PSeInt
Definire nume Ca Ș ir;
Definirea vânzărilor, comisiei, IHSS, TP ca fiind Reale;
FinRegistro

Subproces sigur
Dimensiune[5] angajat;
Definirea angajatului ca angajat;
Definirea salariului ca real;
Dacă salariul >2400 Atunci
Retur 84;
Sino
Returnează 0.035*salar;
FinSi
FinSubProceso

SubProces Ingress (angajat)


Dimensiune[5] angajat;
Definirea angajatului ca angajat;
Definire ș i cum întreg
Pentru i <- 1 Până la 2 Cu Pasul 1 Facere
Introduceti numele angajatului;
Citeș te angajare[i].nume;
Introduceti vânzările
Citeș te angajarea[i].vânzări;
FinPara
FinSubProceso

SubProceso Calculo(emple)
Dimensiune[5] angajat;
Definire angajat Ca angajat;
Definim I ca întreg;
Pentru i <- 0 Până la 2 Cu Pasul 1 Fă
emple[i].comis<-emple[i].ventas*0.05;
emple[i].ihss<-asigurare(emple[i].comis);
emple[i].tp<-emple[i].comis-emple[i].ihss;
FinPara
FinSubProceso

SubProceso Presentar (emple)


Dimensiune[5] de angajat;
Definirea angajatului ca angajat;
Definire i Ca Întreg;
Pagină 68
Programare cu PSeInt
Para i <- 1 Până la 2 A face
Scrie "Angajat ",emple[i].nume;
Scrie "";
Scrie „Comisie ..:” , angajat[i].comis;
Scrie "";
Escribir "Seguro Social..:", emple[i].ihss;
Scrie "";
Total de plată ..: employat[i].tp;
Scrieț i ""
Scrie "";
FinPara
FinSubProceso
Proces principal
Ingreso(emple);
Calcul(angajare);
Prezentare(angajat);
FinProceso

Gestionarea fiș ierelor de text


Nota: Informaț ii teoretice

Până în acest punct, toate rezultatele programelor sunt șterse din memorie
la finalizarea programului, în acest capitol vom învăța teoretic cum
am păstra informația într-un fișier text pentru utilizare ulterioară.

Sintaxă

Declararea unui tip de fiș ier

Declararea unui tip de fișier secvențial este necesară pentru a declara o variabilă de acest tip.

tip exemplu :
Tip Arh Es Fiș ier Secvenț ial;

Deschide un fiș ier

Sintaxă

Deschide nume_fisier ca variabilă [pentru citire, scriere]

exemplu :

Pagină 69
Programare cu PSeInt
Deschide "[Link]" ca Archemple pentru citire;

Descripción

Această instrucțiune servește pentru a deschide fișierul. Operațiunile permise pentru


fișierul este citire, scriere sau ambele. În sintaxa variabilă se referă la variabilă
de tip de fișier care va fi folosit pentru a face referire la fișier.

Închide un fiș ier

Sintaxă

Închide variabila de tip fișier

Exemplu :

Închide archemple;

Descriere

Această instrucțiune se folosește pentru a închide un fișier. Variabilă

Citeș te dintr-un fiș ier

Sintaxă

Citește variable_archivo, variable_datos


exemplu :
Citeș te archemple,[Link];

Descripción

Această instrucțiune citește o variabilă dintr-un fișier. Prima variabilă a


instruția trebuie să fie de tip fișier, a doua poate fi de orice tip, asta
va depinde de tipul de fișier.

Scrie într-un fiș ier

Pagină 70
Programare cu PSeInt
Sintaxă

Scrie variabila_archiv, variabila_date;


exemplu :
Scrie archemple, [Link];

Descripción

Această instrucțiune scrie o variabilă într-un fișier. Prima variabilă a


instruția trebuie să fie de tip fișier, a doua poate fi de orice tip, asta
va depinde de tipul de fișier.

Exemplu Introducerea datelor într-un fi ș ier secven ț ial (text).

Primul lucru pe care trebuie să-l facem este să creăm cu Windows un fișier text.
cu notepad-ul, și îl salvăm cu numele de angajați, în același
directoriul unde vom salva programul de introducere a datelor.
Declarăm tipul de fișier secvențial

Tipul Arch este fiș ier secvenț ial;

apoi registrul pe care îl vom folosi pentru a introduce datele

Înregistrare Angajat
Dimensiune număr[50];
Definire număr Ca Ș ir;
Definirea salariului ca real;
Definire sexe ca Caracter;
FinRegistro

apoi declarăm variabila pentru a gestiona fișierul text, care este de tip arch și
variabila de tip înregistrare
Definire Angajat Ca emple;
Definiț i ArchEmple ca Arch;
Defineste resp ca Caracter;

Apoi, în program, primul lucru care se face este să se deschidă fișierul pentru scriere,
apoi se cer datele și se salvează în fișier, la final se închide fișierul de
Pagină 71
Programare cu PSeInt
text, acum dacă vrem să știm dacă am salvat datele, putem deschide
empleados con el notepad y veremos los datos que se salvaron en el archivo.

Tip Arh Es Fiș ier Secvenț ial;

Registru Angajat
Dimensiune[50] nume;
Definire număr Ca Ș ir;
Definirea salariului ca real;
Definirea sexului ca Caracter;
FinRegistro

Angajat
Definirea angajării ca arh.
ArchEmple;
Definirea resp ca Caracter;
Deschide "[Link]" Ca archemple Pentru Scriere;
Repeti
Escribir "Nombre del emnpleado..:";
Citeș te [Link];
Salariul angajatului...
Citeș te [Link];
Sex ..:
Citeș te [Link];
Scrie archemple, [Link];
Scrieț i archemple, [Link].
Scrie archemple, [Link];
Doriț i să continuaț i ..:
Citeș te răspunsul;
Hasta Que resp="S" | resp="N";
Hasta Que resp='N';
Închide archemple;
FinProceso

Exemplu Listarea conț inutului unui fiș ier secvenț ial (text).

Se declara el tipo del archivo , el registro y las variables para usar el registro y el
fișier text, apoi fișierul este deschis pentru citire și se face un ciclu în timp ce
nu este sfârșitul fișierului, acest lucru se realizează cu funcția FDA care ne returnează

adevărat când se află la sfârșitul fișierului și fals când nu este.


Se folosește instrucțiunea Citire, pentru a recupera valorile care au fost salvate în
Pág. 72
Programare cu PSeInt
fișier de text, apoi folosind o procedură se scriu valorile din
înregistrare pe ecran

Definirea tipului Arch ca fiș ier secvenț ial;

Registro Angajat
Dimensiune număr[50];
Defineste salariu ca Real;
Definire nume, sex Ca Caracter;
FinRegistro

Variabile globale
Definirea angajatului ca angajat;
Definire ArchEmple Ca Arch;
Definire Opriț i Ca Caracter;
FinVariabileGlobale

SubProceso presentar(emple)
Scrie 'Numele angajatului ...:', [Link];
Scrie "";
Scrie "Salariu....:", [Link],
Scrie "";
Scrie "Sex......:", [Link];
Scrie "";
Citiț i pentru a opri;
FinSubProces

Proces principal
Deschide "[Link]" ca archemple pentru citire;
Între timp ~fda(archemple) A face
Citeș te exemplul, numele exemplului;
Citiț i archemple,[Link];
Citeș te archemple,[Link];
A suna pentru a prezenta (angajare);
FinMientras;
Închide archemple;
FinProceso

Anexă:

Pág. 73
Programare cu PSeInt
Editaț i diagramele de flux

PSeInt permite editarea diagrama de flux, apoi editarea modificărilor, pentru ca


poate fi executat din pseudocod.

Accesăm editorul de diagrame de flux mergând la Fișier -> Editați diagramele


de flujo :

Alegem un subproces și facem clic pe unul dintre ele

Facem clic pe procesul principal sau pe orice subproces, în acest


cazul subprocesului Ingres.

Pág. 74
Programare cu PSeInt

Ni se prezintă un ecran care arată diagrama de flux corespunzătoare la


subproces pe care îl executăm.
Pe partea dreaptă, găsim un tab care ocupă întreaga parte dreaptă a
fereastră.
Facem clic pe ea.

Pág. 75
Programare cu PSeInt

Ni se prezintă un desen cu structurile folosite, iar în partea stângă


inferior apare numele său.
Dacă vrem să adăugăm un nou bloc la diagrama de flux, ceea ce facem este
faceți clic pe un bloc și fără a elibera butonul stâng al mouse-ului, trageți-l până la
diagrama de flux. Pentru a fixa blocul, apăsăm tasta escape.
În propozițiile de scriere, textul trebuie să fie pus între ghilimele.

Salvează modificările

Pentru a salva modificările, mergem la butonul care se află în partea stângă


superior și facem clic pe salvare modificări.
Nu se execută diagrame de flux care nu au fost salvate.
Notă: De asemenea, pot fi create diagrame fără a fi nevoie să scrie ț i
pseudocodul corespunzător.

Nota: Prin modul de lucru al interpretului de diagramă de flux, există


modificări în formatul pseudocodului, dacă se salvează schimbările de la
editorul de diagrame de flux, există modificări în pseudocodul original,
Pag. 76
Programare cu PSeInt
de exemplu, trecut la majuscule, etc. Aceste erori pot fi rezolvate treptat
pe măsură ce apar noi versiuni de PSeInt.

Ș terge PSeInt
PSeInt nu dispune de un dezinstalator, așa că trebuie să-l eliminăm
manual. În general, nu modifică registrul, așa că nu trebuie să faci
nici o modificare în el.
1) Mergem la C:\Program Files (x86), căutăm folderul PSeInt și îl
eliminăm.
Apoi mergem la dosarul cu numele pe care l-am înregistrat în al nostru
mașina și eliminăm folderul PSeInt care se află în acel folder.
3) Eliminăm accesul direct și repornim computerul.

Deschideț i codul sursă


În aceste bloguri se explică ce trebuie să facem pentru a deschide codul sursă
del programa:

Sub Linux

Sub Windows

Pagină 77

S-ar putea să vă placă și