Você está na página 1de 29

UFOP - Universidade Federal de Ouro Preto

ICEB – Instituto de Ciências Exatas e Biológicas


DECOM – Departamento de Computação

BCC701 – Programação de Computadores I

Exercícios Variáveis Composta Homogêneas

José Américo Trivellato Messias


Sala COM07 – DECOM/ICEB
Exercícios - Vetor
1. Fazer um programa para ler 10 números inteiros e
armazená-los em uma variável composta homogênea A (vetor).
O programa deve calcular e imprimir a soma dos elementos.

Vetor A a0 a1 a2 K a9

Algoritmo Algoritmo utilizando definição dinâmica


Programa Programa utilizando definição dinâmica
Exercícios - Vetor
2. Fazer um programa que entre com as notas(n) dos alunos
de uma turma e imprima: a nota dos alunos, a média da turma
e o percentual de alunos com nota maior que a nota média.
Entrada: nota 1, nota 2, ... , nota n
Cálculo: média=(nota 1+nota 2+...+nota n)/n
%ANMM⇒verificar se a nota de cada aluno > média,
contar cada ocorrência afirmativa e dividir por n.
Saída: notas, média, percentual de alunos com nota maior que
a nota média.

Algoritmo
Programa
Exercícios - Matrizes
3. Fazer um programa para ler 9 números inteiros e armazená-
los em uma variável composta homogênea A (matriz). O
programa deve ainda imprimir o conteúdo dessa variável.

a 0 ,0 a0 ,1 a 0 ,2
Matriz A a1,0 a1,1 a1,2
a 2 ,0 a 2,1 a 2 ,2

Algoritmo Algoritmo utilizando estrutura global


Programa Programa utilizando estrutura global
Exercícios - Matrizes
4. Fazer um programa efetuar a soma de duas matrizes,
C(mxn) = A(mxn) + B(mxn).

c i, j = ai, j + bi, j ∀ i = 1..m , j = 1..n

Algoritmo
Programa
Exercícios - Matrizes

5. Fazer um programa efetuar o produto de duas matrizes,


C(mxp) = A(mxn) x B(nxp).
p
c i, j = ∑ ai,k .bk , j , ∀ i = 1..m , j = 1..n
k =1

Algoritmo
Programa
Exercícios - Matrizes
6. (Lopes, 2002) Uma certa fábrica produziu dois tipos de
motores M1 e M2, nos meses de janeiro a dezembro; o número
de motores foi registrado na tabela 1. O setor de controle de
vendas tem uma Tabela de custos e de Lucro (em mil reais)
obtidos com cada motor conforme Tabela 2.
Tabela 1 Tabela 2
M1 M2 Custo Lucro
Jan 30 20 M1 10 3
Fev 5 10 M2 15 2
… … …
Dez 18 25
Fazer um programa que leia o conteúdo das Tabelas, calcule e
imprima o custo e o lucro em cada mês e o lucro anual.
Algoritmo
Programa
Algoritmo – Vetor - Ex1
Principal(){
inteiro vet[10]; // vetor de 10 elementos
inteiro i,soma=0;
//Inserção de dados no vetor
imprima "Digite 10 valores inteiros " ;
para (i = 0; i < 10; i++)
leia vet[i];
//Visualização dos dados e cálculo da soma
imprima "Conteudo do Vetor";
para (i = 0; i < 10; i++){
imprima vet[i];
soma=soma+ vet[i];}
imprima "Soma dos elementos: ", soma;} //Principal
Algoritmo – Vetor - definição dinâmica da estrutura vetor
Principal(){
inteiro i,n,soma=0;
imprima "Digite o numero de elementos a serem digitados " ; leia n;
inteiro vet[n];// vetor com número de elementos definidos na execução
//Inserção de dados no vetor
imprima "Digite os ", n, " valores inteiros " ;
para (i = 0; i < n; i++)
leia vet[i];
//Visualização dos dados e calculo da soma
imprima "Conteudo do Vetor";
para (i = 0; i < n; i++){
imprima vet[i];
soma = soma + vet[i];}
imprima "Soma dos elementos: ",soma;} //Principal
Algoritmo – Vetor - Notas
Principal(){
inteiro i,n, cont=0; real media ,total=0, Per;
imprima "Digite o numero de alunos da turma." ; leia n;
real Nota[n];
imprima "Digite as ", n, " notas dos alunos." ;
para (i = 0; i < n; i++) leia Nota[i];
para (i = 0; i < n; i++) total=total+Nota[i];
media = total / n;
para (i = 0; i < n; i++) se (Nota[i]>media) cont=cont+1;
Per=cont/n*100;
imprima “Notas dos alunos";
para (i = 0; i < n; i++) imprima Nota[i];
imprima “Media: ",media;
imprima “Percentual notas > média : ",Per;} //Principal
Algoritmo – Matriz – Ex3
Principal(){
inteito mat[3][3]; // matriz de 3 linhas e 3 colunas
inteiro i,j;
//Inserção de dados na matriz
para (i = 0; i < 3; i++) {
imprima "Digite os numeros da linha " , i;
para (j = 0; j < 3; j++)
leia mat[i][j]; }
//Visualização dos dados
imprima "Conteudo da matriz" ;
para (i = 0; i < 3; i++) {
para (j = 0; j < 3; j++)
imprima mat[i][j] ; } }
Algoritmo – Matriz – Ex3 - definição global
Definicaotipo inteiro matriz[20][20];
principal(){
matriz mat;
inteiro i,j;
//Inserção de dados na matriz
para (i = 0; i < 3; i++) {
imprima "Digite os numeros da linha " ,i;
para (j = 0; j < 3; j++)
leia mat[i][j]; }
//Visualização dos dados
imprima "Conteudo da matriz" ;
para (i = 0; i < 3; i++) {
para (j = 0; j < 3; j++)
imprima mat[i][j] ; } }
Algoritmo – Soma de matrizes
Definicaotipo inteiro matriz[20][20];
principal(){
Leitura(matriz mm,inteiro m,inteiro n){
inteiro i,j;
para (i = 0; i < m; i++){
imprima "Linha “,i;
para (j = 0; j < n; j++)
leia mm[i][j]; } }//Leitura
Impressao(matriz mm,inteiro m,inteiro n){
inteiro i,j;
para (i = 0; i < m; i++) {
para (j = 0; j < n; j++)
imprima mm[i][j];} }//Impressao
Algoritmo – Soma de matrizes
Soma(matriz a,matriz b,matriz s,inteiro m,inteiro n){
int i,j;
para (i = 0; i < m; i++)
para (j = 0; j < n; j++)
s[i][j] = a[i][j] + b[i][j]; }//Soma
int main(){
inteiro m,n; matriz A,B,S;
imprima "Digitar as dimensoes da matriz Mat(m x n): ";
leia m,n;
imprima " Digitar os ", m*n," elementos da primeira matriz";
Leitura(A,m,n);
imprima " Digitar os ", m*n," elementos da segunda matriz";
Leitura(B,m,n);
Soma(A,B,S,m,n);
Algoritmo – Soma de matrizes
imprima "Resultados;
imprima " Primeira Matriz";
Impressao(A,m,n);
imprima " Segunda Matriz";
Impressao(B,m,n);
imprima " Matriz Soma";
Impressao(S,m,n); } //Principal
Algoritmo – Produto de Matrizes

Definicaotipo inteiro matriz[20][20];


Leitura(matriz mm,inteiro m,inteiro n){...}//Leitura
Impressao(matriz mm,inteiro m,inteiro n) {...} //Impressao
Produto(matriz a,matriz b,matriz prod,inteiro m,inteiro n,inteiro p){
inteiro i,j,k;
para (i = 0; i < m; i++)
para (j = 0; j < p; j++){
prod[i][j]=0;
para (k=0;k<n;k++)
prod[i][j] = prod[i][j]+a[i][k] * b[k][j];} }//Produto
Algoritmo – Produto de Matrizes
Principal(){
inteiro m,n,p; matriz A,B,Prod;
imprima,"Digitar as dimensoes (m,n,p) das matrizes A(m x n),B(n,p): ";
leitura,n,p;
imprima "Digitar os “,m*n," elementos da matriz A";
Leitura(A,m,n);
imprima "Digitar os “, n*p ," elementos da matriz B";
Leitura(B,n,p);
Produto(A,B,Prod,m,n,p);
imprima "Resultados";
imprima"Matriz A"; Impressao(A,m,n);
imprima "Matriz B"; Impressao(B,n,p);
imprima "Matriz Produto"; Impressao(Prod,m,p); }//Principal
Algoritmo – Cálculo de Custo e Lucro
Definicaotipo inteiro matriz[20][20];
Leitura(matriz mm,inteiro m,inteiro n){...}//Leitura
Impressao(matriz mm,inteiro m,inteiro n){...}//Impressao
Produto(matriz a,matriz b,matriz prod,inteiro m, n, p){...}//Produto
principal(){
inteiro i,totalL=0; matriz Tabela1,Tabela2,LGmensal;
imprima "Digitar os dados de producao mensal da Fabrica."l;
Leitura(Tabela1,12,2);
imprima " Digitar os dados de custo e lucro dos motores M1 e M2.";
Leitura(Tabela2,2,2);
Produto(Tabela1,Tabela2,LGmensal,12,2,2);
imprima "Producao Mensal";
Impressao(Tabela1,12,2);
imprima "Lucro Custo"l;
Impressao(Tabela2,2,2);
imprima "Resultado Anual do Lucro e Custo";
Impressao(LGmensal,12,2);
para (i=0;i<=11;i++) totalL=totalL+LGmensal[i][1];
imprima "Lucro Anual: R$“,totalL,".000,00."l; }
Programa – Vetor - Ex1
Programa – Vetor - definição dinâmica da estrutura vetor
Programa – Vetor - Notas
Programa – Matriz – Ex3
Programa – Matriz - Ex3 - definição global
Programa – Soma de Matrizes
Programa – Soma de Matrizes
Programa – Produto de Matrizes
Programa – Produto de Matrizes
Programa – Cálculo de Custo e Lucro
Programa – Cálculo de Custo e Lucro

Você também pode gostar