Programowanie podstawowe z pseint (część 3)

To jest kontynuacja samouczka Programowanie podstawowe z pseint (część 2), tym razem wyjaśnię, co jest potrzebne do programowania.

ZADANIE

Przypisanie to proces, w którym zmienna jest tworzona i / lub modyfikowana, odwołując się do niej za pomocą jej identyfikatora, za pomocą którego możemy uzyskać dostęp do jej przestrzeni pamięci.

składnia przypisania to:

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

Gdzie [zmienna] jest zmienną, która otrzymuje wartość wartościowania [wyrażenie]. Oba są ważne, więc nie ma znaczenia, który z nich jest używany (jeśli poprawnie skonfigurowali PSeInt), ale moim zdaniem pierwszy tworzę jako poprawny.

Jeśli [zmienna] nie istniała przed przypisaniem, [zmienna] została utworzona, jeśli istniała, poprzednia wartość jest niszczona, a nowa jest umieszczana w jej miejscu. Z tego powodu mapowanie jest uważane za operację destrukcyjną.

CZYTANIE

Czytanie to proces, w którym użytkownik jest proszony o dane lub dane do przechowywania tych danych w zmiennej.

jego składnia to:

Leer variable_1,variable_2,...,variable_n;

gdzie [zmienna_ {1,2, n}] to zmienna lub zmienne, które otrzymują wartość podaną przez użytkownika, w przypadku, gdy zażądano więcej niż jednej zmiennej, najpierw zapyta o pierwszą, potem o drugą i tak dalej, aż otrzymały wszystkie wartości.

Jest to również funkcja destrukcyjna.

PISANIE

Pisanie to proces, w którym na ekranie zapisywany jest ciąg znaków i / lub jedna lub więcej zmiennych

składnia to:

Escribir expresion_1,expresion_2,...,expresion_n;

gdzie [expersion_ {1,2, n}] to łańcuchy znaków i / lub zmienne, które zostaną wyświetlone.

Zapis oprócz odbioru danych, które mają być wyświetlone na ekranie, otrzymuje również instrukcję „Bez przeskakiwania” lub „Bez pobierania”, które pozwalają uniknąć przeskakiwania linii.

Pisanie nie dodaje spacji między argumentami, to znaczy, jeśli wstawisz:

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

w tym przypadku wyświetli się «olamundo», ponieważ między «a» i «b» nie ma ciągu znaków, który wskazywałby odstęp między a i b, więc jest on wyświetlany poprawnie, jest napisany w następujący sposób:

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

w tym przypadku dodaj »», który jest ciągiem znaków, który ma odstęp będący przestrzenią między «falą» i «światem», a następnie pokaże «świat fal» z przestrzenią.

JEŚLI NASTĘPNIE

Jest to zdanie, które ocenia dany warunek i sprawdza prawdziwość i / lub fałsz tego warunku, czyli czy warunek jest spełniony czy nie.

Jego składnia to:

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

Klauzula „Else” nie jest obowiązkowa, w tym przypadku, jeśli warunek jest fałszywy, zignoruj ​​instrukcje i kontynuuj tak, jakby zdanie nie istniało, w tym przypadku pozostanie:

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

To, czy klauzula „Failure” została umieszczona, czy nie, zależy od potrzeb tego programu.

WEDŁUG

Zdanie, ponieważ ocenia zmienną ściśle numeryczną, która daje więcej niż 2 opcje jako opcję, jest to różnica w stosunku do „Jeśli-To”, ponieważ poprzednie może dać tylko 2 opcje.

Składnia jest następująca:

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

Jak widać po «liczba1» jest «:», a następnie instrukcje do wykonania są umieszczane w przypadku, gdy «zmienna numeryczna = liczba1», w drugim przykładzie jest to «liczba2, liczba3» oznacza to, że jeśli « zmienna numeryczna = liczba2 lub liczba3 "wtedy zostaną wykonane" instrukcje ", jest to przydatne, gdy 2 możliwości muszą wykonać te same instrukcje.

Istnieje również klauzula „Inaczej”, która jest wykonywana w przypadku, gdy żadna z możliwości nie jest spełniona.

PODCZAS

Jest to powtarzalna funkcja, która najpierw ocenia warunek, a następnie, jeśli jest spełniony, wykonuje serię instrukcji, następnie ponownie ocenia warunek i jeśli jest prawdziwy, ponownie wykonuje te same instrukcje i kontynuuje w ten sposób, aż warunek stanie się fałszywy.

jeśli warunek jest fałszywy od początku, nigdy nie zostanie wykonany, a jeśli zawsze będzie prawdziwy, zostanie umieszczony w nieskończonej pętli, aby uniknąć ostatniego w instrukcjach, musi istnieć coś, co w pewnym momencie fałszuje warunek, aby móc zakończyć pętlę.

jego składnia to:

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

POWTARZAJ, AŻ

Jest to funkcja bardzo podobna do poprzedniej, ale w przeciwieństwie do poprzedniej, ta sprawdza warunek na końcu, to znaczy polecenie zostanie wykonane co najmniej 1 raz, również zamiast wykonywać instrukcję, gdy jest prawdą, wykonuje ją podczas Jeśli warunek nie jest spełniony, ale jeśli chcesz, aby był wykonywany, gdy warunek jest spełniony, użyj „while” zamiast „aż”.

jego składnia to:

Repetir
[Instrucciones] hasta que [condicion]

Dla

Ta instrukcja wykonuje instrukcję określoną liczbę razy dla zmiennej, w przeciwieństwie do poprzednich, ten cykl sam zmienia wartość danej zmiennej, a także ma bardzo potężną składnię.

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

„Zmienna” to zmienna, która otrzymuje „wartość początkową” i wykonuje instrukcje, a następnie dodaje „zmienną” plus „krok” i wykonuje instrukcje ponownie, aż „zmienna” zrówna się z „wartością końcową”.

Jeśli zostanie usunięty „z [krokiem]” to domyślnie będzie wiedział, że „krok” jest równy 1, również jeśli [krok] nie jest określony, a „wartość początkowa” jest większa niż „wartość końcowa”, to przejdzie przez to w odwrotnej kolejności, to znaczy „Krok” to -1

PODPROCES / FUNKCJA

Wątek lub funkcja jest programem wewnątrz innego i ten podprogram otrzymuje jedną lub więcej wartości, obsługuje je i zwraca inną. Jego składnia to

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

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

gdzie „zmienna zwracana” to zmienna zawierająca wartość zwróconą przez funkcję „nazwa funkcji”, która otrzymała parametry „arg_1, arg_2, arg_n”, aby to wykonać

INNE

Są to funkcje, które są tylko komplementarne w stosunku do innych i nie mają złożonej składni, ponieważ są tylko funkcjami uzupełniającymi.

Czysty ekran

Ta funkcja czyści ekran z dowolnego obiektu w tłumaczu

Wait Key

Ta funkcja oczekuje na naciśnięcie klawisza przez użytkownika, aby kontynuować program

Czekaj x {Po drugie, milisekundy}

ta funkcja czeka przez pewien czas w sekundach lub milisekundach, aby kontynuować program

PS: przepraszam za opóźnienie, ale byłem zajęty innymi sprawami, więc nie mogłem pisać


Treść artykułu jest zgodna z naszymi zasadami etyka redakcyjna. Aby zgłosić błąd, kliknij tutaj.

10 komentarzy, zostaw swoje

Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: Miguel Ángel Gatón
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.

  1.   Guille powiedział

    Nie masz funkcji do przechwytywania klawiszy bez zatrzymywania wykonywania? Do robienia czegoś za pomocą ruchu, co jest bardziej atrakcyjne dla 9-latków, chociaż programowanie gry w kata może być również zabawne.

    Przetwórz coś_digo
    a <-1;
    boczne <-30;
    w dół <-5;
    Podczas gdy a = 1 Do
    Czysty ekran;
    c <-1;
    linia <- "";
    Powtórz
    linia <-line + "";
    c <-c + 1;
    Aż c = poprzecznie
    linia <-line + "X";
    c <-1;
    Powtórz
    Pisać " ";
    c <-c + 1;
    Dopóki c = down-1
    Napisz linię;
    Powtórz
    Pisać " ";
    c 2 Następnie
    dół <-down-1;
    Koniec tak
    „s”:
    Jeśli poniżej <15 Wtedy
    w dół 2 Następnie
    boczne <-lateralne-1;
    Koniec tak
    "re":
    Jeśli boczne <50 Wtedy
    boczna <-lateralna + 1;
    Koniec tak
    „0”:
    a <-2;
    End Seconds
    End While
    Koniec procesu

  2.   Guille powiedział

    Cóż, porażka, jeśli pójdziesz w górę, lepiej zmień linie 23 i 28
    -23 Dopóki c = 15
    +23 Dopóki c = 18
    y
    -28 Jeśli w dół> 2 Wtedy
    +28 Jeśli w dół> 3 Wtedy

    1.    xnmm powiedział

      Dziękuję za wkład, ale ma takie problemy, jak to, że otwierasz jedno zdanie w drugim, ale musi się kończyć w zdaniu, w którym się zaczęło, to znaczy nie można go umieścić

      Przetwórz coś
      a <- 0;
      czytać;
      jeśli a nie jest równe 25, to
      podczas gdy a nie jest równe 0 do
      czytać;
      Koniec tak
      koniec

      jak widać, że pętla zaczyna się wewnątrz instrukcji „if then”, ale kończy się poza nią, coś takiego nie jest możliwe.

      Wciąż doceniam ten wkład
      Koniec procesu

      1.    Guille powiedział

        Dzięki, ale myślę, że to bardziej problem z umieszczeniem kodu w tym miejscu, że nie wiem jak umieścić go w typie kodu i wychodzi bez wcięć.

        Program działa dobrze. Zmienna „a”, której używam po prostu do wyjścia z pętli, gdy użytkownik wpisze zero. Możesz umieścić wyjście () lub przerwę; w warunku patrzy na to i zapisuję zmienną. To są opcje.

        Pozdrowienia.

      2.    Guille powiedział

        Spróbuję zmienić tabulatory spacji i etykiet 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 powiedział

        To jest pełne błędów importu z mojego kodu, spróbuję ponownie z zakładkami:
        Byłby to plik 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 powiedział

        Co ciekawe, komentarz z etykietami kodu jest zjadany, usuwany, cokolwiek jest pomiędzy, na przykład między wierszami
        Powtórz
        Pisać " ";
        c
        po c jest
        a następnie kontynuuje od 3 Następnie
        w dół
        Ogólnie rzecz biorąc, nie jest wiarygodne ustawienie według jakich kodów.

  3.   Guille powiedział

    Zmieniam symbole z przypisywania do =, aby zobaczyć, jak to jest.

    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 powiedział

      Ciągle zjada część kodu, tag kodu zawodzi, powinien pozostawić zapis taki, jaki jest.

      1.    xnmm powiedział

        Cześć przepraszam, że nie widziałem, jak odpowiedziałeś wcześniej, ale dobrze
        ponieważ nie możesz dobrze opublikować kodu, ponieważ nie wysyłasz go do mnie pocztą, więc nie poświęcasz tylu zwrotów sprawie.