Ir ao conteúdo
  • Cadastre-se
jjuniorbh

Dúvida Sintaxe pascal

Recommended Posts

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.

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

Compartilhar este post


Link para o post
Compartilhar em outros sites
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.

Compartilhar este post


Link para o post
Compartilhar em outros sites

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.

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

×