Pengaturcaraan asas dengan pseint (bahagian 3)

Ini adalah kesinambungan dari tutorial Pengaturcaraan asas dengan pseint (bahagian 2), kali ini saya akan menerangkan apa yang perlu untuk diprogramkan.

TUGASAN

Tugasan adalah proses di mana pemboleh ubah dibuat dan / atau diubah suai, dengan merujuknya melalui pengenal yang dengannya kita dapat mengakses ruang ingatannya.

sintaksis tugasan adalah:

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

Di mana [pemboleh ubah] adalah pemboleh ubah yang menerima nilai menilai [ungkapan]. Kedua-duanya sah jadi tidak menjadi masalah mana yang digunakan (jika mereka mengkonfigurasi PSeInt dengan betul), tetapi pada pendapat saya, saya membuat yang pertama sebagai yang betul.

Sekiranya [pemboleh ubah] tidak ada sebelum penugasan, [pemboleh ubah] dibuat, jika ada nilai sebelumnya dihancurkan dan yang baru diletakkan di tempatnya. Atas sebab ini, pemetaan dianggap sebagai operasi yang merosakkan.

MEMBACA

Membaca adalah proses di mana pengguna diminta data atau data untuk menyimpan data tersebut dalam pemboleh ubah.

sintaksnya adalah:

Leer variable_1,variable_2,...,variable_n;

di mana [pemboleh ubah_ {1,2, n}] adalah pemboleh ubah atau pemboleh ubah yang menerima nilai yang diberikan oleh pengguna, sekiranya diminta lebih dari satu pemboleh ubah, ia pertama akan meminta yang pertama, kemudian untuk yang kedua dan seterusnya hingga telah menerima semua nilai.

Ini juga merupakan fungsi yang merosakkan.

MENULIS

Menulis adalah proses di mana rentetan watak dan / atau satu atau lebih pemboleh ubah ditulis di skrin

sintaksnya adalah:

Escribir expresion_1,expresion_2,...,expresion_n;

di mana [expersion_ {1,2, n}] adalah rentetan watak dan / atau pemboleh ubah yang akan dipaparkan.

Menulis selain menerima data yang akan diletakkan di layar juga menerima instruksi "Tanpa melangkau" atau "Tanpa turun" yang mengelakkan lompatan baris.

Menulis tidak menambahkan ruang antara argumen, iaitu, jika anda meletakkan:

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

dalam kes ini akan menunjukkan «olamundo» kerana antara «a» dan «b» tidak ada rentetan aksara yang menunjukkan ruang antara a dan b, sehingga dipaparkan dengan betul ia ditulis seperti ini:

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

dalam kes ini tambahkan »» yang merupakan rentetan watak yang mempunyai ruang yang merupakan ruang antara «gelombang» dan «dunia» dan kemudian ia akan menunjukkan «dunia gelombang» dengan ruang.

SEKIRANYA

Ini adalah pernyataan yang menilai keadaan tertentu dan memeriksa kebenaran dan / atau kepalsuan keadaan tersebut, iaitu, jika syarat itu dipenuhi atau tidak.

Sintaksnya adalah:

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

Klausa "Lain" tidak wajib, dalam hal ini jika syaratnya salah, abaikan arahannya dan teruskan seolah-olah hukuman itu tidak ada, dalam hal ini tetap:

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

Adakah klausa "Kegagalan" diletakkan atau tidak bergantung pada keperluan program itu.

MENURUT

Kalimat kerana menilai pemboleh ubah berangka yang memberikan lebih daripada 2 pilihan sebagai pilihan, ini adalah perbezaan dari "If-Then" kerana yang sebelumnya hanya dapat memberikan 2 pilihan.

Sintaksnya adalah:

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

Seperti yang anda dapat lihat setelah "number1" ada ":" dan setelah itu arahan yang akan dilaksanakan diletakkan dalam keadaan "pemboleh ubah berangka = number1", dalam contoh kedua adalah "number2, number3" jika "pembolehubah numerik = angka2 atau angka3" maka "arahan" akan dilaksanakan, ini berguna apabila 2 kemungkinan mesti melaksanakan arahan yang sama.

Ada juga klausa "Dalam Cara Lain" yang dilaksanakan jika tidak ada kemungkinan yang terpenuhi.

KETIKA

Ini adalah fungsi berulang yang pertama kali menilai suatu keadaan dan kemudian jika terpenuhi, ia akan menjalankan serangkaian arahan, kemudian menilai semula keadaan tersebut dan jika benar, ia melaksanakan arahan yang sama sekali lagi dan terus seperti ini sehingga keadaan itu salah.

jika keadaannya salah dari awal, ia tidak akan pernah dapat dilaksanakan dan jika selalu benar, ia akan diletakkan dalam gelung tak terhingga, untuk mengelakkan yang terakhir dalam arahan mesti ada sesuatu yang pada suatu ketika memalsukan syarat untuk dapat mengakhiri gelung.

sintaksnya adalah:

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

ULANG-SEHINGGA

Ini adalah fungsi yang sangat mirip dengan yang sebelumnya, tetapi tidak seperti yang sebelumnya, yang ini memeriksa keadaan di akhir, iaitu, perintah akan dilaksanakan sekurang-kurangnya 1 kali, juga bukannya melaksanakan instruksi apabila benar, ia melaksanakannya sementara Sekiranya syarat itu tidak dipenuhi, tetapi jika anda mahu ia dilaksanakan semasa syarat dipenuhi, gunakan "sementara" dan bukannya "hingga".

sintaksnya adalah:

Repetir
[Instrucciones] hasta que [condicion]

UNTUK

Pernyataan ini melaksanakan arahan menentukan bilangan kali untuk pemboleh ubah, tidak seperti yang sebelumnya, kitaran ini mengubah nilai pemboleh ubah yang dimaksudkan dengan sendirinya, serta mempunyai sintaks yang sangat kuat.

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

"Pembolehubah" adalah pemboleh ubah yang menerima "nilai awal" dan melaksanakan arahan kemudian menambah "pemboleh ubah" ditambah "langkah" dan melaksanakan arahan lagi sehingga "pemboleh ubah" sama dengan "nilai akhir".

Sekiranya "dengan [langkah]" dikeluarkan maka secara lalai ia akan mengetahui bahawa "langkah" sama dengan 1, juga jika [langkah] tidak ditentukan dan "nilai awal" lebih besar daripada "nilai akhir" maka akan melaluinya di urutan terbalik, iaitu, "Langkah" ialah -1

SUBPROSES / FUNGSI

Suatu utas atau fungsi adalah program dalam yang lain dan subprogram ini menerima satu atau lebih nilai, mengoperasikannya dan mengembalikan yang lain. Sintaksnya adalah

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

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

di mana "return variabel" adalah pemboleh ubah yang mengandungi nilai yang dikembalikan oleh fungsi "function name" yang menerima parameter "arg_1, arg_2, arg_n" untuk melaksanakan ini

LAIN

Ini adalah fungsi yang hanya saling melengkapi yang lain dan tidak mempunyai sintaks yang kompleks kerana hanya fungsi pelengkap.

Skrin Kosong

Fungsi ini membersihkan skrin objek dari jurubahasa

Tunggu Kunci

Fungsi ini menunggu pengguna menekan kekunci untuk meneruskan program

Tunggu x {Kedua, Milisaat}

fungsi ini menunggu masa dalam beberapa saat atau milisaat untuk meneruskan program ini

PS: maaf atas kelewatan itu tetapi saya sibuk dengan perkara lain sehingga saya tidak dapat menulis


Tinggalkan komen anda

Alamat email anda tidak akan disiarkan. Ruangan yang diperlukan ditanda dengan *

*

*

  1. Bertanggungjawab atas data: Miguel Ángel Gatón
  2. Tujuan data: Mengendalikan SPAM, pengurusan komen.
  3. Perundangan: Persetujuan anda
  4. Komunikasi data: Data tidak akan disampaikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Pangkalan data yang dihoskan oleh Occentus Networks (EU)
  6. Hak: Pada bila-bila masa anda boleh menghadkan, memulihkan dan menghapus maklumat anda.

  1.   Guille kata

    Tidak mempunyai fungsi untuk menangkap kunci tanpa menghentikan pelaksanaannya? Untuk melakukan sesuatu dengan gerakan yang lebih menarik bagi kanak-kanak berusia 9 tahun, walaupun permainan hangman juga dapat diprogramkan dengan menyenangkan.

    Memproses sesuatu_digo
    a <-1;
    lateral <-30;
    turun <-5;
    Manakala a = 1 Lakukan
    Skrin Jelas;
    c <-1;
    garisan <- "";
    Ulang
    garis <-line + "";
    c <-c + 1;
    Sehingga c = lateral
    garis <-line + "X";
    c <-1;
    Ulang
    Untuk menulis " ";
    c <-c + 1;
    Sehingga c = turun-1
    Garis tulis;
    Ulang
    Untuk menulis " ";
    c 2 Kemudian
    bawah <-down-1;
    Tamat ya
    "s":
    Sekiranya di bawah <15 Maka
    turun 2 Kemudian
    lateral <-lateral-1;
    Tamat ya
    "d":
    Sekiranya lateral <50 Kemudian
    lateral <-lateral + 1;
    Tamat ya
    "0":
    a <-2;
    Detik Akhir
    Tamat Sementara
    Proses Tamat

  2.   Guille kata

    Nah, gagal jika anda naik, ubah baris 23 dan 28 dengan lebih baik
    -23 Hingga c = 15
    +23 Sehingga c = 18
    y
    -28 Jika turun> 2 Kemudian
    +28 Jika turun> 3 Kemudian

    1.    xnmm kata

      Terima kasih atas sumbangannya tetapi ada beberapa masalah seperti anda membuka satu ayat yang lain tetapi ia mesti berakhir dalam kalimat di mana ia bermula, maksud saya, ia tidak boleh dimasukkan

      Memproses sesuatu
      a <- 0;
      baca ke;
      jika a tidak sama dengan 25 maka
      sementara a tidak sama dengan 0 lakukan
      baca ke;
      Tamat ya
      tamat sementara

      kerana anda melihat gelung semasa memulakan di dalam pernyataan "jika kemudian" tetapi berakhir di luarnya, sesuatu seperti ini tidak mungkin dilakukan.

      Saya masih menghargai sumbangannya
      Proses akhir

      1.    Guille kata

        Terima kasih, tetapi saya rasa lebih banyak masalah meletakkan kod di sini, kerana saya tidak tahu bagaimana memasukkannya ke dalam kod dan ia keluar tanpa lekukan.

        Program berjalan lancar. Pemboleh ubah "a" yang saya gunakan untuk keluar dari gelung ketika pengguna menaip sifar. Anda boleh meletakkan jalan keluar () atau jeda; secara bersyarat ia melihatnya dan saya menyimpan pemboleh ubahnya. Mereka adalah pilihan.

        Greetings.

      2.    Guille kata

        Saya akan cuba menukar tab untuk ruang dan label 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 kata

        Itu penuh dengan ralat import dari kod saya, saya akan mencuba lagi dengan tab:
        Ini akan menjadi fail 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 kata

        Menariknya, komen dengan label kod dimakan, dihapus, apa sahaja yang ada di antara, misalnya antara baris
        Ulang
        Untuk menulis " ";
        c
        selepas c terdapat a
        dan kemudian diteruskan dengan 3 Kemudian
        turun
        Secara keseluruhan, ini tidak boleh dipercayai mengikut kod apa.

  3.   Guille kata

    Saya menukar simbol dari menetapkan ke = untuk melihat caranya.

    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 kata

      Ia terus memakan sebahagian dari kod, tag kod gagal, ia harus meninggalkan tulisan sebagaimana adanya.

      1.    xnmm kata

        Hai maaf kerana tidak melihat anda dijawab sebelumnya tetapi baik
        kerana anda tidak dapat menerbitkan kod dengan baik kerana anda tidak menghantarnya kepada saya melalui surat sehingga anda tidak memberikan banyak perubahan mengenai perkara itu.