











Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Apostilas de Informática sobre Técnicas de Programação, Variáveis Compostas Homogêneas, Tipos Definidos Pelo Usuário e Constantes, Passagem de Parâmetros, Alocação Dinâmica.
Tipologia: Notas de estudo
1 / 19
Esta página não é visível na pré-visualização
Não perca as partes importantes!












Silvoney Fernandes da Silva
Vet
Exemplo: ALGORITMO Atribui VARIÁVEIS
20 Dado uma frase, faça um algoritmo que determine qual a consoante mais utilizada.
Faça um algoritmo que leia N letras e armazene cada uma em uma posição de memória. Coloque no vetor, após a última letra lida, o caracter “$”, indicando final dos caracteres
Faça um algoritmo que: a) Leia um vetor com N elementos formado por valores do tipo inteiro. b) Após a leitura, modifique o vetor de forma que o mesmo contenha na parte superior somente valores pares, e na parte inferior os valores impares. c) Ordene crescentemente os números pares, e decrescentemente os números impares.
Dado um conjunto de n registros, cada registro contendo o nome e a idade dessa pessoa faça um algoritmo que: a) Guarde todos os dados na memória; b) Escreva o nome das pessoas que tem idade maior que a idade da primeira; c) Listar os nomes das pessoas que tem a idade maior que a média; d) Listar o nome da pessoa de maior e menor idade
Dado que para cada aluno de uma turma de “N” alunos se tenha, o seu nome, e as notas das 8 avaliações. Faça um algoritmo que: Imprima o nome a média de cada aluno; a) Calcule a Percentagem de alunos cujo o nome comece com a letra “A”; b) Para cada aluno imprima uma mensagem dizendo se o aluno tem ou não notas repetidas; c) Determine quantos alunos tem pelo menos duas notas acima de 7;
Dado um verto X de n elementos faça um algoritmo que: a) Crie outro vetor Y contendo os elementos de x que estão na faixa entre 10 e 40; b) Crie outro vetor W contendo os números que estão nas posições pares; c) Pesquise a existência de um determinado elemento Z no vetor X; d) Escreva o menor e maior elemento do vetor X;
Em uma cidade do interior, sabe-se que, de janeiro a abril de 1976 (121 dias), não ocorreu temperatura inferior a 15o^ C nem superior a 40o^ C. As temperatura verificadas em cada dia estão disponíveis em uma unidade de entrada de dados. Fazer um algoritmo que calcule e escreva: a) a menor temperatura ocorrida; b) a maior temperatura ocorrida; c) a temperatura média d) o número de dias nos quais a temperatura foi inferior a média à temperatura média.
Fazer um algoritmo que: a) leia o valor de n (n <= 1000) e os n valores de um variável indexada A de valores inteiros ordenados de forma crescente; b) determine e escreva, para cada número que se repete no conjunto, a quantidade de vezes em que ele aparece repetido; c) elimine os elementos repetidos, formando um novo conjunto; d) escreva o conjunto obtido no item c;
Um armazém trabalha com 100 mercadorias diferentes identificadas pelos números inteiros de 1 a 100. O dono do armazém anota a quantidade de cada mercadoria vendida durante o mês. Ele tem uma tabela que indica, para cada mercadoria, o preço de venda. Escreva um algoritmo para calcular o faturamento mensal do armazém. A tabela de preços é fornecida seguida pelos números das mercadorias e as quantidades vendidas. Quando uma mercadoria não tiver nenhuma venda, é informado o valor zero no lugar da quantidade.
Uma grande firma deseja saber quais os três empregados mais recentes. Fazer um algoritmo para ler um número indeterminado de informações (máximo de 300) contendo o número do empregado e o número de meses de trabalho deste empregado e escrever os três mais recentes. Observações: A última informação contém os dois números iguais a zero. Não existem dois empregados admitidos no mesmo mês. Exemplo:
Empregado mais recente: 4631.
Fazer um algoritmo que: a) leia uma variável indexada A com 30 valores reais; b) leia uma outra variável indexada B com 30 valores reais; c) leia o valor de uma variável X; d) verifique qual o elemento de A é igual a X; e) escreva o elemento de B de posição correspondente à do elemento A igual a X;
Fazer um programa que: a) leia o valor de M (M<=30) e os valores de uma variável indexada A; b) leia o valor de N (N<=20) e os valores de uma variável indexada B; c) determine o conjunto C = A B (união de A com B), onde C não deverá conter elementos repetidos (A e B não contém elementos repetidos); d) escreva os elementos contidos em A, B e C;
Intercalação é o processo utilizado para construir uma tabela ordenada, de tamanho n +m, a partir de duas tabelas já ordenadas de tamanhos n e m. Por exemplo, a partir das tabelas:
e B= 2 4 5
construímos a tabela
Fazer um algoritmo que: a) leia NA, número de elementos do conjunto A (NA<=100); b) leia, em seguida, os elementos do conjunto A; c) leia, logo após o valor de NB, número de elementos do conjunto B (NB<=100); d) leia, finalmente, os elementos do conjunto B; e) crie e imprima um conjunto C, ordenado, de tamanho NA+NB, a partir dos conjuntos originais A e B.
Observação:
Para cada nota de compra , tem-se o Nome do produto comprado, o valor e o imposto. Faça um algoritmo que escreva Nome, valor e imposto de cada produto. Bem como o valor total bruto, o imposto total cobrado e o valor total líquido de todas as notas. Considere 500 notas
Uma empresa deseja fazer um levantamento do seu estoque. Para isto possui para cada tipo de produto, o seu Nome, o valor unitário e a sua quantidade em estoque. A empresa deseja emitir um relatório contendo, o Nome, quantidade, valor, unitário e o saldo ( valor total ) em estoque de cada tipo de produto. Ao final deseja-se saber quantos tipos de produtos existem em estoque e o saldo de todos os produtos.
Faça um algoritmo para ler um vetor X de tamanho N de números inteiro. Após a leitura classifique os números, colocando em um vetor P somente os números pares e em um vetor I os impares. Após isso liste os três vetores.
Exemplo: ALGORITMO Atribui VARIÁVEIS Nomes : VETOR [1:4,1:4] DE CADEIA I,J : INTEIRO BEGIN PARA I 1 ATE 4, PASSO 1, FACA PARA J 1 ATE 4, PASSO 1, FACA LEIA (Nomes [ I , J] ) FIM PARA FIM PARA FIM Em pascal: PROGRAM Atribui; VAR Nomes : ARRAY[1..4,1..4] OF STRING; I,J : INTEGER; BEGIN FOR I: = 1 TO 4 DO FOR := J := 1 TO 4 DO READ (Nomes[ I,J] ); END.
1.2.1 Exercícios 11:
Faça um algoritmo para ler e imprimir uma matriz 2x4 de números inteiros.
Dado uma matriz de ordem 3x3 faça um algoritmo que: a) Calcule a soma dos elementos da primeira coluna; b) Calcule o produto dos elementos da primeira linha; c) Calcule a soma de todos os elementos da matriz; d) Calcule a soma do diagonal principal; e) Soma da diagonal secundária;
Dado uma matriz de ordem NxN faça um algoritmo que verifique se a matriz é simétrica (aij=aji).
Dado uma matriz NxM de valores reais faça um algoritmo que faça a leitura destes valores e ao final da leitura de todos, imprimir o seguintes relatório: a) Qual a Soma dos valores de cada coluna da matriz; b) Listar os valores que são menores que a média dos valores; c) Qual a soma dos elementos da diagonal secundária;
Dado uma matriz NxM de valores inteiros faca um algoritmo que faça a leitura destes valores e ao final coloque os elementos ordenados primeiro pela linha e depois pela coluna.
Dado duas matrizes A e B de ordem NxN faca um algoritmo que some as duas e gere a matriz C. Os elementos da matriz C são a soma dos respectivos elementos de A e B.
Dado uma matriz NxM de valores inteiros determine a sua matriz transposta e imprima.
Fazer um algoritmo que efetue um produto matricial. Seja A(m x n) e B (n x m) as matrizes fatores, sendo m<= e n<=70. Deverão ser impressas as matrizes A, B e a matriz-produto obtida.
Escrever um algoritmo que leia uma matrix N x N multiplique os elementos da diagonal principal por uma variável K, também linda, e escreva a matriz resultante.
Dado uma matriz N x M elementos, calcular a soma de cada linha e a soma de todos os elementos.
A fim de ilustrar este problema, pode-se considerar o seguinte esquema:
Mat Somalinha 1 2 3 6 4 5 6 15
Total 21
É possível atribuir o conteúdo de uma variável RECORD para outra variável, de mesmo tipo, da mesma forma que é feito como as outras variáveis do Pascal.
Exemplo: Caso duas variáveis, digamos A e B sejam definidas como sendo RECORDs, e caso seja desejado passar o conteúdo, isto é os valores existentes nos campos, a variável A para a variável B, bastará realizar a seguinte atribuição:
Algoritmo
AB
Pascal A: =B
2.1.1 Exercícios 1 :
O Pascal possui vários tipos pré-definidos, como INTEGER, WORD, REAL etc, mas além destes tipos básicos, existe a possibilidade de o usuário definir seus próprios tipos de dados. Para isto, é necessário o uso da palavra reservada TYPE, a qual indica que um novo tipo será criado.
Exemplo : Imagine que seja desejado criar um tipo matriz 4X4, sendo que logo em seguida este novo tipo será usado para definir uma variável como sendo deste tipo. P ara isto deverá ser usada a seguinte definição:
Matriz = ARRAY[1..4,1..4] OF INTEGER VAR Mat : Matriz
O Pascal permite a definição de tipos usando qualquer um dos tipos pré-definidos, ou até mesmo utilizando tipos definidos pelo usuário
Nome Endereço: Rua Número Bairro Cidade Estado CEP Profissão: Cargo: Departamento Função Salário: Bruto Desconto(percentual) Salário Família(Somente para filhos de 18 anos) Dependentes: Número Descrição(Uma para cada dependente): Nome Idade Se é filho ou não
Um outro uso muito útil de constantes é o de definir o tamanho de um ARRAY (VETOR) e o escopo dos laços de repetição, como FOR DO (PARA FAÇA0 , WHILE DO (ENQUANTO FAÇA) e REPEAT UNTIL (REPITA ATÉ).
Algoritmo ALGORITMO Teste CONSTATE TotalLinhas = 10 TotalColunas = 20 TIPO matriz = VETOR[ 1..totallinhas, 1..totalcolunas] DE INTEIRO VARIAVEIS Mat : matriz; lin,col : BYTE; INICIO PARA lin DE 1 ATE totallinhas FAÇA PARA col DE 1 ATE totalcolunas FAÇA LEIA(Mat[lin,col]) FIM PARA FIM PARA FIM
Pascal PROGRAM Teste; CONST TotalLinhas = 10; TotalColunas = 20; TYPE matriz = ARRAY[ 1..totallinhas, 1 ..totalcolunas] OF INTEGER;
Mat : matriz; lin,col : BYTE; BEGIN FOR lin : = 1 TO totallinhas DO BEGIN FOR col: = 1 TO totalcolunas DO BEGIN READ(mat[lin,col]); END; END; END.
3.2.1 Exercícios 3 :
Um matemático uma vez disse que um grande problema se resolve dividindo-o em pequenas partes e resolvendo tais partes em separado. Estes dizeres servem também para a construção de programas. Os profissionais de informática quando necessitam construir um grande sistema, o fazem, dividindo tal programa em partes, sendo então desenvolvido cada parte em separado, mais tarde, tais partes serão acopladas para formar o sistema. Estas partes são conhecidas por vários nomes. Nós adotaremos uma destas nomenclaturas: sub-Rotinas. Podemos dar um conceito simples de sub-Rotina dizendo ser um pedaço de código computacional que executa uma Função bem definida, sendo que esta sub-Rotina pode ser utilizadas várias vezes no algoritmo. Neste curso iremos tratar de dois tipos de sub-Rotinas: PROCEDURE e FUNCTION.
Sintaxe :
Algoritmo PROCEDURE
Pascal PROCEDURE
Uma “PROCEDURE”, é um tipo de sub-Rotina que é ativada através da colocação de seu Nome em alguma parte do programa. Desta forma, assim que o Nome de uma “PROCEDURE”é encontrado, ocorre um desvio no programa, para que os comandos da sub-Rotina sejam executados. Ao término da sub-Rotina, a execução retornará ao ponto subsequente a chamada da “Pocedure”. Exemplo :
Algoritmo ALGORITMO Teste VARIAVEIS Número, N : BYTE
PROCEDURE EscreveNoVideo INICIO PARA Número DE 1 ATE N FACA ESCREVA (Número) FIM PARA FIM
EscreveNoVideo ESCREVA (‘fim’) FIM
Pascal
No Exemplo acima, a variável “Nome” , por ser definida como global, pode ser manipulada dentro de qualquer ponto do programa, sendo que qualquer mudança no seu conteúdo, será visível nas demais partes da Rotina. Damos o Nome de variáveis locais às variáveis que são declaradas dentro de uma sub-Rotina, sendo que as mesmas só podem ser manipuladas dentro da sub-Rotina que as declarou, não sendo visíveis em nenhuma outra parte do programa. Exemplo :
Algoritmo ALGORITMO Teste PROCEDURE EscreveNoVídeo VARIAVEIS Número, N : INTEIRO INICIO LEIA (N) PARA número DE 1 ATE N FACA ESCREVA (Número) FIM PARA FIM
EscreveNoVídeo FIM
Pascal PROGRAM Teste; PROCEDURE EscreveNoVídeo; VAR Número, N : INTEGER; BEGIN READ(N); FOR número : = 1 TO N DO BEGIN WRITE(Número); END; END;
EscreveNoVídeo; END;
Obs: É possível definir variáveis globais e locais com o mesmo Nome, sendo qualquer mudança no conteúdo da variável local não afetará o conteúdo da variável global. Exemplo :
Algoritmo ALGORITMO Teste VARIAVEL Nome : STRING
PROCEDURE Setanome INICIO LEIA (Nome) FIM
PROCEDURE Mudança VARIAVEIS Nome : STRING INICIO LEIA (Nome) FIM