用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:很抱歉耽搁,但是我忙于其他事情,所以我无法写


发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  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

        嗨,很抱歉,您之前没有看到您的答复,但是很好
        因为您不能很好地发布代码,因为您没有通过邮件将其发送给我,所以您不会对此事进行太多讨论。