Bacharelado em Ciência e Tecnologia BC0505 Processamento da Informação - Prof. Edson Pinheiro Pimentel



Documentos relacionados
VisuALG Estruturas de Repetição. Professores: Vilson Heck Junior Felipe Schneider Costa

Programação de Computadores I Pseudocódigo PROFESSORA CINTIA CAETANO

IFTO LÓGICA DE PROGRAMAÇÃO AULA 05

Lista de Exercícios. Vetores

Introdução a Algoritmos Parte 04

Será exibido um painel de opções com 3 possibilidades: Cadastrar Cliente, Listagem de Cliente e Gerar Chave de Instalação.

PROGRAMAÇÃO ESTRUTURADA. CC 2º Período

FACULDADE CAMPO LIMPO PAULISTA MESTRADO EM CIÊNCIA DA COMPUTAÇÃO. Projeto e Análise de Algoritmos II Lista de Exercícios 2

Exercícios de Fixação Pseudocódigo e Estruturas Básicas de Controle

Sistemas Operacionais e Introdução à Programação. Vetores e matrizes

MANUAL DO GERENCIADOR ESCOLAR WEB

Edwar Saliba Júnior. Dicas, Comandos e Exemplos Comparativos entre Linguagem Algorítmica e Linguagem C / C++

CURSO BÁSICO DE PROGRAMAÇÃO AULA 7

CONTABILIDADE COM MÚLTIPLOS PLANOS DE CONTAS

O Excel é um programa de computador desenvolvido para gerenciar dados na forma de planilhas.

Manual do Google agenda. criação e compartilhamento de agendas

O conteúdo deste documento é de propriedade intelectual exclusiva da GVDASA Sistemas e está sujeito a alterações sem aviso prévio.

Caso já seja usuário do SCAW siga as instruções a partir da página X.

Excel Planilhas Eletrônicas

SISTEMA INTEGRADO DE GESTÃO ACADÊMICA

Operações de Caixa. Versão 2.0. Manual destinado à implantadores, técnicos do suporte e usuários finais

A lógica de programação ajuda a facilitar o desenvolvimento dos futuros programas que você desenvolverá.

Tutorial de Matlab Francesco Franco

Manual de Instalação... 2 RECURSOS DESTE RELÓGIO REGISTRANDO O ACESSO Acesso através de cartão de código de barras:...

Faculdade de Computação - UFMS

Grupo C Vetores e Matrizes

Programação WEB I Estruturas de controle e repetição

Aula Teórica 12. Material Didático Proposto

BOLETIM INFORMATIVO TÉCNICO LIBERAÇÃO DE ATUALIZAÇÃO - CORDILHEIRA VERSÃO 2

Introdução à Lógica de Programação

Controle Patrimonial WEB

UNIVERSIDADE FEDERAL DE SANTA MARIA

Processo de Controle das Reposições da loja

E&L Controle de Frotas. Perguntas Frequentes

MANUAL DE UTILIZAÇÃO DOS SERVIÇOS DO TOTEM

Treinamento de. Linx Pos

ESTRUTURA CONDICIONAL

Exercícios de Java Aula 19

Vetores. Professor Dr Francisco Isidro Massettto

Para impressão dessas etiquetas, acesse o menu Movimentos opção Etiquetas de Produto. A tela que se abre está ilustrada abaixo:

A4 Projeto Integrador e Lista de Jogos

EXERCÍCIOS. 2. Faça um algoritmo que receba dois números e ao final mostre a soma, subtração, multiplicação e a divisão dos números lidos.

Estruturas de Repetição Parte II PARA-ATÉ

SuperStore. Sistema para Automação de Óticas. MANUAL DO USUÁRIO (Módulo Vendas e Caixa)

SECRETARIA DE ESTADO DA FAZENDA. Documento de Arrecadação Estadual DAE. Manual do Usuário. Versão SECRETARIA DE ESTADO DA FAZENDA

Manual Q-Acadêmico 2.0 Módulo Web - Aluno

Manual de Relação de Pontos por Indicação

E&L Compras, Licitações e Contratos. Perguntas Frequentes

&XUVRGH,QWURGXomRDR (GLWRUGH3ODQLOKDV([FHO

Guia Site Empresarial

Área de Venda (gôndola):

Manual Verba Conceito de verba. Funcionamento Básico

Guia Rápido para Acesso, Preenchimento e Envio Formulário de Cadastro da Empresa e Formulário de Projeto

Sistema Integrado de Atendimento

Manual do sistema SMARsa Web

Passo a Passo do Cadastro Produtos no SIGLA Digital

Inventário Rotativo. Página 1

Manual de Atendimento do Chat Casa do Corretor. Página 1

4/5/2009 CONTROLSOFT CONTROLGAS CONTROLE DE VALE GÁS. Manual de Operação

Ajuda On-line - Sistema de Portaria. Versão 4.8.J

MANUAL PARA EMISSÃO DO CERTIFICADO FITOSSANITÁRIO DE ORIGEM CONSOLIDADO (CFOC) ELETRÔNICO

Passo a Passo do Orçamentos de Entrada no SIGLA Digital

1. Tela de Acesso pg Cadastro pg Abas de navegação pg Abas dados cadastrais pg Aba grupo de usuários pg.

Dicas Logycware Como utilizar o módulo de Estoques. Copyright Logycware Sistemas de Informática 2008 Todos os Direitos Reservados

Universidade Federal de Minas Gerais Instituto de Ciências Agrárias

Tutorial Folha Express. Como otimizar a confecção da folha de pagamento.

Principais Novidades Abril/2013 a Junho/2013

Manual de Cobrança. Código Nome De Até 1 Jose da Silva a Jz 2 Ana Maria k Pz 3 Marcelo q zz

ARRAYS. Um array é um OBJETO que referencia (aponta) mais de um objeto ou armazena mais de um dado primitivo.

CURSO BÁSICO DE PROGRAMAÇÃO AULA 9. Introdução a linguagem C Estruturas de decisão

MANUAL AUTORIZADOR ON-LINE

Levantamento de Requisitos

Terceiro Milênio Informática

Guia de usuário

Omega Tecnologia Manual Omega Hosting

ALGORITMOS PARTE 01. Fabricio de Sousa Pinto

Manual de Instalação. SafeSign Standard (Para MAC OS 10.7)

ÍNDICE 1. SEJA BEM-VINDO... 2 SOBRE O SISTEMA FUNCIONALIDADES DO SISTEMA... 4

Linguagem algorítmica: Portugol

Exemplo de utilização do Scilab na solução de circuitos elétricos em cc. 16V E3. Fig. 1 circuito resistivo CC

SUA SENHA É SIGILOSA, PESSOAL E INTRANSFERÍVEL.

Programação de Computadores I. Linguagem C Vetores

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES

Assessoria Técnica de Tecnologia da Informação - ATTI. Projeto de Informatização da. Secretaria Municipal de Saúde do. Município de São Paulo

Soluções Nível 1 5 a e 6 a séries (6º e 7º anos) do Ensino Fundamental

MANUAL PAPELETA MOTORISTA Criado em: 15/02/2013 Atualizado em: 12/11/2014

Questão Essência do Excel

Orientação a Objetos

AGHOS - GESTÃO E REGULAÇÃO ASSISTENCIAL E FINANCEIRA DE SAÚDE MÓDULO DE REGULAÇÃO AMBULATORIAL DE CONSULTAS ESPECIALIZADAS

Capítulo 9. Vetores e Matrizes. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Python Condicionais e Loops. Introdução à Programação SI1

Manual do Programa de Caixa1

Manual de uso do aplicativo Filho Sem Fila

Transcrição:

[1]. Sendo o vetor V igual a: Bacharelado em Ciência e Tecnologia BC0505 Processamento da Informação - Prof. Edson Pinheiro Pimentel EXERCÍCIOS Lista de Exercícios Vetor e Matriz PARTE 1 Vetor 5 10 7 6 16 3 9 2 2 1 1 2 3 4 5 6 7 8 9 10 e as variáveis X = 1 e Y = 3, escreva o valor correspondente à solicitação, conforme exemplos: a) V[X+1] valor corresponde a V[2] = 7 b) V[Y+2] valor corresponde a V[5] = 3 c) V[X+3] valor corresponde a V[4] = 16 d) V[X*4] valor corresponde a V[4] = 16 e) V[Y*2] valor corresponde a V[6] = 9 f) V[X+Y] valor corresponde a V[4] = 16 g) V[X+(Y*4)] valor corresponde a V[13] = *** erro *** Neste exercício, basta utilizar os valores de X e Y dados no enunciado para realizarmos as operações dentro dos [ ] que definem o índice do elemento do vetor. Em seguida, verificamos no vetor V quais são os valores dos elementos. O elemento de índice 13 não existe, então há erro. OBS: na representação acima, os números de baixo são os índices e os de cima os valores do vetor. [2]. Escreva um algoritmo que Leia 10 valores inteiros e armazene-os em um Vetor. Após a digitação do último valor, imprima os elementos com conteúdo par. Números pares do vetor de entrada. 10 valores inteiros em um vetor Percorrer o vetor de 10 elementos e para cada elemento x que é par, isto é, quando x % 2 = 0, imprimir x inteiro vetor[10] inteiro indice = 0 // ENTRADA enquanto(indice < 10)

escreva( "\n Digite um número inteiro " ) leia( vetor[indice] ) indice++ // PROCESSAMENTO & SAÍDA para (indice = 0; indice < 10; indice++) se(vetor[indice] % 2 == 0) escreva( " ", vetor[indice] ) [3]. Escreva um algoritmo que Leia 15 nomes de pessoas e armazene-os em um Vetor. Após a digitação do último nome, imprima-os na sequência contrária (ou seja, o último nome digitado deve ser o primeiro a ser impresso, etc) 15 nomes de pessoas digitados, porém, na sequência inversa à digitada. 15 nomes de pessoas. Após armazenar os nomes em um vetor (nomes[15]), outro vetor deve ser alocado com os novos nomes. Para isso, em um laço para, utilizar: nomes_inverso[i]=nomes[14-i] cadeia nomes[15],nomes_inverso[15] inteiro i // ENTRADAS para(i=0;i<15;i++) escreva("digite o nome nº",i+1," : ") leia(nomes[i]) // PROCESSAMENTO E SAÍDA escreva("\nnomes na ordem inversa: \n") para(i=0;i<15;i++) nomes_inverso[i]=nomes[14-i] escreva(nomes_inverso[i],"\n")

[4]. Escreva um que leia 20 números e após o fim da entrada de dados, exiba na tela, primeiro os elementos com conteúdo ímpar e depois os elementos das posições pares. Vetor que contenha no começo todos os elementos ímpares e depois os elementos das posições pares. 20 números inteiros. Armanezar os 20 valores em um vetor. Imprimir primeiro apenas os valores ímpares, depois apenas os elementos das posições pares. const inteiro n = 20 inteiro vetor [n], i // ENTRADAS para(i=0;i<n;i++) leia(vetor[i]) // PROCESSAMENTO E SAÍDA escreva("o vetor resultante é: ") para(i=0;i<n;i++) se (vetor[i] % 2!= 0) escreva(vetor [i] + " ") para(i=0;i<n;i++) se (i % 2 == 0) escreva(vetor[i] + " ") //os elementos ímpares //se a posição (ou índice) é par [5]. Escreva um algoritmo que leia 8 elementos em um vetor inteiro A. Construa outro vetor B, de mesma dimensão de A, com seus elementos sendo a multiplicação do elemento correspondente de A por 3. Mostre os elementos de B. Vetor B com elementos de A multiplicados por 3 8 números inteiros que formarão o vetor A

Para cada elemento x de A, multiplica-lo por 3 e atribuir o resultado para os elementos de B B[indice] = 3 * A[indice] inteiro A[8], B[8] inteiro indice = 0 // ENTRADA & PROCESSAMENTO enquanto(indice < 8) escreva( indice+1, " - Digite um número inteiro: " ) leia( A[indice] ) B[indice] = 3 * A[indice] indice++ // SAÍDA para(indice = 0; indice < 8; indice++) escreva( " ",B[indice]) [6]. Leia 20 elementos em um vetor A e construa o vetor B com elementos de A, porém invertidos, ou seja, o primeiro elemento de A passa a ser o último elemento de B, e assim por diante. Mostre os 2 vetores, o maior elemento do vetor A e o menor elemento do vetor B. Elementos dos vetores A e B, sendo B os elementos de A na ordem inversa; E os maiores elementos destes mesmos vetores. Elementos do vetor A. Após armazenar elementos de A, o vetor B deve ser alocado com os elementos de A na ordem inversa. Para isso, em um laço para de forma crescente no índice i, utilizar: vetorb[19-i]=vetora[i] Para determinar o maior elemento, pode ser utilizada a seguinte condição: se(vetora[i]>maiora ou i==0) maiora=vetora[i] Esta condição está presente no laço das entradas, para o caso do vetor A, e no processamento, no caso do vetor B é análogo o menor.

inteiro vetora[20], vetorb[20], maiora, menor, i // ENTRADAS para(i=0;i<20;i++) escreva("digite o elemento de A nº",i+1," : ") leia(vetora[i]) vetorb[19-i]=vetora[i] //preenche B de trás para frente maiora = vetora[0] menorb = vetorb[0] //inicializa variáveis de maior/menor // PROCESSAMENTO para(i=0;i<20;i++) se(vetora[i] > maiora) maiora = vetora[i] //Atualiza a variável maiora enquanto percorre A se(vetorb[i] < menorb) menorb = vetorb[i] //Análogo ao condicional do maiora // SAÍDA escreva("\nelementos de A: \n") para(i=0;i<20;i++) escreva("\nelemento de A nº",i+1," : ",vetora[i]) escreva("\n\nmaior elemento de A: ",maiora,"\n") escreva("\nelementos de B:") para(i=0;i<20;i++) escreva("\nelemento de B nº",i+1," : ",vetorb[i]) escreva("\n\nmenor elemento de B: ",menorb,"\n") [7]. Escreva um algoritmo que Leia um vetor de N elementos. Após a digitação do último valor, encontre e mostre o maior elemento. O maior elemento do vetor.

N números inteiros. Após armazenar os valores em um vetor, fazer comparações com o elemento seguinte do vetor para verificar qual o maior. const inteiro n = 0 inteiro maior = 0, i // ENTRADAS escreva ("Favor inserir o tamanho do vetor: ") leia (n) inteiro vetor [n] para (i=0; i<n; i++) escreva ("Digite o elemento " +i+ " do vetor: ") leia (vetor [i]) // PROCESSAMENTO E SAÍDA para (i=0; i<n-1; i++) se (vetor [i] >= vetor [i+1]) maior = vetor [i] senao maior = vetor [i+1] se (n == 1) maior = vetor [0] escreva ("O maior elemento do vetor é: " + maior) [8]. Escreva um que leia o nome e a idade de 20 pessoas e exiba, após o fim da entrada de dados, a idade média do grupo e o nome das pessoas com idade acima da média. Idade média do grupo e os nomes das pessoas com idade acima da média. 20 nomes de pessoas e suas respectivas idades colocados em 2 vetores. Precisaremos calcular a média das idades acumulando em uma variável soma_idades, média = soma_idades/20 Se a idade de cada indivíduo for maior que a idade média, imprimir o nome do indivíduo.

inteiro idades[20] cadeia nomes[20] inteiro indice = 0, soma_idades = 0 real mediaidades // ENTRADA enquanto(indice < 20) escreva( indice+1, " - Digite o nome: " ) leia( nomes[indice] ) escreva( indice+1, " - Digite a idade dessa pessoa: " ) leia( idades[indice] ) // PROCESSAMENTO & SAÍDA soma_idades = soma_idades + idades[indice] indice++ mediaidades = soma_idades/20.0 escreva( " A idade média do grupo é de ", mediaidades, " anos \n" ) para(indice = 0; indice < 20; indice++) se(idades[indice] > mediaidades) escreva(nomes[indice], " " ) [9]. Escreva um que leia 100 números e exiba na tela a média, o maior, o menor, o percentual de números ímpares e o percentual de múltiplos de 3. Média (media), maior dos nºs (maior), menor dos nºs (menor), percentual de nºs ímpares (impares), percentual de múltiplos de 3 (mult_3). Todos os 100 números, armazenados em um vetor de 100 posições. Média: soma=soma+numeros[i] (dentro do laço para) media=soma/100 Maior: se(i==0 ou numeros[i]>maior) maior=numeros[i] (dentro do laço para) Menor:

se(i==0 ou numeros[i]<menor) menor=numeros[i] (dentro do laço para) Percentual de ímpares: se(nao(numeros[i]%2==0)) impares++ (dentro do laço para) Percentual de múltiplos de 3: se(numeros[i]%3==0) // Procurando o percentual de nºs múltiplos de 3 mult_3++ (dentro do laço para) inteiro numeros[100],maior=0,menor=0, i real impares=0.0,mult_3=0.0,soma=0.0,media // ENTRADAS E PROCESSAMENTO para(i=0;i<100;i++) escreva("digite o elemento nº",i+1," : ") leia(numeros[i]) se(i==0 ou numeros[i]>maior) // Procurando o maior dos nºs maior=numeros[i] se(i==0 ou numeros[i]<menor) // Procurando o menor dos nºs menor=numeros[i] se(nao(numeros[i]%2==0)) // Procurando o percentual de nºs ímpares impares++ se(numeros[i]%3==0) // Procurando o percentual de nºs múltiplos de 3 mult_3++ soma=soma+numeros[i] media=soma/100 // SAÍDA escreva("\nmédia: ", media) escreva("\nmaior nº: ", maior) escreva("\nmenor nº: ", menor) escreva("\npercentual de nºs ímpares: ", impares, "%") escreva("\npercentual de múltiplos de 3: ", mult_3, "%")

[10]. Escreva um que dados dois vetores de 20 números cada, gere um terceiro vetor para intercalar os elementos dos dois. Um vetor C de 40 números com os valores de dois vetores A e B intercalados. Dois vetores A e B de 20 números cada. Armazenar os valores dos dois vetores iniciais no terceiro vetor de forma intercalada, usando 2 variáveis de índice, k e j, k começa no zero e vai incrementando de 2 em 2, enquanto j começa em 1 e incrementa de 2 em 2: C[k] = A[i] C[j] = B[i] onde i é o índice do laço de repetição que vai de 0 a 19, percorrendo os elementos de A e B inteiro A[20], B[20], C[40] inteiro k = 0, j = 1, i // ENTRADAS para(i=0;i<20;i++) escreva("digite o elemento " + i + " do vetor A: ") leia(a[i]) para(i=0;i<20;i++) escreva("digite o elemento " + i + " do vetor B: ") leia(b[i]) // PROCESSAMENTO E SAÍDA para(i=0; i<20; i++) //preenche C intercalando A e B ex:(a0 b0 a1 b1 a2 b2...) C[k] = A[i] C[j] = B[i] k = k + 2 //k varia assim: 0, 2, 4, 6,..., 38 j = j + 2 //j varia assim: 1, 3, 5, 7,..., 39, lembre que C tem posições de 0 a 39 para (i = 0; i < 40; i++) escreva (C[i] + " ") [11]. Construir um algoritmo que leia um vetor para armazenar os modelos de cinco carros (exemplo: FUSCA,

GOL, VECTRA, etc). Leia outro vetor com o consumo desses carros, isto é, quantos quilômetros cada um desses carros faz com 1 litro de combustível. Calcule e mostre: a) O modelo do carro mais econômico. b) Quantos litros de combustível cada um dos carros cadastrados consome para percorrer uma distância de 1000 quilômetros. a) o modelo mais econômico b) quantidade de litros de combustível necessária para andar 1000 km 5 Modelos de carros e seus respectivos rendimentos em km/l a) Percorrer o vetor de rendimentos e a partir de um condicional guardar o melhor rendimento. b) Considere R = distancia/litros, logo, litros = distancia/r = 1000/R real rendimentos[5], max_rendimento = 0.0, qtd_litros cadeia modelos[5] inteiro indice = 0, ind_modelo // ENTRADA enquanto(indice < 5) escreva( indice+1, " - Digite o modelo do carro: " ) leia( modelos[indice] ) escreva( indice+1, " - Digite o rendimento em km/l desse modelo: " ) leia( rendimentos[indice] ) // PROCESSAMENTO & SAÍDAS se(max_rendimento < rendimentos[indice] ) max_rendimento = rendimentos[indice] ind_modelo = indice indice++ escreva( " O modelo mais econômico é ", modelos[ind_modelo], "\n" ) para(indice = 0; indice < 5; indice++) qtd_litros = 1000.0/rendimentos[indice] escreva( modelos[indice], " utiliza para percorrer 1000 km ", qtd_litros, " litros \n") PARTE 2 MATRIZ

[12]. Sendo a matriz M igual a : 0 1 2 3 4 0 5 2 1 1 3 1 7 4 7 3 2 2 4 5 2 2 1 3 3 3 1 4 1 4 8 4 2 9 3 e as variáveis X = 0 e Y = 2 escreva o valor correspondente à solicitação, conforme exemplo: a) M[X][Y] valor corresponde a M[0] [2] que é 1 b) M[Y][X]: M[2][0] = 4 c) M[X+1][Y-1]: M[1][1] = 4 d) M[X+2][Y-1*2]: M[2][0] = 4 e) M[Y-X][Y+X]: M[2][2] = 2 f) M[M[X][Y]][M[Y][X]] valor corresponde a M[M[0][2]][M[2][0]] M[1][4] que é 2 g) M[M[Y-X][Y+X] ][M[Y+X][Y-X]]: M[ M[2][2] ][ M[2][2] ] = M[2][2] = 2 [13]. Desenhe uma representação para as seguintes matrizes e coloque os valores determinados nos devidos lugares: a) caracter MA[5][5][5] MA[1][3][1] = x MA[3][3][2] = y MA[2][1][4] = k MA[4][4][1] = w MA[2][3][4] = z b) inteiro MB[3][3][3] MB[2][1][1] = 2 MB[1][2][1] = 4 MB[2][1][2] = 6 MB[2][2][1] = 8 MB[0][1][2] = 0 Matrizes impressas (todos os elementos das matrizes que não possuem valores estão preenchidos com um ponto (.)): a). x...

.... k.... z.. y... w........ 0.......... 4..... 2 6. 8. [14]. Dada a matriz do exercício 12, gere um vetor com a média ponderada de cada linha, considerando como peso o valor da última coluna. Vetor de médias ponderadas das linhas da matriz usando como pesos a última coluna da matriz A matriz 5x5 do exercício 12

Percorrer com laço de repetição a matriz tomando cada célula m[i][j] e usar a fórmula de média ponderada: Ex.: media ponderada linha 0 = (m[0][0]*m[0][4] + m[0][1]*m[1][4] +... + m[0][4]*m[4][4]) /10. Pois 10 é a soma dos pesos (valores da última coluna), considere que o segundo fator de cada produto desse somatório é um dos pesos encontrados na última coluna. & ENTRADA inteiro matriz[][] = 5,2,1,1,3, 7,4,7,3,2, 4,5,2,2,1, 3,3,1,4,1, 8,4,2,9,3 real mediasl[] = 0.0, 0.0, 0.0, 0.0, 0.0 //vetor de médias ponderadas das linhas inteiro lin, col, peso // PROCESSAMENTO para(lin = 0; lin < 5; lin++) para(col = 0; col < 5; col++) peso = matriz[col][4] // o peso vem da última coluna <4> mediasl[lin] += matriz[lin][col] * peso mediasl[lin] = mediasl[lin]/10 //10 é a soma dos pesos que vêm da última coluna // SAÍDA para(col = 0; col < 5; col++) escreva( "Média ponderada Linha ", col, ": ", mediasl[col], "\n") [15]. Preencha uma matriz 5x5 de números inteiros e mostre na tela apenas os elementos de cuja soma da linha e coluna resultem num número ímpar. Elementos da matriz inserida cuja soma dos elementos tanto de sua linha como de sua coluna resultem em um valor ímpar. Elementos da matriz. Primeiramente, os vetores que armazenam a soma das linhas e das colunas devem ser anulados; Depois, somar cada elemento inserido na matriz à posição dos vetores de soma de linha e de coluna; Finalmente, mostrar os elementos que seguem ao critério desejado (soma dos elementos de sua linha deve ser ímpar, assim como a soma dos elementos de sua coluna).

const inteiro tam = 5 inteiro matriz[tam][tam],soma_lin[tam],soma_col[tam], i, j // ENTRADA E PROCESSAMENTO para(i=0;i<tam;i++) soma_lin[i]=0 soma_col[i]=0 para(i=0;i<tam;i++) para(j=0;j<tam;j++) escreva("entre com a posição [",i,"][",j,"] :") leia(matriz[i][j]) soma_lin[i]=soma_lin[i]+matriz[i][j] soma_col[j]=soma_col[j]+matriz[i][j] escreva("\n---------------------------------------\n") // SAÍDA para(i=0;i<tam;i++) para(j=0;j<tam;j++) se(nao(soma_lin[i]%2==0) e nao(soma_col[j]%2==0)) escreva(matriz[i][j]) senao escreva(" ") [16]. Preencha uma matriz 5x5 de números inteiros e calcule o determinante. O determinante da matriz 5x5. Os 25 valores da matriz 5x5. Método de Laplace.

//DECLARAÇÃO DE VARIÁVEIS inteiro matriz [5][5], deta, deta1, deta2, deta3, deta4, deta5, i, j //ENTRADA para (i = 0; i < 5; i++) para (j = 0; j < 5; j++) escreva ("Digite aqui o valor da linha " + i + " e da coluna " + j + " : ") leia (matriz [i][j]) //PROCESSAMENTO deta3 = (matriz[3][3] * matriz[4][4]) - (matriz [3][4] * matriz [4][3]) deta4 = (matriz [1][3] * matriz [4][4]) - (matriz [3][4] * matriz [4][1]) deta5 = (matriz [3][1] * matriz [4][3]) - (matriz [3][3] * matriz [4][1]) deta2 = 2*detA3 - deta4 + 2*detA5 deta1 = -2*detA2 deta = 3*detA1 //SAÍDA escreva ("O determinante da matriz é " + deta) [17]. Preencha uma matriz 5x5 de números inteiros e mostre na tela os dados contidos em uma coluna a ser informada pelo usuário. Exibir os dados de uma coluna da matriz, sendo a coluna algo escolhido. As 25 células da matriz e o número da coluna a ser exibida. Além de preencher a matriz com as entradas, usar um laço de repetição para iterar sobre a matriz M de entrada, para cada linha da matriz tomar apenas o dado da coluna informada. const inteiro LIN = 5, COL = 5 inteiro M[LIN][COL] inteiro l, c, col_escolhida // ENTRADA para(l = 0; l< LIN; l++) para(c = 0; c < COL; c++) escreva( "Digite o elemento [", l, "][", c, "] : " )

leia(m[l][c]) escreva( "Informe a coluna da matriz que será exibida (de 0 a 4): " ) leia(col_escolhida) // PROCESSAMENTO & SAÍDA para(l = 0; l < LIN; l++) escreva( M[l][col_escolhida], " " ) [18]. Escreva um que leia uma matriz A de 3 x 5 em seguida uma matriz B de 3 x 5. Gere uma matriz C contendo a soma de A e B. Imprima a matriz C. Matriz C, ou seja, soma da matriz A com a matriz B. Elementos da matriz A e da matriz B. Para cada posição da matriz C [i,j]: Elemento da matriz C = Elemento da matriz A + Elemento da matriz B C[i][j]=A[i][j]+B[i][j] const inteiro lin=3,col=5 inteiro A[lin][col], B[lin][col], C[lin][col], i, j // ENTRADA escreva("entre com os valores da matriz A: \n") para(i=0;i<lin;i++) para(j=0;j<col;j++) escreva("a[",i,"][",j,"]: ") leia(a[i][j]) escreva("entre com os valores da matriz B: \n") para(i=0;i<lin;i++) para(j=0;j<col;j++) escreva("b[",i,"][",j,"]: ")

leia(b[i][j]) escreva("\nmatrizc: \n") // PROCESSAMENTO E SAÍDA para(i=0;i<lin;i++) para(j=0;j<col;j++) C[i][j]=A[i][j]+B[i][j] escreva(c[i][j]," ") escreva("\n") [19]. Em uma classe há n alunos, cada um dos quais realizou k provas com pesos distintos. Dados n, k, os pesos das k provas e as notas de cada aluno, calcular a média ponderada das provas para cada aluno e a média aritmética da classe em cada uma das provas. A média ponderada das provas para cada aluno e a média aritmética da classe em cada uma das provas. O número de alunos, os pesos e as notas de cada prova. Armazenamento dos dados em uma matriz e, posteriormente, cálculo das médias ponderas e aritmética. /*Criação de variáveis*/ const inteiro k=0, n=0 inteiro i, j /*Solicitação e leitura do número de alunos na turma*/ escreva("digite quantos alunos há na turma:") leia(n) /*Solicitação e leitura do numero de provas aplicadas*/ escreva ("Digite quantas provas serão aplicadas:") leia (k) /*Declaração e atribuição de tamanho das matrizes*/ real notas[n][k],pesos[k], mediaaluno[n], mediaprova[k] /*Solicitação e leitura dos pesos das provas*/

para (j=0;j<k;j++) escreva ("Digite o peso da P"+(j+1)+":") leia (pesos[j]) /*Solicitação e leitura das notas dos alunos*/ para(i=0;i<n;i++) para(j=0; j<k; j++) escreva ("Digite a nota "+(j+1)+" do aluno "+(i+1)+":") leia (notas[i][j]) /*Zera o vetor "mediaaluno" para uso posterior em uma somatória*/ para (i=0;i<n;i++) mediaaluno[i]=0.0 /*Zera o vetor "mediaprova" para uso posterior em uma somatória*/ para (j=0;j<k;j++) mediaprova[j]=0.0 /*Cálculo da média de cada aluno (média ponderada das provas)*/ para (i=0; i < n; i++) para (j=0; j < k; j++) /*Somatório da nota previamente digitada, multiplicada pelo peso da prova*/ mediaaluno[i]=mediaaluno[i]+(notas[i][j]*pesos[j]) /*Cálculo da média aritmética (da sala toda) em cada prova*/ para (j=0; j < k; j++) para (i=0; i < n; i++) /*Somatório das notas de todos os alunos numa mesma prova*/ mediaprova[j]=mediaprova[j]+notas[i][j] /*Divide a somatória das notas na prova pelo número de alunos para saber a média dos alunos naquela prova*/ mediaprova[j]=mediaprova[j]/n /*Exibe a nota média dos alunos em cada prova*/ para(j=0; j < k; j++) escreva ("\n >> A média da prova "+(j+1)+ " é: "+mediaprova[j]) escreva("\n") /*Exibe a média de cada aluno (média ponderada de todas as provas)*/ para(i=0; i < n; i++) escreva ("\n A média do aluno "+(i+1)+ " é: "+mediaaluno[i])

[20]. Construa um algoritmo para gerenciar a venda de ingressos (ocupação) das poltronas numeradas de um teatro, que tem 200 lugares, organizados em 20 fileiras com 10 cadeiras cada fila. Inicialize a matriz com todas as posições valendo -1 indicando que elas estão vazias. Para cada nova venda de ingresso, deve se solicitar ao usuário o número da fila e o número da poltrona. Se a poltrona estiver vazia, deve-se alterar seu conteúdo para o valor 1, indicando que o ingresso foi vendido. Se não estiver vazia, deve-se emitir uma mensagem: Poltrona já foi vendida. O deve funcionar por meio de um menu, com duas opções, sendo: A) Vender Ingresso B) exibir o total de ingressos vendidos e C) Encerrar o Programa. (A) Conseguir vender um ingresso, (B) Exibir quantos ingressos já foram vendidos (C) Finalizar o. Opções do usuário (A, B ou C), e para (A) informar o lugar no teatro: fileira e cadeira Preencher a matriz M com -1, usar desvios condicionais de acordo com a entrada do usuário, se ele digitar: (A) e o lugar pretendido, checar se a poltrona está livre (isto é, se M[fileira][cadeira]!= -1), caso esteja livre efetuar a venda, incrementando uma variável contadora de vendas (B) exibe a variável contadora de vendas (C) Sai do laço de repetição que sempre aguardava uma entrada de dados pelo usuário const inteiro LIN = 20, COL = 10 inteiro M[LIN][COL] inteiro l, c, fileira, poltrona, vendidas = 0 //vendidas é o contador de vendas caracter entrada = 'Z' // Inicializa com um caracter qualquer diferente de C // ENTRADA, PROCESSAMENTO e SAÍDA são alternados. para(l = 0; l< LIN; l++) para(c = 0; c < COL; c++) M[l][c] = -1 //Inicializa a matriz de lugares no teatro enquanto(entrada!= 'C' ) escreva( "Digite uma letra para cada opção: A) Comprar Ingresso; B) Mostra quantos ingressos foram vendidos; C) Sair : \n" ) leia(entrada) se(entrada == 'A' ) escreva( "Informe uma fileira do teatro (0-19) : " ) leia(fileira) escreva( "Informe uma poltrona dessa fileira (0-9) : " ) leia(poltrona) se(m[fileira][poltrona]!= -1) escreva( "Essa poltrona já foi vendida \n" ) senao M[fileira][poltrona] = 1

escreva( ">> Venda efetuada com sucesso! \n" ) vendidas++ senao se(entrada == 'B' ) escreva( "Foram vendidos ", vendidas, " ingressos \n" ) senao se(entrada!= 'C' ) escreva( "ERRO: Dígito inválido, tente A, B ou C apenas \n" ) escreva( ">> Programa Encerrado com sucesso!" )