Baza programado kun pseint (parto 3)

Ĉi tio estas daŭrigo de la lernilo Baza programado kun pseint (parto 2), ĉi-foje mi klarigos, kio necesas por programi.

ASIGNO

La tasko estas procezo, en kiu variablo estas kreita kaj / aŭ modifita, rilatante al ĝi per sia identigilo, per kiu ni povas aliri ĝian memoran spacon.

la sintakso de la tasko estas:

[variable]<- [expresion];
[variable]=[expresion];

Kie [variablo] estas la variablo, kiu ricevas la valoron taksi [esprimon]. Ambaŭ estas validaj do ne gravas kiu uzata (se ili agordis PSeInt ĝuste), sed laŭ mi mi kreas la unuan kiel ĝustan.

Se [variablo] ne ekzistis antaŭ la tasko, [variablo] estis kreita, se ĝi ekzistis, la antaŭa valoro detruiĝas kaj la nova lokiĝas. Tial mapado estas konsiderata detrua operacio.

LEGADO

Legado estas la procezo, laŭ kiu la uzanto petas datumojn aŭ datumojn por stoki ĉi tiujn datumojn en variablo.

ĝia sintakso estas:

Leer variable_1,variable_2,...,variable_n;

kie [variablo_ {1,2, n}] estas la variablo aŭ variabloj, kiuj ricevas la valoron donitan de la uzanto, se pli ol unu variablo estas petita, ĝi unue petos la unuan, poste la duan kaj tiel plu ĝis ricevis ĉiujn valorojn.

Ĉi tio ankaŭ estas detrua funkcio.

SKRIBO

Skribo estas la procezo en kiu ĉeno de signoj kaj / aŭ unu aŭ pluraj variabloj estas skribitaj sur la ekrano

la sintakso estas:

Escribir expresion_1,expresion_2,...,expresion_n;

kie [ekspansio_ {1,2, n}] estas la signokordoj kaj / aŭ variabloj montrotaj.

Skribado krom ricevi la metotajn datumojn sur la ekrano ankaŭ ricevas la instrukcion "Sen transsalti" aŭ "Sen malsupreniri", kiuj evitas la linian salton.

Skribo ne aldonas spacojn inter la argumentoj, tio estas, se ĝi estas metita:

Proceso SinTitulo
a<- "ola";
b<- "mundo";
Escribir a,b;
FinProceso

ĉi-kaze ĝi montros «olamundo», ĉar inter «a» kaj «b» ne estas signoĉeno, kiu indikas la spacon inter a kaj b, tiel ke ĝi montriĝas ĝuste ĝi estas skribita tiel:

Proceso SinTitulo
a<- "ola";
b<- "mundo";
Escribir a,"",b;
FinProceso

ĉi-kaze aldonu »», kiu estas signokordo, kiu havas spacon, kiu estas la spaco inter «ondo» kaj «mondo», kaj tiam ĝi montros «ondmondon» kun la spaco.

SE TIAM

Ĉi tio estas frazo, kiu taksas antaŭfiksitan kondiĉon kaj kontrolas la verecon kaj / aŭ malveron de menciita kondiĉo, tio estas, se la kondiĉo estas plenumita aŭ ne.

Ĝia sintakso estas:

Si [condición a evaluar] Entonces
[instrucciones por verdadero] Sino
[instrucciones por falso] FinSi

La klaŭzo "Alie" ne estas deviga, ĉi-kaze se la kondiĉo estas falsa ignoru la instrukciojn kaj daŭru kvazaŭ la frazo ne ekzistus, ĉi-kaze ĝi restus:

Si [condición a evaluar] Entonces
[instrucciones por verdadero] FinSi

Ĉu la "Malsukcesa" klaŭzo estis metita aŭ ne dependas de la bezonoj de tiu programo.

LAORD LA .TO

La frazo dum ĝi taksas strikte nombran variablon, kiu donas pli ol 2 opciojn kiel eblon, ĉi tio diferencas de "Se-Tiam" ĉar la antaŭa povas doni nur 2 eblojn.

La sintakso estas:

Segun [variable numérica] Hacer
[número1]: [instrucciones] [número2],[número3]: [instrucciones] [...] De Otro Modo: [instrucciones] FinSegun

Kiel vi povas vidi post "numero1" estas ":" kaj post tio la plenumindaj instrukcioj estas metitaj en la okazo ke "nombra variablo = numero1", en la dua ekzemplo ĝi estas "numero2, numero3" tio signifas, ke se " nombra variablo = nombro2 aŭ nombro3 "tiam" instrukcioj "estos plenumitaj, ĉi tio estas utila kiam 2 ebloj devas plenumi la samajn instrukciojn.

Ekzistas ankaŭ la klaŭzo "Alimaniere" efektivigita en la okazo ke neniu el la ebloj plenumiĝu.

DUM

Ĝi estas ripetema funkcio, kiu unue taksas kondiĉon kaj tiam se ĝi plenumiĝas, ĝi plenumas serion da instrukcioj, tiam ĝi retaksas la kondiĉon kaj se ĝi estas vera, ĝi denove plenumas la samajn instrukciojn kaj daŭras tiel ĝis la kondiĉo estas falsa.

se la kondiĉo estas falsa dekomence ĝi neniam plenumiĝos kaj se ĝi ĉiam veras, ĝi estos metita en senfinan buklon, por eviti la lastan en la instrukcioj devas esti io, kio iam falsas la kondiĉon por povi fini la buklon.

ĝia sintakso estas:

Mientras [condición a evaluar] Hacer
[instrucciones] FinMientras

REPETU ĜIS

Ĉi tio estas funkcio tre simila al la antaŭa, sed male al la antaŭa, ĉi tiu kontrolas la staton fine, tio estas, la komando estos plenumita almenaŭ 1 fojon, ankaŭ anstataŭ plenumi la instrukcion kiam ĝi estas vera, ĝi plenumas ĝin dum Se la kondiĉo ne plenumiĝas, sed se vi volas, ke ĝi estu plenumita dum la kondiĉo estas plenumita, uzu "dum" anstataŭ "ĝis".

ĝia sintakso estas:

Repetir
[Instrucciones] hasta que [condicion]

POR

Ĉi tiu aserto plenumas instrukcion determinantan nombron da fojoj por variablo, male al la antaŭaj, ĉi tiu ciklo mem ŝanĝas la valoron de la koncerna variablo krom havi tre potencan sintakson.

Para [variable] Desde [valor inicial] Hasta [valor Final] Con [paso] Hacer
[instruciones] FinPara

"Variablo" estas la variablo, kiu ricevas "komencan valoron" kaj plenumas la instrukciojn, poste aldonas "variablon" plus "paŝo" kaj ekzekutas la instrukciojn denove ĝis "variablo" egalas al "fina valoro".

se "kun [paŝo]" estas forigita tiam defaŭlte ĝi scios ke "paŝo" egalas al 1, ankaŭ se [paŝo] ne estas specifita kaj "komenca valoro" estas pli granda ol "fina valoro" ĝi trairos ĝin laŭ inversa ordo, tio estas, "Paŝo" estas -1

SUBPROCESO / FUNKCIO

Fadeno aŭ funkcio estas programo ene de alia kaj ke ĉi tiu subprogramo ricevas unu aŭ plurajn valorojn, funkciigas ilin kaj redonas alian. Ĝia sintakso estas

SubProceso [variable_de_retorno]<- [nombre de la funcion] ([arg_1],[arg_2],...,[arg_n])

acción 1;
acción 2;
.
.
.
acción n;
FinSubproceso

kie "redona variablo" estas la variablo, kiu enhavas la valoron redonitan de la funkcio "nomo de funkcio", kiu ricevis la parametrojn "arg_1, arg_2, arg_n" por plenumi ĉi tion

ALIAJ

Ĉi tiuj estas funkcioj nur komplementaj al la aliaj kaj ne havas kompleksan sintakson, ĉar ili estas nur komplementaj funkcioj.

Klara Ekrano

Ĉi tiu funkcio malplenigas la ekranon de iu ajn objekto en la interpretilo

Atendu Ŝlosilon

Ĉi tiu funkcio atendas, ke la uzanto premu klavon por daŭrigi la programon

Atendu x {Due, Milisekundoj}

ĉi tiu funkcio atendas tempon en sekundoj aŭ milisekundoj por daŭrigi la programon

PS: pardonu pro la malfruo, sed mi okupiĝis pri aliaj aferoj, do mi ne povis skribi


La enhavo de la artikolo aliĝas al niaj principoj de redakcia etiko. Por raporti eraron alklaku Ĉi tie.

10 komentoj, lasu la viajn

Lasu vian komenton

Via retpoŝta adreso ne estos eldonita. Postulita kampojn estas markita per *

*

*

  1. Respondeculo pri la datumoj: Miguel Ángel Gatón
  2. Celo de la datumoj: Kontrola SPAM, administrado de komentoj.
  3. Legitimado: Via konsento
  4. Komunikado de la datumoj: La datumoj ne estos komunikitaj al triaj krom per laŭleĝa devo.
  5. Stokado de datumoj: Datumbazo gastigita de Occentus Networks (EU)
  6. Rajtoj: Iam ajn vi povas limigi, retrovi kaj forigi viajn informojn.

  1.   Guille diris

    Ĉu vi ne havas funkciojn por kapti klavojn sen ĉesigi la ekzekuton? Por fari ion kun movado, kiu pli allogas 9-jarulojn, kvankam pendumila ludo ankaŭ povas esti amuze programi.

    Procesi ion_digo
    a <-1;
    flanka <-30;
    malsupren <-5;
    Dum a = 1 Faru
    Klara Ekrano;
    c <-1;
    linio <- "";
    Ripetu
    linio <-linia + "";
    c <-c + 1;
    Ĝis c = flanka
    linio <-linio + "X";
    c <-1;
    Ripetu
    Skribi " ";
    c <-c + 1;
    Ĝis c = malsupren-1
    Skribu linion;
    Ripetu
    Skribi " ";
    c 2 Tiam
    malsupren <-down-1;
    Fino jes
    "s":
    Se sub <15 Tiam
    malsupren 2 Tiam
    laterala <-lateral-1;
    Fino jes
    "d":
    Se flanka <50 Tiam
    laterala <-lateral + 1;
    Fino jes
    "0":
    a <-2;
    Finaj Sekundoj
    Fini Dum
    Fina Procezo

  2.   Guille diris

    Nu malsukcesu se vi supreniros, pli bone ŝanĝu liniojn 23 kaj 28
    -23 Ĝis c = 15
    +23 Ĝis c = 18
    y
    -28 Se malsupren> 2 Tiam
    +28 Se malsupren> 3 Tiam

    1.    xnmm diris

      Dankon pro la kontribuo, sed ĝi havas iujn problemojn kiel ekzemple ke vi malfermas unu frazon ene de alia sed ĝi devas finiĝi ene de la frazo kie ĝi komenciĝis, mi volas diri, ke ĝi ne povas esti metita

      Procesi ion
      a <- 0;
      legi al;
      se a ne egalas al 25 tiam
      dum a ne egalas al 0 do
      legi al;
      Fino jes
      fini dum

      kiel vi vidas la buklon komencante ene de la instrukcio "se tiam" sed finiĝante ekster ĝi, io tia ne eblas.

      Mi ankoraŭ dankas la kontribuon
      Fini procezon

      1.    Guille diris

        Dankon, sed mi pensas, ke temas pli pri problemo meti la kodon ĉi tie, ke mi ne scias kiel meti ĝin en kodspecon kaj ĝi aperas sen indenta.

        La programo funkcias bone. La variablon "a" mi simple uzas por forlasi la buklon kiam la uzanto tajpas nulon. Vi povus meti eliron () aŭ paŭzon; en la kondicionalo ĝi rigardas ĝin kaj mi konservas la variablon. Ili estas ebloj.

        Salutojn.

      2.    Guille diris

        Mi provos ŝanĝi langetojn por spacoj kaj la etikedoj por si funciona algo:

        Proceso algo_digo
        a<-1;
        lateral<-30;
        abajo<-5;
        Mientras a=1 Hacer
        Borrar Pantalla;
        c<-1;
        linea<-"";
        Repetir
        linea<-linea+" ";
        c<-c+1;
        Hasta Que c=lateral
        linea<-linea+"X";
        c<-1;
        Repetir
        Escribir " ";
        c<-c+1;
        Hasta Que c=abajo-1
        Escribir linea;
        Repetir
        Escribir " ";
        c 3 Entonces
        abajo<-abajo-1;
        Fin Si
        "s":
        Si abajo < 15 Entonces
        abajo 2 Entonces
        lateral<-lateral-1;
        Fin Si
        "d":
        Si lateral < 50 Entonces
        lateral<-lateral+1;
        Fin Si
        "0":
        a<-2;
        Fin Segun
        Fin Mientras
        FinProceso

      3.    Guille diris

        Tio estas plena de importaj eraroj de mia kodo, mi provos denove per langetoj:
        Ĉi tiu estus la dosiero algo.psc

        Proceso algo_digo
        a<-1;
        lateral<-30;
        abajo<-5;
        Mientras a=1 Hacer
        Borrar Pantalla;
        c<-1;
        linea<-"";
        Repetir
        linea<-linea+" ";
        c<-c+1;
        Hasta Que c=lateral
        linea<-linea+"X";
        c<-1;
        Repetir
        Escribir " ";
        c<-c+1;
        Hasta Que c=abajo-1
        Escribir linea;
        Repetir
        Escribir " ";
        c 3 Entonces
        abajo<-abajo-1;
        Fin Si
        "s":
        Si abajo < 15 Entonces
        abajo 2 Entonces
        lateral<-lateral-1;
        Fin Si
        "d":
        Si lateral < 50 Entonces
        lateral<-lateral+1;
        Fin Si
        "0":
        a<-2;
        Fin Segun
        Fin Mientras
        FinProceso

      4.    Guille diris

        Interese, la komento kun kodetikedoj estas manĝita, forigita, kio ajn interas, ekzemple inter linioj
        Ripetu
        Skribi " ";
        c
        post la c estas a
        kaj tiam ĝi daŭras kun 3 Tiam
        malsupren
        Ĝenerale, ĉi tio ne estas fidinda por meti laŭ kiuj kodoj.

  3.   Guille diris

    Mi ŝanĝas la simbolojn de asignado al = por vidi kiel.

    Proceso algo_digo
    a=1;
    lateral=30;
    abajo=5;
    Mientras a=1 Hacer
    Borrar Pantalla;
    c=1;
    linea="";
    Repetir
    linea=linea+" ";
    c=c+1;
    Hasta Que c=lateral
    linea=linea+"X";
    c=1;
    Repetir
    Escribir " ";
    c=c+1;
    Hasta Que c=abajo-1
    Escribir linea;
    Repetir
    Escribir " ";
    c=c+1;
    Hasta Que c=18
    Escribir "Dibujo una X (w,a,s,d y 0 para salir)";
    Leer mueve;
    Segun mueve Hacer
    "w":
    Si abajo > 3 Entonces
    abajo=abajo-1;
    Fin Si
    "s":
    Si abajo 2 Entonces
    lateral=lateral-1;
    Fin Si
    "d":
    Si lateral < 50 Entonces
    lateral=lateral+1;
    Fin Si
    "0":
    a=2;
    Fin Segun
    Fin Mientras
    FinProceso

    1.    Guille diris

      Ĝi daŭre manĝas parton de la kodo, la koda etikedo malsukcesas, ĝi devas lasi la skribon tian.

      1.    xnmm diris

        Saluton, ke mi ne vidis, ke vi respondis antaŭe, sed bone
        ĉar vi ne povas bone publikigi la kodon, ĉar vi ne sendas ĝin al mi per poŝto, do vi ne donas tiom da turnoj al la afero.