用pseint進行基本編程(第3部分)

這是本教程的續篇 用pseint進行基本編程(第2部分),這一次我將解釋編程的必要條件。

分配

賦值是一個過程,在該過程中創建和/或修改變量,並通過其標識符來引用該變量,從而可以訪問該變量的存儲空間。

分配的語法為:

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

其中[variable]是接收評估[expression]值的變量。 兩者都是有效的,因此使用哪一個都沒關係(如果它們正確配置了PSeInt),但是我認為我將第一個創建為正確的PSeInt。

如果[variable]在賦值之前不存在,則創建[variable],如果它存在,則先前的值將被銷毀,並將新的值放置在其位置。 因此,映射被認為是破壞性操作。

閱讀

讀取是其中從用戶請求一種或多種數據以將所述數據存儲在變量中的過程。

它的語法是:

Leer variable_1,variable_2,...,variable_n;

其中[variable_ {1,2,n}]是接收用戶給定值的一個或多個變量,如果請求多個變量,它將首先要求第一個,然後要求第二個,依此類推直到收到所有值。

這也是一種破壞性功能。

寫作

寫入是在屏幕上寫入一串字符和/或一個或多個變量的過程

語法為:

Escribir expresion_1,expresion_2,...,expresion_n;

其中[expersion_ {1,2,n}]是將顯示的字符串和/或變量。

除了接收要在屏幕上顯示的數據外,寫操作還會接收“不跳過”或“不向下”的指令,以避免行跳動。

編寫不會在參數之間添加空格,也就是說,如果放置了空格:

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

在這種情況下,它將顯示«olamundo»,因為在«a»和«b»之間沒有字符串表示a和b之間的空格,因此正確顯示它的方式如下:

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

在這種情況下,請添加»»,這是一個字符串,其空格為«wave»和«world»之間的空格,然後將顯示帶有空格的«wave world»。

如果然後

這是一個評估給定條件並檢查該條件的真實性和/或虛假性,即是否滿足條件的句子。

其語法為:

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

子句“ Else”不是強制性的,在這種情況下,如果條件為假,則忽略指令並繼續執行,就好像該句子不存在一樣,在這種情況下,它將保留:

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

是否放置“ Failure”子句取決於該程序的需求。

根據

該句子在評估一個嚴格的數值變量時會給出兩個以上的選項,這與“ If-Then”有所不同,因為前一個只能給出2個選項。

語法為:

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

如您所見,在“數字1”之後有一個“:”,並且在“數值變量=數字1”的情況下放置了要執行的指令,在第二個示例中,它是“數字2,數字3”,這意味著如果將執行“數值變量= number2或number3“ then”指令”,則當2種可能性必須執行相同的指令時,這很有用。

如果沒有任何可能的條件,還會執行“以另一種方式”子句。

它是一個重複函數,首先評估條件,然後滿足條件執行一系列指令,然後重新評估條件;如果為真,它將再次執行相同的指令並繼續執行,直到條件為假。

如果條件從一開始就為假,它將永遠不會被執行;如果它始終為真,那麼它將被置於無限循環中,為了避免指令中的最後一條,在某些時候必須存在某種偽造該條件的條件。能夠結束循環。

它的語法是:

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

重複直到

此功能與上一個功能非常相似,但是與上一個功能不同,該功能在最後檢查條件,即命令將至少執行1次,也不會在其為true時執行指令,它在while條件下執行它,如果不滿足條件,但是如果您希望在條件滿足時執行它,則使用“ while”而不是“ until”。

它的語法是:

Repetir
[Instrucciones] hasta que [condicion]

FOR

該語句為變量執行確定次數的指令,這與先前的語句不同,該循環除了具有非常強大的語法外,還可以自行更改所討論變量的值。

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

“變量”是接收“初始值”並執行指令,然後添加“變量”加“步驟”的變量,然後再次執行指令,直到“變量”等於“最終值”。

如果刪除了“ with with [step]”,則默認情況下它將知道“ step”等於1,並且如果未指定[step]並且“初始值”大於“最終值”,它將通過逆序,即“ Step”為-1

子過程/功能

線程或函數是另一個程序,該子程序接收一個或多個值,對其進行操作並返回另一個值。 它的語法是

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

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

其中“返回變量”是包含函數“函數名”返回的值的變量,該函數接收參數“ arg_1,arg_2,arg_n”以執行此操作

其他

這些功能僅是其他功能的補充,並且語法複雜,因為它們只是補充功能。

清除螢幕

此功能清除解釋器中任何對象的屏幕

等待鍵

該功能等待用戶按下按鍵以繼續執行程序

期待 X {秒,毫秒}

此功能等待秒或毫秒的時間才能繼續執行程序

PS:很抱歉耽擱,但是我忙於其他事情,所以我無法寫


本文內容遵循我們的原則 編輯倫理。 要報告錯誤,請單擊 這裡.

10條評論,留下您的評論

發表您的評論

您的電子郵件地址將不會被發表。

*

*

  1. 負責數據:MiguelÁngelGatón
  2. 數據用途:控制垃圾郵件,註釋管理。
  3. 合法性:您的同意
  4. 數據通訊:除非有法律義務,否則不會將數據傳達給第三方。
  5. 數據存儲:Occentus Networks(EU)託管的數據庫
  6. 權利:您可以隨時限制,恢復和刪除您的信息。

  1.   吉爾 他說:

    沒有不停止執行就可以捕獲鍵的功能嗎? 儘管執行Hangman遊戲也很有趣,但對於9歲以下的孩子來說,做些動作更有吸引力。

    處理something_digo
    a <-1;
    橫向<-30;
    下降<-5;
    當a = 1時
    清除屏幕;
    c <-1;
    行<-“”;
    重複
    行<-行+“”;
    c <-c +1;
    直到c =橫向
    行<行+“ X”;
    c <-1;
    重複
    來寫 ” ”;
    c <-c +1;
    直到c = down-1
    寫行;
    重複
    來寫 ” ”;
    c 2然後
    下降<-下降-1;
    結束是
    “ s”:
    如果低於<15
    下降2然後
    橫向<-lateral-1;
    結束是
    “ d”:
    如果橫向<50
    側面<-側面+ 1;
    結束是
    “ 0”:
    a <-2;
    結束秒
    結束時間
    結束過程

  2.   吉爾 他說:

    如果你走了,那就失敗了,最好改變23和28行
    -23直到c = 15
    +23直到c = 18
    y
    -28如果下降> 2那麼
    +28如果向下> 3那麼

    1.    n 他說:

      感謝您的貢獻,但是它存在一些問題,例如您在另一個句子中打開一個句子,但是必須在句子開始的地方結束,我的意思是,它不能放在

      處理某事
      a <-0;
      閱讀
      如果a不等於25
      當a不等於0時
      閱讀
      結束是
      一會兒結束

      正如您在“ if then”語句內部開始但在其外部結束時看到的循環一樣,這是不可能的。

      我仍然感謝您的貢獻
      結束過程

      1.    吉爾 他說:

        謝謝,但是我認為將代碼放在這裡更成問題,因為我不知道如何將其放入代碼類型,而且沒有縮進就可以出來。

        該程序工作正常。 當用戶鍵入零時,我僅使用變量“ a”退出循環。 您可以放一個出口()或一個休息點; 在有條件的情況下查看它,然後保存變量。 它們是選項。

        問候。

      2.    吉爾 他說:

        我將嘗試更改空格和標籤的標籤 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.    吉爾 他說:

        這充滿了我的代碼中的導入錯誤,我將使用選項卡重試:
        這將是文件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.    吉爾 他說:

        有趣的是,帶有代碼標籤的註釋被吃掉,刪除了,例如行之間的任何東西
        重複
        來寫 ” ”;
        c
        c之後有一個
        然後繼續3
        下來
        總的來說,根據什麼代碼放置是不可靠的。

  3.   吉爾 他說:

    我將符號從分配更改為=,以查看操作方法。

    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.    吉爾 他說:

      它一直在吃代碼的一部分,代碼標記失敗,應該保持原樣。

      1.    n 他說:

        嗨,很抱歉,您之前沒有看到您的答复,但是很好
        因為您不能很好地發布代碼,因為您沒有通過郵件將其發送給我,所以您不會對此事進行太多討論。