Você está na página 1de 19

UNIVERSIDADE EDUARDO MONDLANE

FACULDADE DE CIÊNCIAS
DEPARTAMENTO DE MATEMÁTICA E INFORMÁTICA

INTRODUÇÃO À INFORMÁTICA

FICHA DE EXERCÍCIOS Nº01

2020

Elaborado por: João Metambo


Ficha de Exercícios Nº 1 Introdução à Informática - 2020

Tabela de Conteúdos:

Tabela de Conteúdos: _________________________________________________________________ 1

1. Capítulo 1 - Variáveis, tipos e atribuições: ____________________________________________ 2

2. Capítulo 2– Cálculo aritmético, Expressões, transformações: ____________________________ 4

3. Capítulo 3 – Algoritmos, Fluxogramas e Pseudocódigos ________________________________ 6

4. Capítulo 4 – Programas em Pascal __________________________________________________ 8

Elaborado por: João Metambo 1


Ficha de Exercícios Nº 1 Introdução à Informática - 2020

1. Capítulo 1 - Variáveis, tipos e atribuições:

1) Dar o tipo de cada uma das constantes


a) 613
b) 613,0
c) -613
d) “613”
e) -3,012 * 1015
f) 17*1012
g) -28,3 * 10 -23
h) “Fim de Questão”

2) Faça um PROGRAMA para atribuir a variáveis as seguintes informações:

a) 12345
b) 123456
c) -1122
d) 10
e) VERDADE
f) 12345605

3) No seguinte PROGRAMA existe algum erro? Onde?

ALGORITMO Teste
VARIÁVEIS
Maria : CADEIA
idade : INTEIRO
letra : CARACTER
Maria : REAL
INICIO
idade ← 23
idade ← 678
idade ← letra
letra ← ABC
letra ← A
letra ← 2
FIM

4) Qual a diferença existente nas seguintes atribuições?

a) Letra ← ‘A’
Nome ← ‘João’

b) Letra ← A
Nome ← João

Elaborado por: João Metambo 2


Ficha de Exercícios Nº 1 Introdução à Informática - 2020

5) É correto definir uma variável como sendo Caracter e atribuirmos a ela o valor:
‘PEDRO’? E se a variável fosse definida como CADEIA, a mesma poderia receber um
valor do tipo CARACTER?

6) Declare as seguintes constants:


a) i=10
b) e = 2,718281828
c) j é uma constante inteira cujo valor é 123456789
d) meu nome é LUIS

Elaborado por: João Metambo 3


Ficha de Exercícios Nº 1 Introdução à Informática - 2020

2. Capítulo 2– Cálculo aritmético, Expressões, transformações:

1) indique que resultado será obtido das seguintes expressões:


a) 1 / 2
b) 1 DIV 2
c) 1 MOD 2
d) ( 200 DIV 10 ) MOD 4
e) 5**2 + 3
f) 6 +19-23
g) 3,0* 5,0 +1
h) 1/4+2
i) 29,0/7+4
j) 3/6,0-7

2) Indique o resultado das seguintes expressões:


a) 2 > 3
b) ( 6 < 8 ) OR ( 3 > 7 )
c) ((( 10 DIV 2 ) MOD 6 ) > 5 ) XOR ( 3 < ( 2 MOD 2 ) )
d) NOT ( 2 < 3 )

3) Escreva o comando de atribuição e resolva a expressão das seguintes formulas


matemáticas.

B
A+
a) X = C onde A= 2, B= 6, C = 3, D=4, E=8, F=4
E
D−
F

2 X 2 − 3X ( X +1) X +1
+
b) Y = 2 X onde X = 2
2X

4) Construa o algoritmo que calcule as seguintes expressões:


a) 2 + 3 * { 23 - 12 + [ { ( 123 / 34 ) + 10 } / 2 - 1 * ( 45 - 12 ) ] / 3 }
b) [ ( 2 * 3 ) ^2 - 1 ] ^ 4
c) ( 2 + [ 2 * 3 - ( 4 / 20 ) ^ 2 ] )/ (10 * { [ ( 7 * 3 ) - 2 ] ^ 3 })

5) Escreva os comandos de atribuição para as seguintes fórmulas matemáticas.

2 B − 4 A + 2 F −3
a) X =
3− 2A

2H
⎡ 45 ⎤
b) Y = 2 H − ⎢ − 4H ( 3 − H )⎥
⎣ 3X ⎦

Elaborado por: João Metambo 4


Ficha de Exercícios Nº 1 Introdução à Informática - 2020

(a − b ) + (e + f ) i
c) X = *
(c − d ) + (g + h) j

6) Traduza as seguintes expressões matemáticas em Pascal:

a) − b + b 2 − 4ac
b) Sen2 (x + y)
c) |X| e-x
d) 1,25a - c : 3
e) Tg x
f) Arctang(x + y): x - 1,03
g) Sen(x) ≥ 1 x ∈ [1;3]
h) O resto da divisão do inteiro x por y é 2

7) Escreva expressões booleanas para cada uma das seguintes relações:


a) Idade de 18 a 21 anos inclusive.
b) Água é menor do que 1.5 e maior do que 0.1
c) Ano é divisível por 4 (sugestão: use mod)
d) Velocidade não é maior do que 55.

8) Escreva instruções booleanas para resolver o seguinte:


a) atribuir um valor True a Entre se N está no intervalo de –K a +K inclusive e
atribuir um valor False caso contrário.
b) Atribuir um valor True a Maiúscula se Ch é uma letra maiúscula, atribuir
False caso contrário.
c) Atribuir um valor True a Divisível se M é divisível por N, atribuir False caso
contrário.
9) Escreva instruções Pascal para resolver o seguinte:
a) Se Item for diferente de zero então multiplique Produto por Item e
armazene o resultado em Produto, caso contrário ignore a multiplicação. Em
ambos os casos imprima o valor de Produto.
b) Armazene a diferença absoluta de X e Y em Y, onde a diferença absoluta
de X e Y é (X - Y) ou (Y - X), qualquer que seja positiva. Não use a função
ABS.
c) Se X é zero, adicione 1 a contazero. Se X é negativo, adicione X a
MenosSoma. Se X é maior que zero, adicione X a MaisSoma.

Elaborado por: João Metambo 5


Ficha de Exercícios Nº 1 Introdução à Informática - 2020

3. Capítulo 3 – Algoritmos, Fluxogramas e Pseudocódigos

1) Faça um Fluxograma, Pseudocódigo e um programa em Pascal para cada um dos


sequintes exercícios:
a) Determinar se um determinado número, lido do teclado, é par
b) Determinar se um determinado número, lido do teclado, é impar
c) Determinar se um determinado número, lido do teclado, é primo
d) Determinar a área de um triângulo, sendo lido os valores dos lados do teclado
e) Determinar factorial de um número
f) Dado um número inteiro e positivo, representando segundos, convertê-lo em
horas, minutos e segundos. O resultado deve ser dado numas das formas:
… SEGUNDOS = … HORAS E … MINUTOS E … SEGUNDOS
ou … SEGUNDOS = … MINUTOS E … SEGUNDOS
ou … SEGUNDOS = … SEGUNDOS
g) Dado n ∈ Ν 0 , determinar 2 n .
h) Imprimir a lista de todos os números primos até 1000.
i) Listar os Divisores Próprios de um dado Número, i.e, excluindo a Unidade e o
Número. Exemplo: Divisores Próprios de 36:
2
3
4
6
9
12
18
j) Decompor um dado Número nos seus Divisores Primos, indicando o grau de
divisibilidade de cada um.
Exemplos:
Decomposicao em Factores Primos de 6:
6: 2 3
Decomposicao em Factores Primos de 36:
36: 2(2) 3(2)
Decomposicao em Factores Primos de 360:
360: 2(3) 3(2) 5
Decomposicao em Factores Primos de 37:
37: É um Numero Primo

k) Dada a nota média de um aluno (entre 0 e 20), imprimir:


i. “O aluno foi aprovado com 16 valores”, ou
ii. “O aluno foi reprovado com 8 valores”, ou
iii. “O valor está fora dos parâmetros estabelecidos (de 0 a 20)”;

l) Calcular os termos da sequência de Fibonacci. Define-se sequência de Fibonacci


como uma sequência onde:
i. O primeiro termo é igual a 1
ii. O segundo termo é igual a 1
iii. E os seguintes são iguais à soma dos seus dois antecessores. 1-1-2-3-5-8-
13-21

Elaborado por: João Metambo 6


Ficha de Exercícios Nº 1 Introdução à Informática - 2020

m) Faça um programa que leia 3 valores em variáveis distintas, armazene a soma


das duas primeiras em uma nova variável e o produto das duas últimas em
outra, e mostre como resultado o produto das duas novas variáveis.

n) Faça um algoritmo que leia 2 valores numéricos e um símbolo. Caso o símbolo


seja um dos relacionados abaixo efectue a operação correspondente com os
valores. Atenção para a divisão por 0!

“+” operação de soma


“-” operação de subtracção
“*” operação de multiplicação
“/” operação de divisão

2) Faça um algoritmo para ler as seguintes informações de uma pessoa: Nome, Idade,
Sexo, Peso, Altura, Profissão, Rua, Bairro, Cidade, Estado, CEP, Telefone.

3) Faça um algoritmo para ler a base e a altura de um triângulo. Em seguida, escreva


a área do mesmo.
Obs.: Área = ( Base * Altura ) / 2

4) Faça um algoritmo para:


a) Ler uma CADEIA em forma de data. Exemplo : ‘26/09/95’
b) escrever o dia , mês e ano desta data.

5) Faça um algoritmo que calcule a média aritmética de 4 valores inteiros.

6) O preço de um automóvel é calculado pela soma do preço de fábrica com o preço


dos impostos (45% do preço de fábrica) e a percentagem do revendedor (28% do
preço de fábrica). Faça um algoritmo que leia o nome do automóvel e o preço de
fábrica e imprima o nome do automóvel e o preço final.

7) Escreva um fluxograma/programa para calcular a soma de dois números A e B.

8) Escreva um programa/fluxograma para somar números de 1 a 10.

9) Escreva um pseudocódigo/programa para calcular as raizes da equação


quadrática (ax2 + bx + c = 0).

10) Escreva um programa para trocar os valores de A e B entre si.

11) Escreva um programa para calcular as raizes duma equação linear (ax + b = 0).

12) Escreva um programa que calcule e imprima o salário mensal de um empregado,


dado o número de horas trabalhadas ao longo do mês e o salário por hora.

Elaborado por: João Metambo 7


Ficha de Exercícios Nº 1 Introdução à Informática - 2020

4. Capítulo 4 – Programas em Pascal

1) Faça um programa para ler base e altura de 50 triângulos e imprimir a sua área.

2) Faça um programa para calcular N!.

3) Faça um programa para:


e) Ler um valor x qualquer
f) Calcular Y = ( x+1)+(x+2)+(x+3)+(x+4)+(x+5)+…(x+100).

4) Faça um programa para somar os números pares < 1000 e ao final imprimir o
resultado.

5) Faça um programa para gerar os termos da seguinte P.G.: 3,9,27,81,…,calcule 0


100º termo.

6) Ampliando o exercício acima, faça um programa para calcular a soma dos termos
da P.G..

7) Faça um programa para ler um valor X e calcular Y = X+2X+3X+4X+5X+…+20X

8) Faça um programa para ler e escrever o Nome, idade e sexo de um número


indeterminado de alunos. Ao final escreva o total de alunos lidos.

9) Faça um programa que calcule a hipotenusa de 10 triângulos.


hipotenusa2 = cateto2 + cateto2

10) Faça um programa que leia 20 valores reais e escreva o seu somatório.

11) Faça um PROGRAMA para:


a) Leia um valor X e um valor N.
b) Calcular: Y = X - 2X + 4X - 6X + 8X - 10X + … NX.

12) Faça um PROGRAMA para ler um valor X e um Valor N. Após, calcule a seguinte
expressão:
( X + 1) ( X + 2) ( X + 3) (X + N)
Y= + + +...+
1! 2! 3! N!

13) Faça um programa para calcular a área de N Círculos . Fórmula : Área = π raio 2 π
= 3,141592.

14) Fazer um programa que calcule escreva o valor de S onde:


1 3 5 7 99
S = + + + +...+
1 2 3 4 50

15) Fazer um programa que calcule escreva o valor de S onde:

Elaborado por: João Metambo 8


Ficha de Exercícios Nº 1 Introdução à Informática - 2020

1 2 3 4 5 10
S = − + − + ...+
1 4 9 16 25 100

16) Faça um PROGRAMA para calcular:


50
2
a) ∑N
N −1

50
1
b) ∑N
N −1

50
1
c) ∑ 2N
N −1

50
1
d) ∑N 2
N −1

17) Uma empresa possui 100 vendedores que ganham por comissão sobre cada produto
vendido. Cada vendedor em um determinado mês vendeu X produtos, onde cada
produto pode ou não ter preços iguais. A empresa deseja obter um relatório com o
Nome, o total de vendas e o valor a ser pago a cada vendedor. A comissão paga
pela empresa é de 30% sobre o valor de cada produto vendido.

18) Dado uma relação de 1000 números em graus Célcius, faça um PROGRAMA que
imprima o seguinte relatório:

Graus Fahrenheit Graus Célcius


xxxxxx xxxxxx


Obs.: º F = C + 32
5
19) Dado um número indeterminado de palavras, sendo que cada palavra possui um
tamanho indeterminado, o qual deverá ser lido pelo teclado, faça um PROGRAMA
que imprima um relatório como é mostrado no Exemplo abaixo: Suponha que a
palavra digitada foi “MARIA”.

M A
A I
R R
I A
A M

20) Faça um programa que leia os valores A, B, C e diga se a soma de A + B é menor


que C.

21) Faça um programa que leia dois valores inteiros A e B se os valores forem iguais
deverá se somar os dois, caso contrário multiplique A por B ao final do calculo
atribuir o valor para uma variável C.

Elaborado por: João Metambo 9


Ficha de Exercícios Nº 1 Introdução à Informática - 2020

22) Faça um programa que leia o nome e a três notas de uma disciplina de uma aluno e
ao final escreva o nome do aluno, sua média e se ele foi excluído, admitido ou
dispensado.

23) Faça um programa que leia 3 números inteiros e imprima o menor deles.

24) Dada uma relação de 100 carros imprima quantos são da cor azul. Sendo para
cada carro tem-se uma ficha contento o nome e a cor.

25) Dados três valores distintos, fazer um programa que, após a leitura destes dados
coloque-os em ordem crescente.

26) Dado uma série de 20 valores reais, faça uma programa que calcule e escreva a
média aritmética destes valores, entretanto se a média obtida for maior que 8
deverá ser atribuída 10 para a média.

27) Dado um conjunto de 20 valores reais, faça um programa que:


a) Imprima os valores que não são negativos.
b) Calcule e imprima a média dos valores < 0.

28) Suponha que para cada aluno de sua sala exista uma ficha contendo o nome e a
idade do aluno. Supondo que exista 50 alunos, faça uma programa que determine
quantos alunos tem idade maior que 30.

29) Dado Nome e salário de um número indeterminado de funcionários, imprima o Nome


e o salário de funcionário que tem o maior salário, bem como o Nome e o salário
que possui o menor salário.

30) Dado uma relação de 100 STRING’s no formato de data ( Exemplo ‘10/12/95’ ),
imprima aquelas que correspondem ao mês ‘09’.

31) Dado uma relação de 100 STRING’s no formato de data ( Exemplo ‘10/12/95’ ),
imprima um relatório no seguinte formato:

Data Por Extenso


26/09/95 26 de setembro de 1995

32) Dado que cada pessoa tenha o seu nome e a sua idade e o seu peso em uma ficha,
faça uma programa que:
a) Imprimir o nome da pessoa cujo a idade esta na faixa de 20 a 30 anos
inclusive os extremos;
b) Calcule a idade média das pessoas com peso maior que 80 Kg, considere
que exista N pessoas.

33) Suponha que para cada tipo de computador fabricado, a SEI, tem os seguintes
informações:
- Nome do computador;
- O nome do fabricante;
- A sua capacidade de armazenamento;
Faça um programa que:
a) Determine qual o valor da maior capacidade de memória;
b) Determine quantos computadores diferentes a IBM fabrica;

Elaborado por: João Metambo 10


Ficha de Exercícios Nº 1 Introdução à Informática - 2020

c) Verifique se tem algum computador chamado PS/1. Se tiver qual o seu


fabricante;

34) Faça um programa que leia um número que represente um determinado mês do ano.
Após a leitura escreva por extenso qual o mês lido. Caso o número digitado não
esteja na faixa de 1..12 escreva uma mensagem informando o usuário do erro da
digitação.

35) Faça um programa que leia um número qualquer. Caso o número seja par menor
que 10, escreva ‘Número par menor que Dez’, caso o número digitado seja ímpar
menor que 10 escreva ‘Número Ímpar menor que Dez’, caso contrário Escreva
‘Número fora do Intervalo’.

36) Uma empresa irá dar um aumento de salário aos seus funcionários de acordo com a
categoria de cada empregado. O aumento seguirá a seguinte regra:
a) Funcionários das categorias A, C, F, e H ganharão 10% de aumento sobre o
salário
b) Funcionários das categorias B, D, E, I, J e T ganharão 15% de aumento
sobre o salário
c) Funcionários das categorias K e R ganharão 25% de aumento sobre o
salário
d) Funcionários das categorias L, M, N, O, P, Q, R e S ganharão 35% de
aumento sobre o salário
e) Funcionários das categorias U, V, X, Y, W e Z ganharão 50% de aumento
sobre o salário.

37) Faça um programa que Escreva Nome, categoria e salário reajustado de cada
Empregado. Considere 1000 funcionários na empresa.

38) Dado uma STRING terminada com o caracter “$” faça um programa que imprima
quantas vogais existem nesta STRING.

39) Dado uma STRING terminada com o caracter “$” faça um programa que imprima
quantas Ocorrências de cada vogal em separado existe nesta STRING.

40) Faça um programa que leia, via teclado, 200 valores do tipo inteiro e os guarde na
memória.

41) Amplie o exercício anterior emitindo um relatório com todos os números pares que
você leu.

42) Faça um programa que determine qual o menor valor existente no vetor do
exercício número 1.

43) Faça um programa que determine qual o maior valor existente no vetor do exercício
número 1.

44) Faça um programa que imprima quantos dos valores do exercício número 1 são
maiores que a média desses valores.

45) Faça um programa que leia 10 nomes e os guarde na memória.

46) Amplie o exercício 6 imprimindo o menor Nome do vetor

Elaborado por: João Metambo 11


Ficha de Exercícios Nº 1 Introdução à Informática - 2020

47) Amplie o exercício 6 imprimindo o maior Nome do vetor

48) Faça um programa que leia 20 palavras, e após a leitura, realiza um processo
qualquer que inverta os caracteres de cada uma das palavras.

49) Faça um programa que leia 10 nomes e os guarde na memória. Após a leitura,
emita um relatório com todos os nomes que são palindromes. Uma palavra
palindrome é aquela que a sua leitura é a mesma da esquerda para a direita e
vice versa. Exemplo: ARARA, ANA, etc.

50) Faça um programa que leia, Nome idade e sexo de N pessoas. Após a leitura faça:
a) Imprima o Nome, idade e sexo das pessoas cuja idade seja maior que a
idade da primeira pessoa.
b) Imprima o Nome e idade de todas as mulheres.
c) Imprima o Nome dos homens menores de 21 anos.

51) Faça uma programa para ler 20 valores e que imprima os que são maiores que a
média dos valores.

52) Faça um programa que leia Nome e notas ( total de 12 ) de N alunos de um colégio.
Após a leitura faça:
a) Imprima o Nome e a média dos alunos aprovados ( Média >= 7.0 ).
b) Imprima o Nome e a média dos alunos em Recuperação ( 5.0 >= Média <
7.0 ).
c) Imprima o Nome e a média dos alunos reprovados ( Média < 5.0 ).
d) Imprima o percentual de alunos aprovados.
e) Imprima o percentual de alunos reprovados.

53) Dado Nome e salário de 10 funcionários faça:


a) Imprima o Nome e o salário dos funcionários que ganham mais de R$
500,00
b) Para os funcionários que ganham menos de R$ 200,00 conceda um aumento
de 20%. Imprima Nome e o novo salário destes funcionários aumentados

54) Um teste composto por 10 questões foi proposto numa classe de n alunos. Cada
questão admite as alternativas identificadas pelas letras A, B, C, D e E. Para cada
aluno tem-se o registro contendo o seu nome e as suas respostas. Sendo dado o
gabarito das questões faça um programa que:
a) Escreva uma relação contendo o nome e o número de acertos de cada
aluno;
b) Determine quantos alunos acertaram as questões 1 e 2 e tiveram 7 acertos;
c) Escreva o nome do aluno, que obteve a melhor nota e pior nota;

55) Faça um programa para ler 50 valores inteiros. Após imprima tais valores
ordenados crescentemente.

56) Continuando o exercício anterior, emita um relatório com os valores ordenados


decrescentemente.

57) Dado uma ralação de N nomes, faça um programa que verifique se uma
determinada pessoa está neste vetor. O Nome da pessoa a ser pesquisada deverá
ser lido, bem como os nomes a serem colocados no vetor.

Elaborado por: João Metambo 12


Ficha de Exercícios Nº 1 Introdução à Informática - 2020

58) Dado uma frase, faça um programa que determine qual a consoante mais utilizada.

59) Faça um programa 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

60) Dado um conjunto de n registros, cada registro contendo o nome e a idade dessa
pessoa faça um programa 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

61) Dado um verto X de n elementos faça um programa 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 Y no vetor X;
d) Escreva o menor e maior elemento do vetor X;

62) 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 programa 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.

63) 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 programa 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.

64) Para cada nota de compra , tem-se o Nome do produto comprado, o valor e o
imposto. Faça um programa 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

65) 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.

66) Faça um programa para ler e imprimir uma matriz 2x4 de números inteiros.

67) Dado uma matriz de ordem 3x3 faça um programa que:

Elaborado por: João Metambo 13


Ficha de Exercícios Nº 1 Introdução à Informática - 2020

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;

68) Dado uma matriz de ordem NxN faça um programa que verifique se a matriz é
simétrica (aij=aji).

69) Dado uma matriz NxM de valores reais faça um programa 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;

70) Dado uma matriz NxM de valores inteiros faca um programa que faça a leitura
destes valores e ao final coloque os elementos ordenados primeiro pela linha e
depois pela coluna.

71) Dado duas matrizes A e B de ordem NxN faca um programa 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.

72) Dado uma matriz NxM de valores inteiros determine a sua matriz transposta e
imprima.

73) Fazer um programa que efetue um produto matricial. Seja A(m x n) e B (n x m) as


matrizes fatores, sendo m<=40 e n<=70. Deverão ser impressas as matrizes A, B e
a matriz-produto obtida.

74) Quando executar o seguinte programa encontrará um erro. Porquê?

Program Erroq;
Var i,j:Integer;
Begin i:=32000; j:=18000; writeln(i+j); Readln; End.

75) Escreva um segmento de programa com instrução For para acumular o número total
de dias para os anos 1950 até 2000. Lembre-se que qualquer ano divisível por 4 é
bissexto e tem 366 dias.

76) Escreva um programa para simular as operações duma calculadora.

77) Escreva um programa para ordenar três números A, B e C.

78) Assuma que X, Y e Z são variáveis do tipo integer e X é 5, Y é 7, e Z é 2. Faça a


execução da chamada TROQUE(X, Y, Z).

procedure TROQUE(X,Y:integer, var Z:integer);


var Temp :integer;
begin
Temp := X;
X:= Y;
Y:= Z;
Z:= Tem

Elaborado por: João Metambo 14


Ficha de Exercícios Nº 1 Introdução à Informática - 2020

end; {TROQUE}

79) Escreva um procedimento que aceite como entrada a altura h e o raio r de um cone
e devolve o volume do cone. A formula para o volume do cone é 1/3πr2h.

80) Assuma as declarações:


var X,Y,Z:real;
M,N:integer;
procedure Massagem(var A,B:real;X:integer);

Quais das seguintes intruções são correctas? Quais as incorrectas e porque?


a) Massagem(X,Y,Z); b) Massagem(X,Y,8); c) Massagem(Y, X, N);
d) Massagem(M,Y,N); e) Massagem(25.0,15,X); i) Massagem(X,Y,M+N);
g) Massagem(A,B,X); h) Massagem(Y,Z,M); i) Massagem(Y+Z,Y-Z,M);
j) Massagem(Z,Y,X); l) Massagem(X,Y,M,10); m) Massagem(Z,Y,Maxint);

81) No programa seguinte descreva o alcance de cada identificador incluindo os nomes


dos procedimentos:
program EXEMPLO;
const Pi=3.14159;
procedure A(var X:real);
var B,C:integer;
procedure D(var S:real);
const Estrela = ‘*’;
begin
...
end; {D}
begin {A}
...
end; {A)
procedure F(var X,Y:real);
var D:integer;
begin
...
end; {F}
begin
...
end. {EXEMPLO}

82) Escreva um programa completo que pede ao usuário para introduzir as


coordenadas cartezianas de dois pontos, (X1,Y1) e (X2,Y2) e mostra a distância
entre eles calculada pela fórmula distancia = ((X1 - X2)2 - (Y1 - Y2)2 ) .

83) Escreva procedimentos e/ou funções que podem ser usados para
determinar a seguinte informação para a entrada de um integer como parâmetro:
a) Será um múltiplo de 7, 11 ou 13?
b) Será a soma dos digitos par ou ímpar?
c) Qual é o valor da sua raíz quadrada?
d) Será um número primo?
e) Escreva um programa cliente que testa os seus procedimentos usando os
seguintes dados de entrada: 104, 3773, 13, 121, 77 e 3075.

Elaborado por: João Metambo 15


Ficha de Exercícios Nº 1 Introdução à Informática - 2020

84) Todos os meses um cliente de banco deposita 50000,00Mt na sua conta de


poupança. Assuma que a taxa de juros é fixa e é um problema de entrada. O juro é
calculado em cada quarto do ano. Por exemplo se a conta ganha 6,5% anualmente,
ela ganha um quarto de 6,5% em cada três meses, Escreva um programa que
calcula o total de investimento, o valor total na conta, e os juros acumulados em
cada 120 meses dos 10 anos do período. Assuma que a taxa é aplicada a todos os
fundos na conta no fim de cada quarto do ano, independentemente do tempo em
que os depósitos foram feitos. Imprima todos os valores acumulados até 2 casas
decimais. A tabela imprimida pelo seu programa com a taxa anual de 6,5% sera a
seguinte:

MÊS INVESTIMENTO NOVO VALOR JUROS TOTAL ACUMULADO


1 50.00 50.00 0.00 50.00
2 100.00 100.00 0.00 100.00
3 150.00 150.00 1.44 152.44
4 200.00 202.44 0.00 202.44
5 250.00 252.44 0.00 252.44
6 300.00 302.44 4.91 307.35
7 350.00 357.35 0.00 357.35

85) Existe algum erro no seguinte fragmento de programa? Se sim, indique qual.
procedure LerNome;
var Nome:string[20];
begin
write('Introduza um Nome:’);
readln(Nome);
end;
begin {Programa principal}
LerNome;
writein('0 nome introduzido foi: ',Nome);
end.

86) Indique o que está errado no seguinte programa. Como se poderia corrigir tal erro?
program erro;
var Valor: integer;
procedure LeValor(Valor:integer);
begin
write('Introduza um valor: ');
readln(Valor);
end;
begin {Programa principal}
LeValor(Valor);
Writeln('0 valor introduzido foi: ' Valor);
end.

87) Seja um array de 10 elementos (números reais).


a) Calcular a soma de todos os elementos;
b) Calcular a soma dos elementos positivos;
c) Calcular a média dos elementos positivos;
d) Retornar o indice do 1º elemento negativo;
e) Calcular o valor máximo;
f) Calcular o índice do elemento máximo;
g) ordenar o array pela ordem crescente/descrescente.

Elaborado por: João Metambo 16


Ficha de Exercícios Nº 1 Introdução à Informática - 2020

88) Crie um ficheiro e escreva nele informação da seguinte forma:


1ª linha: o titulo
X f(X)=Sen(X)
Em cada linha seguinte, há 2 valores: o argumento X e o valor respectivo da função
com 5 casas na parte decimal.

89) Escreva um programa que conte o número de ocorrências da palavra reservada


begin (sem considerar as variações da palavra: Begin, bEgin,BEgin,etc.) num ficheiro
de fonte de Pascal.

Sugestões:Escreva
a) Um procedimento que converta um string para maiúscula ou minúscula;
b) Um procedimento que lê o ficheiro linha a linha
c) Os chamamentos necessarios.

90) Quantas vezes será repetido o seguinte corpo do ciclo? O que será imprimido em
cada iteração do ciclo e depois da saída?

X:=3;
Contador:=0;
While Contador < 3 do
Begin
X:= X * X;
Writeln(X);
Contador:= Contador + 1;
End; {while}
Writeln(Contador);

91) Responda ao exercício anterior assumindo que a última instrução do corpo do ciclo é
Contador := Contador + 2

92) Responda ao exercício anterior omitindo a última instrução do corpo do ciclo.

93) Escreva uma instrução while que mostra cada inteiro de 1 a 5 em linhas separadas
junto com o seu respectivo quadrado.

94) Escreva uma instrução while que mostra cada inteiro de 4 a -6 em linhas separadas.
Mostre os números na sequência 4, 2, O etc.

95) Que valores de saída serão mostrados pela seguinte instrução while para o valor
5?

Writeln('Introduza um inteiro> '


Readln(X);
Produto:= 1;
Contador:= 0;
While Contador < 4 do
Begin
Writeln(Produto);
Produto:= Produto * X;
Contador:= Contador + 1;
End; {while}

Elaborado por: João Metambo 17


Ficha de Exercícios Nº 1 Introdução à Informática - 2020

96) Que valores serão mostrados se a instrução writeln estiver depois do end do ciclo?

97) Que operação matemática realiza o seguinte segmento?

Write('Introduza X> ');


Readln(X);
Write('Introduza Y> ');
Readln(Y);
Produto:= 1;
While Y > O do
Begin
Produto := Produto * X;
y := y – 1;
End; {while}
Writeln('Resultado = ',Produto);

98) Quando nasceu o filho de Roberto, ele abriu uma conta de poupança com
$1000.00. Em cada aniversário a partir do primeiro, o banco adicionava 4.5% de
juros ao saldo total e o Roberto adicionava mais $500.00 na conta. Escreva um
programa para determinar quanto dinheiro havia na conta no 18º aniversário.

99) Existem 9870 habitantes numa cidade onde a população cresce em 10%
anualmente. Escreva um ciclo que determine quantos anos serão necessários para
que exceda 30000.

100) Escreva um programa para manutenção de um livro de cheques. Ele deve


primeiro perguntar pelo saldo, depois pela transacção, e introduzir depósitos como
valores positivos e cheques como valores negativos. Depois de cada cheque ou
depósito, o novo saldo deve ser impresso. Use 0 como sentinela.

101) Escreva um segmento de programa que permite ao usuário introduzir valores e


imprime a quantidade de valores positivos e a quantidade de valores negativos
introduzidos. Use 0 como sentinela.

102) Escreva um ciclo while que mostre todas as potencies de um inteiro, n, menores
que um certo valor MaxPotencia. Em cada linha da tabela, mostre o expoente (0, 1,
2, ...) e o valor do inteiro n elevado a tal expoente.

Elaborado por: João Metambo 18

Você também pode gostar