Ovo je nastavak tutorijala Osnovno programiranje sa pseintom (2. dio), ovaj put ću objasniti šta je potrebno za programiranje.
ZADATAK
Dodjela je postupak u kojem se varijabla kreira i / ili modificira, pozivajući se na nju pomoću svog identifikatora pomoću kojeg možemo pristupiti njenom 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, kreirala se [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 da bi se ti podaci pohranili 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đe destruktivna funkcija.
PISANJE
Pisanje je postupak u kojem se niz znakova i / ili jedna ili više varijabli ispisuju na ekranu
sintaksa je:
Escribir expresion_1,expresion_2,...,expresion_n;
gdje su [ekspresion_ {1,2, n}] nizovi znakova i / ili varijable koje će se prikazati.
Pisanje, pored primanja podataka koji će se staviti na ekran, također prima i uputu "Bez preskakanja" ili "Bez pada" koja izbjegava preskakanje linije.
Pisanje ne dodaje razmake između argumenata, odnosno ako stavite:
Proceso SinTitulo
a<- "ola";
b<- "mundo";
Escribir a,b;
FinProceso
u ovom slučaju pokazat će «olamundo», jer između «a» i «b» ne postoji niz znakova koji ukazuje na 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 ONDA
Ovo je rečenica koja procjenjuje dati uvjet i provjerava istinitost i / ili neistinu navedenog stanja, odnosno da li je 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 opcije kao opciju, to je razlika od "Ako-onda", jer prethodna može dati samo 2 opcije.
Sintaksa je:
Segun [variable numérica] Hacer
[número1]: [instrucciones]
[número2],[número3]: [instrucciones]
[...]
De Otro Modo: [instrucciones]
FinSegun
Kao što vidite nakon «broja1» stoji «:», a nakon toga se upute koje treba izvršiti stavljaju u slučaj da je «numerička varijabla = broj1», u drugom primjeru je «broj2, broj3», to znači da ako « numerička varijabla = broj2 ili broj3 "tada će se izvršiti" upute ", ovo 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 nijedna od mogućnosti nije ispunjena.
DOK
To je ponavljajuća funkcija koja prvo procjenjuje uvjet, a zatim, ako je ispunjeno, izvršava niz uputa, zatim ponovno procjenjuje stanje, a ako je istina, 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, a 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, tj. Naredba će se izvršiti najmanje 1 put, također umjesto da izvršava naredbu kada je istinita, izvršava je dok Ako uvjet nije zadovoljen, ali ako želite da se izvrši dok je uvjet ispunjen, upotrijebite "while" umjesto "dok".
njegova sintaksa je:
Repetir
[Instrucciones]
hasta que [condicion]
ZA
Ova naredba izvršava naredbu određujući broj puta za varijablu, za razliku od prethodnih, ovaj ciklus sam mijenja vrijednost predmetne 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 uputstva, a zatim dodaje "varijablu" plus "korak" i ponovo izvršava uputstva sve dok "varijabla" ne bude jednaka "konačnoj vrijednosti".
Ako se ukloni "sa [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 njega obrnutim redoslijedom, tj. "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. Njegova sintaksa 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" da izvrši ovo
OSTALO
To su funkcije koje su samo komplementarne ostalim i nemaju složenu sintaksu, jer su samo komplementarne funkcije.
Clear Screen
Ova funkcija briše zaslon bilo kojeg objekta u tumaču
Čekaj ključ
Ova funkcija čeka da korisnik pritisne tipku za nastavak programa
Čekaj x {Drugo, milisekunde}
ova funkcija čeka vrijeme u sekundama ili milisekundama da nastavi s programom
PS: izvinite 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 devetogodiš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 Da
Clear Screen;
c <-1;
redak <- "";
Ponavljam
linija <-linija + "";
c <-c + 1;
Sve dok c = bočno
linija <-linija + "X";
c <-1;
Ponavljam
Pisati " ";
c <-c + 1;
Do c = dolje-1
Red za pisanje;
Ponavljam
Pisati " ";
c 2 Zatim
dolje <-dolje-1;
Kraj da
"s":
Ako je ispod <15 Tada
dolje 2 Zatim
bočni <-lateral-1;
Kraj da
"d":
Ako je bočno <50 Tada
bočni <-strani + 1;
Kraj da
"0":
a <-2;
Kraj sekunde
Kraj dok
EndProcess
Pa ne uspijete ako idete gore, bolje promijenite linije 23 i 28
-23 Do c = 15
+23 do 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 u rečenici tamo gdje 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 naredbe "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 greš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, sve što ide između, na primjer između redova
Ponavljam
Pisati " ";
c
nakon c stoji a
a zatim se nastavlja sa 3 Zatim
dole
Sve u svemu, ovo nije pouzdano postaviti prema kojim kodovima.
Mijenjam simbole iz dodjeljivanja u = da vidim kako je.
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.
Zdravo žao mi je što nisam prije vidio odgovor, ali dobro
s obzirom da ne možete dobro objaviti kôd, jer mi ga ne šaljete poštom, pa ne dajete toliko okreta pitanju.