Ir ao conteúdo
  • Cadastre-se

Dúvida Sintaxe pascal


Visitante: jjuniorbh

Posts recomendados

Visitante: jjuniorbh
 

Boa noite prezados;

Preciso simular um programa em pascal.

Não conheço a sintaxe.

Alguém pode me ajudar com a sintaxe?

O programa segue abaixo é para dados 10 numeros entre 4 e 50

mostrar a quantidade de impares

mostrar o menor impar e o menor de todos

Abraços e obrigado

Program 2;

Var

cont, menor, n, numero, menor_imp: integer;

Begin

cont:= 0;

menor := 50;

menor_imp := 50;

for n := 1 to 10 do // condição para testar os 10 números

begin

writeln ('Entre com o número ', n);

readln(numero);

if numero < 50 then

begin

menor := numero;

end

begin

if numero mod 2=1 then

cont := cont+1;

end

begin

if menor_imp < numero then

menor_imp := numero;

end

writeln ('O menor número é: ',numero);

writeln ('A quantidade de números impares é : ',cont);

begin

if menor_imp mod 2=0 then

writeln ('Não possui ímpar');

cont := cont+1;

end

else

begin

writeln('O menor ímpar é', menor_imp);

end;

End.

Aqui segue meu algoritimo comentado que originou o programa acima.

Acho que faz o que precisa, mas na hora que mando compilar não roda.

Se alguém puder me ajudar com uma coisa eu acho que termino:

Um programa em pascal para verificar se um número é ímpar ou par usando mod e if

e outro programa para verificar entre 10 números digitados quantos são ímpar e quantos são pares utilizando mod e if.

Aqui o algoritmo.

Obrigado a ajuda de quem puder ajudar!

PGR2;

VAR

cont, menor, n, numero, menor_imp:inteiro

INICIO

CONT := 0; (INICIA O CONTADOR PARA OS IMPARES)

MENOR := 50; (GARANTE QUE O MENOR SEMPRE VAI SER MENOR QUE 50)

MENOR_IMP := 0; (INICIA A VARIÁVEL QUE MOSTRARÁ O MENOR IMPAR)

PARA N DE 1 ATÉ 10 FAÇA (CONDIÇÃO PARA TESTAR OS 10 NUMEROS)

ESCREVA 'Entre com o número', N; (como n soma 1 sempre, na proxima pede o 2 assim sucessivamente)

leia numero;

se numero <50 então

menor := numero; (sempre mostra o menor número)

se mod NUMERO :=1 então; (VERIFICA SE O NUMERO DIGITADO É IMPAR)

cont := cont+1; (conta os impares)

SE MENOR_IMP < NUMERO ENTÃO (condição para encontrar o menor dos impares digitados)

MENOR_IMP := NUMERO; (atribui o valor do menor impar digitado à variável)

fim_para

escreva 'o menor numero é', numero;

escreva 'a quantidade de numeros impares é', cont;

SE MOD MENOR_IMP := 0 então ( VERIFICA SE HOUVE ALGUM NUMERO IMPAR)

ESCREVA ' NÃO TEM MENOR IMPAR';

SENAO

ESCREVA 'O MENOR Nº IMPAR É', MENOR_IMP; (MOSTRA O CONTEUDO DO MENOR IMPAR)

FIM.

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Boa noite prezados;

Preciso simular um programa em pascal.

Não conheço a sintaxe.

Alguém pode me ajudar com a sintaxe?

O programa segue abaixo é para dados 10 numeros entre 4 e 50

mostrar a quantidade de impares

mostrar o menor impar e o menor de todos

Abraços e obrigado

Program 2;

Var

cont, menor, n, numero, menor_imp: integer;

Begin

cont:= 0;

menor := 50;

menor_imp := 50;

for n := 1 to 10 do // condição para testar os 10 números

begin

writeln ('Entre com o número ', n);

readln(numero);

if numero < 50 then

begin

menor := numero;

end

begin

if numero mod 2=1 then

cont := cont+1;

end

begin

if menor_imp < numero then

menor_imp := numero;

end

writeln ('O menor número é: ',numero);

writeln ('A quantidade de números impares é : ',cont);

begin

if menor_imp mod 2=0 then

writeln ('Não possui ímpar');

cont := cont+1;

end

else

begin

writeln('O menor ímpar é', menor_imp);

end;

End.

Aqui segue meu algoritimo comentado que originou o programa acima.

Acho que faz o que precisa, mas na hora que mando compilar não roda.

Se alguém puder me ajudar com uma coisa eu acho que termino:

Um programa em pascal para verificar se um número é ímpar ou par usando mod e if

e outro programa para verificar entre 10 números digitados quantos são ímpar e quantos são pares utilizando mod e if.

Aqui o algoritmo.

Obrigado a ajuda de quem puder ajudar!

PGR2;

VAR

cont, menor, n, numero, menor_imp:inteiro

INICIO

CONT := 0; (INICIA O CONTADOR PARA OS IMPARES)

MENOR := 50; (GARANTE QUE O MENOR SEMPRE VAI SER MENOR QUE 50)

MENOR_IMP := 0; (INICIA A VARIÁVEL QUE MOSTRARÁ O MENOR IMPAR)

PARA N DE 1 ATÉ 10 FAÇA (CONDIÇÃO PARA TESTAR OS 10 NUMEROS)

ESCREVA 'Entre com o número', N; (como n soma 1 sempre, na proxima pede o 2 assim sucessivamente)

leia numero;

se numero <50 então

menor := numero; (sempre mostra o menor número)

se mod NUMERO :=1 então; (VERIFICA SE O NUMERO DIGITADO É IMPAR)

cont := cont+1; (conta os impares)

SE MENOR_IMP < NUMERO ENTÃO (condição para encontrar o menor dos impares digitados)

MENOR_IMP := NUMERO; (atribui o valor do menor impar digitado à variável)

fim_para

escreva 'o menor numero é', numero;

escreva 'a quantidade de numeros impares é', cont;

SE MOD MENOR_IMP := 0 então ( VERIFICA SE HOUVE ALGUM NUMERO IMPAR)

ESCREVA ' NÃO TEM MENOR IMPAR';

SENAO

ESCREVA 'O MENOR Nº IMPAR É', MENOR_IMP; (MOSTRA O CONTEUDO DO MENOR IMPAR)

FIM.

Olá jjuniorbh,

Peguei o seu código e fiz alguns ajustes na sintaxe. Inseri alguns comentários também... (coloquei [sV] no final deles para identificar-los).

{Program 2;} //os identificadores não podem começar com numeral [SV]
PROGRAM _2;
var
cont,
menor,
n,
numero,
menor_imp :integer;
BEGIN
//INICIALIZA AS VARIÁVEIS [SV]
cont:=0;
menor:=50;
menor_imp:=50;

//COLETA DOS 10 NÚMEROS [SV]
//for n:=1 to 10 do //condição para testar os 10 números [SV]
//OBS.: "For" = iteração (estrutura de repetição) e não "condição"
for n:=1 to 10 do
begin
writeln('Entre com o número ',n);
readln(numero);

//VERIFICAÇÃO DO MENOR NÚMERO [SV]
{if numero < 50 then} //sempre o menor será 50? [SV]
if numero < menor then //verifica se atual é menor que o "menor" [SV]
begin
menor:=numero; //atualiza o menor [SV]
{end} //faltou o ";" [SV]
end;

//CONTAGEM DA QUANTIDADE DE NÚMEROS ÍMPARES [SV]
{begin} //esse begin não está ligado a nada!!! [SV]
if numero mod 2=1 then //se for ímpar [SV]
cont:=cont+1; //atualiza a quantidade de ímpares
{end} //de onde? [SV]
{begin} //de onde? [SV]

//VERIFICAÇÃO DO MENOR ÍMPAR [SV]
{if menor_imp < numero then} //a condição está invertida [SV]
if numero < menor_imp then //verifica se o atual é menor que o "menor número impar"
menor_imp := numero; //atualiza o menor número ímpar
end; //END DO FOR [SV]
writeln ('O menor número é: ',numero);
writeln ('A quantidade de números impares é : ',cont);
{begin} //de onde? [SV]
if menor_imp mod 2=0 then
begin //faltou esse begin [SV]
writeln ('Não possui ímpar');
cont:=cont+1; //para que serve essa linha??
end
else
begin
writeln('O menor ímpar é', menor_imp);
end;
END.

Qualquer coisa é só postar

Abraços

Link para o comentário
Compartilhar em outros sites

Visitante: jjuniorbh
 
Olá jjuniorbh,

Peguei o seu código e fiz alguns ajustes na sintaxe. Inseri alguns comentários também... (coloquei [sV] no final deles para identificar-los).

{Program 2;} //os identificadores não podem começar com numeral [SV]
PROGRAM _2;
var
cont,
menor,
n,
numero,
menor_imp :integer;
BEGIN
//INICIALIZA AS VARIÁVEIS [SV]
cont:=0;
menor:=50;
menor_imp:=50;

//COLETA DOS 10 NÚMEROS [SV]
//for n:=1 to 10 do //condição para testar os 10 números [SV]
//OBS.: "For" = iteração (estrutura de repetição) e não "condição"
for n:=1 to 10 do
begin
writeln('Entre com o número ',n);
readln(numero);

//VERIFICAÇÃO DO MENOR NÚMERO [SV]
{if numero < 50 then} //sempre o menor será 50? [SV]
if numero < menor then //verifica se atual é menor que o "menor" [SV]
begin
menor:=numero; //atualiza o menor [SV]
{end} //faltou o ";" [SV]
end;

//CONTAGEM DA QUANTIDADE DE NÚMEROS ÍMPARES [SV]
{begin} //esse begin não está ligado a nada!!! [SV]
if numero mod 2=1 then //se for ímpar [SV]
cont:=cont+1; //atualiza a quantidade de ímpares
{end} //de onde? [SV]
{begin} //de onde? [SV]

//VERIFICAÇÃO DO MENOR ÍMPAR [SV]
{if menor_imp < numero then} //a condição está invertida [SV]
if numero < menor_imp then //verifica se o atual é menor que o "menor número impar"
menor_imp := numero; //atualiza o menor número ímpar
end; //END DO FOR [SV]
writeln ('O menor número é: ',numero);
writeln ('A quantidade de números impares é : ',cont);
{begin} //de onde? [SV]
if menor_imp mod 2=0 then
begin //faltou esse begin [SV]
writeln ('Não possui ímpar');
cont:=cont+1; //para que serve essa linha??
end
else
begin
writeln('O menor ímpar é', menor_imp);
end;
END.

Qualquer coisa é só postar

Abraços

Opa obrigado pelo retorno, eu fiz este aqui, ele funciona para números ímpares conta os impares mas da erro se eu digitar o primeiro numero par!

Qual será o erro?

Abraços e obrigado

Program dois(INPUT,OUTPUT) ;

Var

cont, menor, n, numero, menor_imp: integer;

Begin

cont:= 0; // Inicia o Contador de números ímpares

menor := 50; // Inicialiaza a variável que mostrará o menor número

menor_imp := 0; // Inicialiaza a variável que mostrará o menor ímpar

for n := 1 to 10 do // condição para testar os 10 números

begin

writeln ('Entre com o número ', n); // Entrada dos números

readln(numero); // Leitura dos números

if numero < menor then //Condição para pegar o menor dos números digitados

menor := numero; //Atribui à variável menor o menor dos números digitados

if menor mod 2=1 then; //Condição para pegar o menor ímpar dos números digitados

menor_imp := menor; //Atribui à variável menor_imp o menor impar digitado dos números digitados

if (numero mod 2=1) then //Condição para contar o número dos números ímpares digitados

cont := cont+1; //Contador do números ímpares digitados

end;

writeln ('O menor número é: ',menor); //Exibe o menor número digitado

writeln ('A quantidade de números impares é : ',cont); //Exibe a quantidade de números ímpares digitados

begin

if (menor_imp mod 2=1) then

writeln('O menor ímpar é ', menor_imp); //Exibe o menor ímpar digitado

if (menor_imp mod 2=0) then

writeln('Não possui número ímpar '); //Exibe caso não tenha ímpar

end;

ReadKey;

End.

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Opa obrigado pelo retorno, eu fiz este aqui, ele funciona para números ímpares conta os impares mas da erro se eu digitar o primeiro numero par!

Qual será o erro?

Abraços e obrigado

Program dois(INPUT,OUTPUT) ;

Var

cont, menor, n, numero, menor_imp: integer;

Begin

cont:= 0; // Inicia o Contador de números ímpares

menor := 50; // Inicialiaza a variável que mostrará o menor número

menor_imp := 0; // Inicialiaza a variável que mostrará o menor ímpar

for n := 1 to 10 do // condição para testar os 10 números

begin

writeln ('Entre com o número ', n); // Entrada dos números

readln(numero); // Leitura dos números

if numero < menor then //Condição para pegar o menor dos números digitados

menor := numero; //Atribui à variável menor o menor dos números digitados

if menor mod 2=1 then; //Condição para pegar o menor ímpar dos números digitados

menor_imp := menor; //Atribui à variável menor_imp o menor impar digitado dos números digitados

if (numero mod 2=1) then //Condição para contar o número dos números ímpares digitados

cont := cont+1; //Contador do números ímpares digitados

end;

writeln ('O menor número é: ',menor); //Exibe o menor número digitado

writeln ('A quantidade de números impares é : ',cont); //Exibe a quantidade de números ímpares digitados

begin

if (menor_imp mod 2=1) then

writeln('O menor ímpar é ', menor_imp); //Exibe o menor ímpar digitado

if (menor_imp mod 2=0) then

writeln('Não possui número ímpar '); //Exibe caso não tenha ímpar

end;

ReadKey;

End.

Olá jjuniorbh, vamos aos pontos:

1) INICIALIZAÇÃO DAS VARIÁVEIS

Por quê menor foi inicializado com "50" e menor_imp com "0"?

Por essa inicialização, o "menor ímpar" seria um número não positivo (menor igual a zero).

2) VERIFICAÇÃO DO MENOR ÍMPAR

  if menor mod 2=1 then; //Condição para pegar o menor ímpar dos números digitados
menor_imp := menor; //Atribui à variável menor_imp o menor impar digitado dos números digitados

São dois detalhes ai...

2.1) Depois do then não tem ";".

2.2) Cadê a condição que verifica o menor? Esse if só está verificando se é ímpar...

3) EXIBIÇÃO DO MENOR NÚMERO ÍMPAR

begin
if (menor_imp mod 2=1) then
writeln('O menor ímpar é ', menor_imp); //Exibe o menor ímpar digitado
if (menor_imp mod 2=0) then
writeln('Não possui número ímpar '); //Exibe caso não tenha ímpar
end;

Por quê verificar a paridade do menor_imp para exibir o resultado? ou seja, está assim: se menor_imp for ímpar, exiba o resultado; Se menor_imp for par, exiba que não possui número ímpar. Veja que o que faz existir o menor ou não é questão da quantidade de ímpares informados... logo, se existir pelo menos um ímpar, vai existir o "menor ímpar".

Qualquer coisa é só postar.

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades 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

×
×
  • Criar novo...