Programação básica com pseint (parte 3)

Esta é uma continuação do tutorial Programação básica com pseint (parte 2), desta vez explicarei o que é necessário programar.

TAREFA

A atribuição é um processo no qual uma variável é criada e / ou modificada, referindo-se a ela por meio de seu identificador com o qual podemos acessar seu espaço de memória.

a sintaxe da atribuição é:

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

Onde [variável] é a variável que recebe o valor da avaliação [expressão]. Ambos são válidos, então não importa qual é usado (se eles configuraram o PSeInt corretamente), mas na minha opinião eu crio o primeiro como o correto.

Se [variável] não existia antes da atribuição, [variável] foi criada, se existisse o valor anterior é destruído e o novo é colocado em seu lugar. Por esse motivo, o mapeamento é considerado uma operação destrutiva.

LENDO

Leitura é o processo no qual um dado ou dado é solicitado ao usuário para armazenar ditos dados em uma variável.

sua sintaxe é:

Leer variable_1,variable_2,...,variable_n;

onde [variável_ {1,2, n}] é a variável ou variáveis ​​que recebem o valor dado pelo usuário, caso mais de uma variável seja solicitada, ela pedirá primeiro pela primeira, depois pela segunda e assim sucessivamente até recebeu todos os valores.

Esta também é uma função destrutiva.

ESCRITA

A escrita é o processo em que uma sequência de caracteres e / ou uma ou mais variáveis ​​são escritas na tela

a sintaxe é:

Escribir expresion_1,expresion_2,...,expresion_n;

onde [expersion_ {1,2, n}] são as cadeias de caracteres e / ou variáveis ​​que serão exibidas.

A escrita além de receber os dados a serem colocados na tela também recebe a instrução "Sem pular" ou "Sem baixar" que evita o salto de linha.

A escrita não adiciona espaços entre os argumentos, ou seja, se você colocar:

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

neste caso irá mostrar «olamundo» uma vez que entre «a» e «b» não existe nenhuma cadeia de caracteres que indique o espaço entre a e b, para que seja apresentado correctamente está escrito assim:

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

neste caso, adicione »» que é uma cadeia de caracteres que tem um espaço que é o espaço entre «onda» e «mundo» e então irá mostrar «mundo das ondas» com o espaço.

SE ENTÃO

É uma frase que avalia uma determinada condição e verifica a veracidade e / ou falsidade da referida condição, ou seja, se a condição é atendida ou não.

Sua sintaxe é:

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

A cláusula "Else" não é obrigatória, neste caso se a condição for falsa ignore as instruções e continue como se a frase não existisse, neste caso ela permaneceria:

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

Se a cláusula "Falha" foi colocada ou não depende das necessidades desse programa.

SEGUN

A frase por avaliar uma variável estritamente numérica que dá mais de 2 opções como opção, esta é a diferença de "If-Then" já que a anterior só pode dar 2 opções.

A sintaxe é:

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

Como você pode ver após «número1» existe um «:» e depois disso as instruções a serem executadas são colocadas no caso de «variável numérica = número1», no segundo exemplo é «número2, número3» isso significa que se «variável numérica = número2 ou número3" então "instruções" serão executadas, isso é útil quando 2 possibilidades devem executar as mesmas instruções.

Existe também a cláusula "De Outra Forma" que é executada no caso de nenhuma das possibilidades ser cumprida.

ENQUANTO

É uma função repetitiva que primeiro avalia uma condição e então se for cumprida, executa uma série de instruções, então reavalia a condição e se for verdadeira, executa as mesmas instruções novamente e continua assim até a condição é falso.

se a condição for falsa desde o início nunca será executada e se for sempre verdadeira será colocada em um loop infinito, a fim de evitar o último nas instruções deve haver algo que em algum ponto falsifique a condição para ser capaz de encerrar o loop.

sua sintaxe é:

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

REPETIR ATÉ

Esta é uma função muito semelhante à anterior, mas ao contrário da anterior, esta verifica a condição no final, ou seja, o comando será executado pelo menos 1 vez, também ao invés de executar a instrução quando ela for verdadeira, ele o executa enquanto Se a condição não for atendida, mas se você quiser que seja executado enquanto a condição for atendida, use "while" em vez de "until".

sua sintaxe é:

Repetir
[Instrucciones] hasta que [condicion]

PARA

Esta instrução executa uma instrução um determinado número de vezes para uma variável, ao contrário das anteriores, este ciclo altera o valor da variável em questão por si só, além de possuir uma sintaxe muito poderosa.

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

"Variável" é a variável que recebe o "valor inicial" e executa as instruções, em seguida adiciona "variável" mais "etapa" e executa as instruções novamente até que "variável" seja igual ao "valor final".

Se "with [step]" for removido, então por padrão ele saberá que "step" é igual a 1, também se [step] não for especificado e "valor inicial" for maior que "valor final" ele irá passar por ele em ordem inversa, ou seja, "Etapa" é -1

SUBPROCESS / FUNCTION

Um thread ou função é um programa dentro de outro e que esse subprograma recebe um ou mais valores, os opera e retorna outro. Sua sintaxe é

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

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

onde "variável de retorno" é a variável que contém o valor retornado pela função "nome da função" que recebeu os parâmetros "arg_1, arg_2, arg_n" para executar isso

OUTRAS

São funções apenas complementares às outras e não possuem sintaxe complexa, pois são apenas funções complementares.

Limpar tela

Esta função limpa a tela de qualquer objeto no interpretador

Chave de Espera

Esta função espera que o usuário pressione uma tecla para continuar com o programa

Espera x{Segundo, Milissegundos}

esta função espera um tempo em segundos ou milissegundos para continuar com o programa

PS: desculpe a demora, mas estava ocupado com outros assuntos e não pude escrever


Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: Miguel Ángel Gatón
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.

  1.   Guille dito

    Não tem funções para capturar chaves sem parar a execução? Para fazer algo com movimento que seja mais atraente para crianças de 9 anos, embora um jogo da forca também possa ser divertido de programar.

    Processar algo_digo
    a <-1;
    lateral <-30;
    para baixo <-5;
    Enquanto a = 1 Faça
    Limpar tela;
    c <-1;
    linha <- "";
    Repetir
    linha <-line + "";
    c <-c + 1;
    Até c = lateral
    linha <-line + "X";
    c <-1;
    Repetir
    Escrever " ";
    c <-c + 1;
    Até c = down-1
    Escreva a linha;
    Repetir
    Escrever " ";
    c 2 então
    down <-down-1;
    Terminar sim
    "s":
    Se abaixo de <15, então
    2 então
    lateral <-lateral-1;
    Terminar sim
    "d":
    Se lateral <50 então
    lateral <-lateral + 1;
    Terminar sim
    "0":
    a <-2;
    End Seconds
    End While
    Fim do processo

  2.   Guille dito

    Bem, falhe se você subir, é melhor mudar as linhas 23 e 28
    -23 Até c = 15
    +23 Até c = 18
    y
    -28 If down> 2 Then
    +28 If down> 3 Then

    1.    xnmm dito

      Obrigado pela contribuição mas tem alguns problemas como você abrir uma frase dentro da outra mas deve terminar dentro da frase onde começou, quer dizer, não pode ser colocada

      Processar algo
      a <- 0;
      ler para;
      se a não for igual a 25, então
      enquanto a não é igual a 0 faça
      ler para;
      Terminar sim
      terminar enquanto

      como você vê o loop enquanto inicia dentro da instrução "if then", mas termina fora dela, algo assim não é possível.

      Eu ainda agradeço a contribuição
      Fim do processo

      1.    Guille dito

        Obrigado, mas acho que é mais um problema colocar o código aqui, que não sei como colocá-lo no tipo de código e sai sem indentação.

        O programa funciona bem. A variável "a" eu simplesmente uso para sair do loop quando o usuário digita um zero. Você pode colocar uma saída () ou uma pausa; no condicional ele olha e eu salvo a variável. Eles são opções.

        Saudações.

      2.    Guille dito

        Vou tentar mudar as guias para espaços e os rótulos 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 dito

        Isso está cheio de erros de importação do meu código, vou tentar novamente com as guias:
        Este seria o arquivo 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 dito

        Interessante, o comentário com rótulos de código é comido, excluído, o que quer que entre, por exemplo, entre as linhas
        Repetir
        Escrever " ";
        c
        depois do c há um
        e então continua com 3 Then
        abaixo
        No geral, isso não é confiável para colocar de acordo com quais códigos.

  3.   Guille dito

    Eu mudo os símbolos de atribuição para = para ver como é.

    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 dito

      Ele continua comendo parte do código, a tag do código falha, deve deixar a escrita como está.

      1.    xnmm dito

        Oi desculpe por não ter visto você respondido antes, mas bem
        já que você não consegue publicar bem o código porque não me manda pelo correio para que não dê tantas voltas ao assunto.