Ir para conteúdo

POWERED BY:

Arquivado

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

quel

Problema

Recommended Posts

Olá pessoal estou com uma duvida em Pascal,será que podem me ajudar fazendo favor?É o seguinte:Escreva um programa Pascal que leia um conjunto de 100 números inteiros positivos e determine a quantidade de números pares e números ímpares contidos no mesmo.Bom to tentando fazer assim:Program Numerosinteiros;{Programa que le um conjunto de 100 numeros inteiros positivos e determine a quantidade de numeros pares e numeros impares contidos no mesmo}Var Npos,Cont,Npar,Nimp : integer. begin Clrscr; For Npos:= 1 to 100 do sera que eu to indo pelo caminho certo, o que eu preciso colocar mais??É que estou aprendendo programação sozinha,espero que me ajudem :) Obrigada

Compartilhar este post


Link para o post
Compartilhar em outros sites

É mais ou menos por aí Quel...

 

você irá precisar declarar quatros variáveis:

 

- uma para o número que será lido;

 

- uma para controlar o laço for;

 

- uma para contar as quantidades dos números pares;

 

- uma para contar as quantidades dos números ímpares;

 

- depois de declarar as variáveis, você precisará inicializar as variáveis que irão contar os números pares e ímpares com zero(0);

 

- criar um laço de repetição de 1 a 100;

 

- dentro do laço de repetição fazer as leituras dos números;

 

- após verificar se o resto do número lido é igual a zero...caso seja o número é par...senão o número é ímpar...

 

Espero tê-la ajudado Quel...

Caso ainda tenha dúvida estamos aí pra tentar resolvê-la.

WXB http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

pessoal to fazendo assim agora var Npos,Cont,Npar,Nimp: integer; Begin Clrscr For Npos:=1 to 100 do Write('Npos'); Readln(Npos); For Npar:= 2 to 100 do Readln(Npar); For Nimp:= 3 to 99 do Tipo coloquei o numero 2 pq é par ai para contar os numeros ate 100, nao sei se esta certo, ai coloquei a variavel For Nimp 3 pq é impar e ate 99 tb nao sei se ta certo, ai agora como eu faço??E ai eu tenho que colocar a variavel cont pra contar de 0 a 100? ou nao?Obrigada por estarem me ajudando

Compartilhar este post


Link para o post
Compartilhar em outros sites

Só uma pergunta Quel...

 

O Programa que você ta fazenu é para: dados 100 números verificar quais destes são pares e ímpares ou verificar quais os números são pares e ímpares de 1 a 100.

 

Pq si for para saber qntos números são ímpares e pares dados 100 números...seria mais ou menos com o código abaixo:

 

Program Num_Inteiros;

 

Var

num, {número que será lido}

i, {variável de controle do laço FOR}

qtde_par, {Quantidade de números pares}

qtde_impar: integer; {Quantidade de números ímpares}

 

begin

clrscr;

qtde_par := 0;

qtde_impar := 0;

 

for i := 1 to 100 do

begin

read(num);

if (num MOD 2) = 0 then

qtde_par := qtde_par + 1

else

qtde_impar := qtde_impar + 1;

end;

 

writeln('A quantidade de numeros pares eh: ',qtde_par);

writeln('A quantidade de numeros impares eh: ',qtde_impar);

 

end.

 

Tá Ok Quel...si ainda tiver alguma dúvida tamos aí... http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

agora eu entendi o programa, muito obrigada por ter me ajudado :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Já que está aprendendo programação sozinha, é possivel que você não conheça muito bem a sintaxe pascal...

 

então só paera clarear a idéia do algoritmo acima.

MOD retorna o resto de uma divisão...

então um número dividido por dois, se tiver resto zero ele é par, senão é ímpar!

 

 

Só mais um detalhe...

O algoritmo acima está dando read na variável num 100 vezes... então quando acabar o laço for a variável num conterá apenas o ultimo valor lido. Os outros valores serão perdidos.

 

Se voce deseja manter os outros numeros para acessá-los posteriormente, será necessário armazená-los em um vetor.

Ficará assim.

Program Num_Inteiros;

 

Var

num: Array[1..100] of integer; {vetor de números que serão lidos}

i: byte; {variável de controle do laço FOR}

qtde_par: byte; {Quantidade de números pares}

qtde_impar: byte; {Quantidade de números ímpares}

 

begin

clrscr;

qtde_par := 0;

qtde_impar := 0;

 

for i := 1 to 100 do

begin

read(num); {lendo número dentro do vetor na posição "i"}

if (num MOD 2) = 0 then

qtde_par := qtde_par + 1

else

qtde_impar := qtde_impar + 1;

end;

 

writeln('A quantidade de numeros pares eh: ',qtde_par);

writeln('A quantidade de numeros impares eh: ',qtde_impar);

 

end.

Compartilhar este post


Link para o post
Compartilhar em outros sites
 

oi pessoal surgiu uma outra duvida, é o seguinte:

 

Um time de basquete possui 12 jogadores. Deseja-se um programa que, dado o nome e a altura dos jogadores, determine:

 

a) o nome e a altura do jogador mais alto;

B) a média de altura do time;

c) a quantidade de jogadores com altura superior a média, listando o no-me e a altura de cada um.

 

eu to fazendo assim:

 

Program basquete ;

 

uses crt;

 

var

Nome:string[12];

Altura,Media:real;

quant_jog:integer; {eu nao sei se tem que declarar a variavel de quantidade jogadores}

 

Begin

Clrscr;

Writeln('Digite o nome');

readln(nome);

writeln('Digite a altura');

readln(altura);

 

eu to indo pelo caminho certo? agora como eu vou calcular a media de altura do time?

eu tinha que somar a altura de todos os jogadores e depois dividir por 12 ne?

 

Obrigada

Compartilhar este post


Link para o post
Compartilhar em outros sites

bem... seria muito pouco pra dizer se está indo pelo caminho certo ou não...

 

mas a declaração das variavéis não estão certas para o seu propósito.

nesse caso eu usaria um registro, mas acredito que você não saiba trabalhar com registro, então use apenas vetores mesmo.

varnome: array[1..12] of string;altura: array[1..12]of real;media, soma_alt: real;quant_jog, cont: integer;beginsoma_alt := 0;for cont := 1 to 12 dobeginWriteln('Digite o nome do ',cont,'º jogador);readln(nome[cont]);writeln('Digite a altura do ',cont,'º jogador);readln(altura[cont]);soma_alt := soma_alt + altura[cont];end;
para tirar a média é so somar as alturas e dividir pela quantidade de jogadores media := soma_alt / cont;... nesse caso 12, pq é o tamanho do vetor. Se tiver mais jogadores aumente o tamanho do vetor... Para isso é bom utilizar constantes, para nao ficar alterando todo o código.

 

tente terminar seu algoritmo... pelo visto isso é um exercício e não é correto fazer seu exercício completo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.