Ir ao conteúdo
  • Cadastre-se
Morail

Duvido em Pascal

Recommended Posts

Olá a todos.

Eu gostaria que me explicassem qual a lógica de desenhar padrões usando o comando 'for'. Por exemplo, ao digitar o número 4 o programa desenharia um padrão com 4 colunas horizontais e 4 verticais, tipo:

****

****

****

****

Compartilhar este post


Link para o post
Compartilhar em outros sites

O funcionamento do FOR abrange a todas as linguagens que a usam.

 

Em Pascal a construção é um pouco diferente de C e Java, mas a ideia é a mesma. Veja:

For var := 1 to 4 do 

var é a variável que criei lá no começo, sempre do tipo inteiro.

Essa linha diz que eu terei que executar a sub-rotina 4 vezes. Ele começa em 1 e para no 4, ou seja, chegando no limite ele sai do laço de repetição.

 

Eu posso usar esse FOR para desenhar uma sequencia de 4 símbolos. Veja:

For var := 1 to 4 do   writeln (' * ');

Ele deve fazer isso:

" *

  *

  *

  * "

 

E agora faltam fazer os símbolos de mesma linha.

Você pode criar outro laço FOR dentro desse aí.

Você só teria que organizar quando ele pularia de linha e quanto não pularia de linha, utilizando write e writeln.


Tenta fazer aí e poste pra gente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muito grato pela atenção.

E da forma que explicou foi muito clara, mas talvez eu tenha falhado na explicação.

O número 4 foi um exemplo, logo o que desejo é que o padrão seja criado de acordo com o número de entrada. Se eu digitar 20, ele criara um padrão, se eu digitar 5, outro padrão, e assim por diante.

Também houve outro padrão que quade queimou meu cérebro, onde a lógica era quade a mesma, mas o asterisco ficaria em volta, bem assim:

1***

*2**

**3*

***4

Se digitasse outro valor, o padrão seguiria o número fornecido.

Compartilhar este post


Link para o post
Compartilhar em outros sites

@

 

Crie uma variável, faça a entrada de dados e use ela no lugar do 4.

write('Digite o n');readln(n);...For var := 1 to n do 

O segundo padrão exige mais raciocínio do que domínio da linguagem.

Repare que onde cai o valor 1 é a posição [1,1], onde cai o valor 2 é a posição [2,2].

Não sei se aprendeu mas é o básico de uma matriz.

 

Nesse caso você vai criar os dois laços FOR e comparar as suas variáveis de incrementação. Por exemplo: [i,j]

for i := 1 to n do  for j : = 1 to n do

se i for igual a j então ele escreve i, senão ele escreve *

Compartilhar este post


Link para o post
Compartilhar em outros sites

O exemplo que vi foi feito no VisualG, mas agora queria testar no Pascal.

 

E realmente, ainda não conheço sobre matrizes, comecei a pouco tempo em Logica de Programação, e a linguagem principal nem Pascal será, mas sim o C# (no decorrer do ano).

 

Acontece que a curiosidade é muita hahah

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×