Ovo je nastavak tutorijala Osnovno programiranje s pseintom (2. dio), ovaj put ću objasniti što je potrebno za programiranje.
ZADATAK
Dodjela je postupak u kojem se varijabla stvara i / ili modificira, pozivajući se na nju pomoću svog identifikatora pomoću kojeg možemo pristupiti njezinom memorijskom prostoru.
sintaksa zadatka je:
[variable]<- [expresion];
[variable]=[expresion];
Gdje je [varijabla] varijabla koja prima vrijednost vrednovanja [izraza]. Oba su valjana, pa nije važno koji se koristi (ako su ispravno konfigurirali PSeInt), ali po mom mišljenju stvorim prvi kao ispravan.
Ako [varijabla] nije postojala prije dodjele, stvorena je [varijabla], ako je postojala, prethodna vrijednost se uništava, a nova se postavlja na svoje mjesto. Iz tog se razloga mapiranje smatra destruktivnom operacijom.
ČITANJE
Čitanje je postupak u kojem se od korisnika zahtijevaju podaci ili podaci za pohranu navedenih podataka u varijablu.
njegova sintaksa je:
Leer variable_1,variable_2,...,variable_n;
gdje su [varijabla_ {1,2, n}] varijabla ili varijable koje primaju vrijednost koju je dao korisnik, u slučaju da se zatraži više od jedne varijable, prvo će tražiti prvu, zatim drugu i tako dalje dok su primili sve vrijednosti.
Ovo je također destruktivna funkcija.
PISANJE
Pisanje je postupak u kojem se na ekran upisuje niz znakova i / ili jedna ili više varijabli
sintaksa je:
Escribir expresion_1,expresion_2,...,expresion_n;
gdje su [ekspersija_ {1,2, n}] nizovi znakova i / ili varijable koje će se prikazati.
Pisanje, osim što prima podatke koji će se staviti na ekran, također dobiva uputu "Bez preskakanja" ili "Bez pada" koja izbjegava preskakanje crte.
Pisanje ne dodaje razmake između argumenata, odnosno ako stavite:
Proceso SinTitulo
a<- "ola";
b<- "mundo";
Escribir a,b;
FinProceso
u ovom će slučaju prikazati «olamundo», jer između «a» i «b» ne postoji niz znakova koji označava razmak između a i b, tako da je pravilno prikazan napisano je ovako:
Proceso SinTitulo
a<- "ola";
b<- "mundo";
Escribir a,"",b;
FinProceso
u ovom slučaju dodajte »» koji je niz znakova koji ima razmak koji je prostor između «vala» i «svijeta», a zatim će s prostorom prikazati «svijet valova».
AKO TADA
Ovo je izjava koja procjenjuje zadani uvjet i provjerava istinitost i / ili neistinu navedenog stanja, odnosno je li uvjet ispunjen ili ne.
Njegova sintaksa je:
Si [condición a evaluar] Entonces
[instrucciones por verdadero]
Sino
[instrucciones por falso]
FinSi
Klauzula "Else" nije obavezna, u ovom slučaju ako je uvjet netačan, zanemarite upute i nastavite kao da rečenica ne postoji, u ovom bi slučaju ostala:
Si [condición a evaluar] Entonces
[instrucciones por verdadero]
FinSi
Je li stavljena klauzula "Neuspjeh", ovisi o potrebama tog programa.
PREMA
Rečenica jer ocjenjuje strogo numeričku varijablu koja daje više od 2 mogućnosti kao opciju, to je razlika od "Ako-onda", jer prethodna može dati samo 2 mogućnosti.
Sintaksa je:
Segun [variable numérica] Hacer
[número1]: [instrucciones]
[número2],[número3]: [instrucciones]
[...]
De Otro Modo: [instrucciones]
FinSegun
Kao što vidite nakon "broj1" stoji ":", a nakon toga upute koje treba izvršiti stavljaju se u slučaju da je "numerička varijabla = broj1", u drugom primjeru to je "broj2, broj3", to znači da ako je "numerička varijabla = broj2 ili broj3", tada će se izvršiti "upute", to je korisno kada dvije mogućnosti moraju izvršiti iste upute.
Tu je i klauzula "Na drugi način" koja se izvršava u slučaju da nije ispunjena niti jedna od mogućnosti.
DOK
To je ponavljajuća funkcija koja prvo procjenjuje uvjet, a zatim ako je ispunjena izvršava niz uputa, zatim ponovno procjenjuje stanje i ako je istina ponovno izvršava iste upute i nastavlja tako dok uvjet nije lažan.
ako je uvjet od početka netačan, nikada se neće izvršiti i ako je uvijek istinit bit će smješten u beskonačnu petlju, kako bi se izbjeglo posljednje u uputama mora postojati nešto što u nekom trenutku krivotvori uvjet da bi moglo završiti petlju.
njegova sintaksa je:
Mientras [condición a evaluar] Hacer
[instrucciones]
FinMientras
PONAVLJATI-DO
Ovo je funkcija vrlo slična prethodnoj, ali za razliku od prethodne, ona provjerava stanje na kraju, odnosno naredba će se izvršiti najmanje 1 put, također umjesto da izvršava uputu kada je istinita, izvršava ga dok je Ako uvjet nije zadovoljen, ali ako želite da se izvrši dok je uvjet ispunjen, upotrijebite "while" umjesto "until".
njegova sintaksa je:
Repetir
[Instrucciones]
hasta que [condicion]
ZA
Ovaj izraz izvršava uputu određujući broj puta za varijablu, za razliku od prethodnih, ovaj ciklus sam mijenja vrijednost dotične varijable, kao i vrlo moćnu sintaksu.
Para [variable] Desde [valor inicial] Hasta [valor Final] Con [paso] Hacer
[instruciones]
FinPara
"Varijabla" je varijabla koja prima "početnu vrijednost" i izvršava upute, zatim dodaje "varijablu" plus "korak" i ponovno izvršava upute sve dok "varijabla" ne bude jednaka "konačnoj vrijednosti".
Ako se ukloni "s [korak]", tada će prema zadanim postavkama znati da je "korak" jednak 1, također ako [korak] nije naveden i ako je "početna vrijednost" veća od "konačne vrijednosti", proći će kroz obrnuti redoslijed, odnosno "Korak" je -1
PODPROCES / FUNKCIJA
Nit ili funkcija je program unutar drugog i taj podprogram prima jednu ili više vrijednosti, upravlja njima i vraća drugu. Sintaksa mu je
SubProceso [variable_de_retorno]<- [nombre de la funcion] ([arg_1],[arg_2],...,[arg_n])
acción 1;
acción 2;
.
.
.
acción n;
FinSubproceso
gdje je "return varijabla" varijabla koja sadrži vrijednost koju je vratila funkcija "ime funkcije" koja je primila parametre "arg_1, arg_2, arg_n" za izvršenje
OTHER
To su funkcije koje su samo komplementarne ostalima i nemaju složenu sintaksu, jer su samo komplementarne funkcije.
Očisti zaslon
Ova funkcija briše zaslon bilo kojeg predmeta u tumaču
Čekaj ključ
Ova funkcija čeka da korisnik pritisne tipku za nastavak programa
očekivati x {Drugo, milisekunde}
ova funkcija čeka vrijeme u sekundama ili milisekundama da nastavi s programom
PS: oprostite na kašnjenju, ali bio sam zauzet drugim stvarima pa nisam mogao pisati
Nemate funkcije za hvatanje ključeva bez zaustavljanja izvršenja? Za rad s pokretom koji je privlačniji 9-godišnjacima, iako igra vješala također može biti zabavna za programiranje.
Obradi nešto_digo
a <-1;
bočni <-30;
dolje <-5;
Dok je a = 1 Do
Očisti zaslon;
c <-1;
redak <- "";
ponoviti
redak <-linija + "";
c <-c + 1;
Sve dok c = bočno
redak <-linija + "X";
c <-1;
ponoviti
Napisati " ";
c <-c + 1;
Do c = dolje-1
Red za pisanje;
ponoviti
Napisati " ";
c 2 Zatim
dolje <-dolje-1;
Kraj da
"s":
Ako je ispod <15 Tada
dolje 2 Zatim
bočni <-strani-1;
Kraj da
"d":
Ako je bočno <50 Tada
bočni <-stranični + 1;
Kraj da
"0":
a <-2;
Kraj sekunde
Kraj dok
Završi postupak
Pa, neuspjeh ako idete gore, bolje promijenite linije 23 i 28
-23 Sve dok c = 15
+23 dok c = 18
y
-28 Ako je dolje> 2 Tada
+28 Ako je pad> 3 Tada
Hvala na doprinosu, ali ima nekih problema poput otvaranja jedne rečenice u drugoj, ali ona mora završiti unutar rečenice u kojoj je započela, mislim, ne može se staviti
Obradi nešto
a <- 0;
čitati;
ako a nije jednako 25 tada
dok a nije jednako 0 do
čitati;
Kraj da
kraj dok
kao što vidite petlju dok započinje unutar izjave "ako onda", ali završava izvan nje, ovako nešto nije moguće.
I dalje cijenim doprinos
Završi postupak
Hvala, ali mislim da je veći problem staviti kod ovdje, jer ne znam kako ga staviti u vrstu koda i on izlazi bez uvlačenja.
Program dobro funkcionira. Varijablu "a" jednostavno koristim za izlazak iz petlje kada korisnik upiše nulu. Možete staviti izlaz () ili pauzu; u uvjetnom to gleda i spremam varijablu. Oni su opcije.
Pozdrav.
Pokušat ću promijeniti kartice za razmake i oznake
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
To je puno pogrešaka uvoza iz mog koda, pokušat ću ponovo s karticama:
Ovo bi bila datoteka 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
Zanimljivo je da se komentar s oznakama koda pojede, izbriše, što god bilo između, na primjer između redaka
ponoviti
Napisati " ";
c
nakon c nalazi se a
a zatim se nastavlja s 3 Zatim
dolje
Sve u svemu, ovo nije pouzdano postaviti prema kojim kodovima.
Mijenjam simbole iz dodjeljivanja u = da vidim kako.
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
Stalno jede dio koda, oznaka koda ne uspije, trebalo bi da ostavi zapis kako jest.
Pozdrav, nisam vidio odgovor prije, ali dobro
s obzirom da ne možete dobro objaviti kôd jer mi ga ne šaljete poštom, pa se ne okrećete toliko puno prema tom pitanju.