bloqueio

segunda-feira, 11 de julho de 2011

AULA 22 - 06/07/2011 - Exercicios

  Na aula de hoje o professor Jossandro corrigiu as questões da aula anterior, e passou mais 3 questões que disponibilizarei a seguir.

1 - Faça um algoritmo que preencha uma matriz M (2x2), calcule e mostre a matriz R, resultante da multiplicação dos elementos de M pelo seu maior elemento.

 algoritmo "multi_maior_1"
var
   m:vetor [1..2,1..2] de real
   r:vetor [1..2,1..2] de real
   maior,lim,col:real
   n,i:inteiro
inicio
      PARA n de 1 ate 2 FACA
           PARA i de 1 ate 2 FACA
                escreval("Digite um número para linha ",n," e para coluna ",i,":")
                leia(m[n,i])
           FIMPARA
      FIMPARA
      maior<- m[1,1]
      pos<- 1,1
      PARA n de 1 ate 2 FACA
           PARA i de 1 ate 2 FACA
                SE (maior < m[n,i]) ENTAO
                   maior<- m[n,i]
                   lim<- n
                   col<- i
                FIMSE
           FIMPARA
      FIMPARA
      escreval("O número maior da matriz foi",maior)
      PARA n de 1 ate 2 FACA
           PARA i de 1 ate 2 FACA
                r[n,i]<- m[n,i] * maior
                escreval("O resultado da multiplicação entre ",m[n,i]," e ",maior," foi ",r[n,i])
           FIMPARA
      FIMPARA
fimalgoritmo


2 - Faça um programa que preencha:

  • Um vetor com oito posições, contendo nomes de lojas;
  • Outro vetor com quatro posições, contendo nomes de produtos;
  • Uma matriz com os preços de todos os produtos em cada loja.

O programa deverá mostrar todas as relações (nome do produto – nome da loja) em que o preço não ultrapasse R$ 120,00.


algoritmo "aula22_ex2"
var
  loja: vetor [1..8] de caractere
  prod: vetor [1..4] de caractere
  preco: vetor [1..8,1..4] de real
  i, j : inteiro
inicio
  para i <- 1 ate 8 faca
    escreval("Digite o nome da loja ",i)
    leia(loja[i])
  fimpara
  para i <- 1 ate 4 faca
    escreval("Digite o nome do produto ",i)
    leia(prod[i])
  fimpara
  para i <- 1 ate 8 faca
    para j <- 1 ate 4 faca
      escreval("Digite o preco do(a) ",prod[j]," na loja ",loja[i])
      leia(preco[i,j])
    fimpara
  fimpara
  para i <- 1 ate 8 faca
    para j <- 1 ate 4 faca
      se (preco[i,j] <= 120) entao
        escreval(prod[j]," custa R$",preco[i,j]," na loja ",loja[i])
      fimse
    fimpara
  fimpara
fimalgoritmo

3 - Na teoria dos sistemas, define-se o elemento MINMAX de uma matriz como o maior elemento da linha em que se econtra o menor elemento da matriz. Elabore um programa que carregue uma matriz 4x7 com números reais, calcule e mostre seu MINMAX e sua posição (linha e coluna).

 algoritmo "minmax3"
var
   mat:vetor[1..4,1..7] de real
   menor,maior,coluna,colunamaior,linha: real
   n,i: inteiro
inicio
      PARA n de 1 ate 4 FACA
           PARA i de 1 ate 7 FACA
                escreval("Digite o número pertencente a coluna ",i," e a linha ",n,":")
                leia(mat[n,i])
           FIMPARA
      FIMPARA
      menor<- mat[1,1]
      linha<- 1
      coluna<- 1
      PARA n de 1 ate 4 FACA
           PARA i de 1 ate 7 FACA
                SE menor < mat[n,i] ENTAO
                   menor<- mat[n,i]
                   linha<- n
                   coluna<- i
                FIMSE
           FIMPARA
      FIMPARA
      maior<- mat[linha,1]
      colunamaior<- 1
      PARA n de 1 ate 1 FACA
           PARA i de 1 ate 7 FACA
                SE maior < mat[linha,i] ENTAO
                   maior<- mat[linha,i]
                   colunamaior<- i
                FIMSE
           FIMPARA
      FIMPARA
      escreval("O menor número é ",menor," esta na linha ",linha,",e na coluna ",coluna," e o maior desta linha é ",maior," esta na coluna ",colunamaior)
fimalgoritmo


 Como sempre a lógica sempre dificulta,  na questão 2 tive grande dificuldade na compreensão do exercício, mas o professor Jossandro me explicou e acabei compreendendo, as outras duas tive uma certa facilidade em soluciona-las, mesmo o MINMAX da questão 3 e a multiplicação da matriz pelo maior elemento da questão 1 sendo a principio confusos. Mas depois que conseguimos nos concentrar com certeza todos eles ficam mais fáceis..