Ir para conteúdo

POWERED BY:

Arquivado

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

quel

matriz

Recommended Posts

olá pessoal

 

é o seguinte:

 

) Considere que determinada empresa tem registrado numa tabela, minutos locais de ligação telefônica ao longo de 20 anos. Cada linha representa um ano e cada coluna um mês. Utilizando todos os conceitos aprendidos de lógica de programação, faça um algoritmo que peça para o usuário digitar os valores nesta tabela Esta tabela deve ser armazenada em uma matriz.

 

 

Após a digitação de todos os valores, determine e escreva qual foi o consumo médio total de minutos durante os 20 anos. Escreva também o mês e o ano do maior minuto registrado

 

 

Codigo

 

inicio

MINUTOS_LOCAIS,MES_MAIOR,ANO_MAIOR,CONSU_MEDIO: numerico

LIGA_TELE: matriz[1... 12] numerico

LINHA,COLUNA : numerico

 

para LINHA de 1 ate 12 1 faca

 

escreva " Digite o ano da "LINHA", ° ano:"

leia ANO[LINHA]

 

 

Duvidas:

 

a matriz eu coloquei os meses do ano que sao 12, e como declarar a matriz de 20 anos? eu to um pouco perdida, alguem por favor pode me ajudar?

 

Obrigada

Compartilhar este post


Link para o post
Compartilhar em outros sites

Voce precisa de uma matriz bi-dimensional. A declaração é mais ou menos assim:

 

LIGA_TELE: matriz[1... 20, 1... 12] numerico

Para preencher todos os valores voce precisa de dois loops encadeado.

 

para i de 1 ate 20 faca
   para j de 1 ate 12 faca
	  // leia LIGA_TELE[i,j]

Qualquer dúvida volte a postar.

 

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

olá

eu nao possocolocar por ex para Linha e tal

para coluna e tal

em vez de i e j igual você colocou nao?

 

e eu acabei implementando o algoritmo

 

Code

 

se coluna = 1

entao leia " Digite os valores nesta tabela:",LIGA_TELE[LINHA,COLUNA]

 

se LINHA = 20

entao leia " Digite os valores nesta tabela:",LIGA_TEL [LINHA,COLUNA]

 

 

fim-se

 

 

escreva " O Consumo medio total de minutos durante os 20 anos é: " CONSU_MEDIO"

 

escreva " O mes e o ano do maior minuto registrado:"MES_MAIOR,ANO_MAIOR"

 

 

fim

 

é isso mesmo?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faça exatamento o que o Kandrade disse, apenas coloque no for interno o calculo a ser feito para guardar a maior media mensal e o ano:

 

inicio
//A declaração das variaveis:
Inteiro matriz[20][12];  // sendo aqui 20 quantidade de linhas (anos) e 12 quantidade de colunas (meses).
inteiro total=0; //guardará o total dos anos.
inteiro linha=0, coluna=0; //iniciando os contadores de linha e coluna.
inteiro maiorvalor=0; //iniciando o acumulador de maior media mensal e maior ano.
inteiro maiormensal, maiorano;
para (linha=0, linha < 20, linha ++)faça //para pular as linhasou voce pode utilizar um enquanto
	  para(coluna=0, coluna<12, coluna++)faça
			  leia(matriz[linha][coluna]);
			  total=mediatotal+matriz[linha][coluna];//total de linha(ano) recebe o seu valor;
			  se (maiorvalor<matriz[linha][coluna])faça
				   maiorvalor=matriz[linha][coluna];
				   maiormensal=coluna;
				   maiorano=linha;
			 fim se;
	 fim para de coluna;
fim para de linha;

escreva("O maior minuto mensal foi no mes: ", maiormensal, "do ano", maiorano);
	  
fim;

Cara ajudei porque estava a fim, mas esse algoritmo está facil de ser implementado, e será muito utilizado mais pra frente ai no seu estudo, por isso faça e refaça os testes de mesa e exercicios que você tem ai disponivel isso para você ter o melhor aprendizado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Quem é que pensou neste alguritmo quel?

Foi o teu professor?

Decerteza que está doido, porque é necesário muitas variáveis.

Se fosse pedido a media de todos os anos e a maior ligação era muito fácil, mas querem saber qual o ano e mês em que a ligação foi maior, só pode ser de doidos.

Mas eu vou fazer só a média e a maior ligação e depois um mini-exemplo do que é pedido.

 

Só Média e a maior ligação

Inicio

 

Declara A

Declara B

Declara soma

Declara maior

Declara N

N=120

 

http://forum.imasters.com.br/public/style_emoticons/default/excl.gif "imagem"

Escreve-->Qual o numero

A<-- Ler o numero

Escreve-->Qual o numero

B<-- Ler o numero

 

soma=soma+A+B

 

Se

A>B

Vedadeiro

A é o maior

 

Falso

B é o maior

 

 

N=N-1

 

Se

N>0

Verdadeiro

volta para cima ( http://forum.imasters.com.br/public/style_emoticons/default/excl.gif "imagem")

 

Falso

media=soma:240

Escreve--> media; maior

 

FIM

 

 

 

mini-exemplo do que é pedido

Inicio

 

Declara media

Declara aa; ab; ac; ad; ae; af; ag; ah; ai; aj; ak; al;

Declara ba; bb; bc; bd; be; bf; bg; bh; bi; bj; bk; bl;

Declara ca; cb; cc; cd; ce; cf; cg; ch; ci; cj; ck; cl;

"etc. 20 vezes para dar 20 anos"

 

Escreve-->Quantos minutos de linha teve em janeiro?

aa<-- Ler numero

Escreve-->Quantos minutos de linha teve em fevereiro?

ab<-- Ler numero

 

 

Se

aa>ab

verdadeiro

aa=maior

 

Falso

ab=maior

 

Escreve-->Quantos minutos de linha teve em março?

ac<-- Ler numero

 

Se

ac>maior

Verdadeiro

ac=maior

 

Falso

ac<maior

 

Escreve-->Quantos minutos de linha teve em abril?

ad<-- Ler numero

"etc. para todas as variáveis"

 

 

 

media=aa+ab+ac "etc." a dividir por 240

 

Escreve--> media; maior

 

FIM

Compartilhar este post


Link para o post
Compartilhar em outros sites

Realmente é coisa pra doido pensei que era pra escrever somente o ano e o mes com a maior quantidade de minutos, mas observando bem o que ele pede:

Após a digitação de todos os valores, determine e escreva qual foi o consumo médio total de minutos durante os 20 anos. Escreva também o mês e o ano do maior minuto registrado

Teria que mecher no contador e fazer uma divisão antes da conferencia se ele é maior que o maior minuto, teria que ser feita uma conversão verificar o mes e dividir pelos dias daquele mes tipo:

se(coluna==1)

minutomensal=(matriz[linha][coluna]/31)/1440; //31=dias em janeiro, 1440 = minutos no dia (24*60)

 

E fazer a comparação, teria assim que ter 12 se's antes da acumulação em um contador.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Estou agora analizar e estou a ver "Matriz".

Não sei utilizar, gostava de saber, sou novo em programação, aprendi umas coisas mas "Matriz" não aprendi.

Talvez o problema fique mais simples do que parece, não sei.

Mas gostava de aprender. Alguém me ensina? :unsure:

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.