You are on page 1of 7

Departamento de Engenharia Electrotcnica

PROGRAMAO DE MICROPROCESSADORES
2010 / 2011

Mestrado Integrado em Engenharia Electrotcnica


e Computadores
1 ano
2 semestre

Ficha de trabalho
Testes, Condies, Ciclos, Funes, Vectores e Strings

Ana Ins Oliveira


Filipa Ferrada

Programao de Microprocessadores Ficha de trabalho

Problema 1

Do conjunto de instrues a seguir indique as que esto incorrectas e justifique:


1.
aux=2;
2.

f=3.56;

3.

printf(Bom dia);

4.

a=5=(c1 && c2);

5.

b=!c;

6.

int aux;

7.

double p;

8.

boolean c;

9.

#define a=7

10.

#include xpto.h

11.

include <xpto.h>

12.

#define nome Alberto

Problema 2

Para o programa com o cdigo a seguir apresentado indique a sada

#include <stdio.h>
int main(){
int num1, num2, resultado;

num1=10;
num2=12;

resultado=(num1+num2)/2;
printf (" O resultado : %d \n", resultado);
return 0;
}
Pag. 2 of 7

Programao de Microprocessadores Ficha de trabalho

Problema 3

Modifique o cdigo anterior de forma aos valores das variveis num1 e num 2 serem introduzidos
pelo utilizador atravs do teclado.

Problema 4

Elaborar um algoritmo em que um utilizador introduz um nmero e outro utilizador vai tentar
adivinhar esse nmero, introduzindo nmeros at a acertar. O segundo utilizador s para de
introduzir nmero quando acertar.

Problema 5

Escreva um programa para calcular a soma de 10 nmeros introduzidos pelo utilizador.

Problema 6

Escreva um programa que pea ao utilizador 3 nmeros inteiros e que em seguida apresente um
menu com 3 opes:
- Calculo do valor Mximo
- Calculo da Mdia
- Calculo do factorial do valor mximo
Consoante a opo seleccionada deve ser impresso no ecr o resultado obtido.

Problema 7

Escreva um programa que dado um nmero indeterminado de nmeros inteiros positivos


introduzidos pelo teclado (o nmero zero serve como indicador de paragem) imprima no ecr o
maior valor dos nmeros lidos que se situe no intervalo [100,1000]. Se no houver nenhum
nmero nesse intervalo dever dar uma mensagem de erro.

Problema 8

Escreva um programa que recebe como parmetros de entrada a o dia, o ms e o ano e que caso a
data seja vlida imprima a data escrevendo o ms por extenso.
Pag. 3 of 7

Programao de Microprocessadores Ficha de trabalho

Exemplo 3,5,2001 -> 3 de Maio de 2001

Exemplo 3,14,2001 -> Data invlida, ms incorrecto

Exemplo 31,9,2001 -> Data invlida, dia incorrecto

Problema 9

Faa um programa que leia dois valores inteiros e que visualize:

A mensagem Valores iguais se os valores lidos forem iguais;


A lista dos inteiros compreendidos entre os valores introduzidos (inclusive) por ordem
crescente. Coloque 1 valor em cada linha.

Problema 10:

Imagine que quer simular uma mquina de bebidas e comidas. As bebidas e comidas disponveis e
os respectivos preos esto na seguinte tabela:

Escreva um programa tendo em conta que:


-

O utilizador deve ver o menu e seleccionar a sua opo


Enquanto no colocar dinheiro suficiente para o produto pretendido, o sistema avisa
que ainda falta dinheiro.
Assim que colocar dinheiro suficiente, a mquina deve entregar o produto e indicar o
respectivo troco.

Pag. 4 of 7

Programao de Microprocessadores Ficha de trabalho

Problema 11

Escreva uma funo que recebe 2 vectores A e B de tamanho 10 de inteiros, por parmetro. No
final da funo, o vector B deve conter o factorial de cada elemento de A. O vector B deve retornar
alterado.

Problema 12

Escreva um programa que contenha duas funes distintas:


-

Uma funo que recebe um vector X(15) de inteiros , por parmetro, e retorna a

quantidade de valores pares em X; e


Uma funo que recebe um vector X(20) de reais , por parmetro, e retorna a soma dos
elementos de X.

Problema 13

Faa um procedimento que recebe, por parmetro, um vector A(50) de reais e retorna-o ordenado
por ordem crescente.

Problema 14

Imagine que um clube de vdeo tem guardado, em um vector A de 500 posies, a quantidade de
filmes alugados pelos seus clientes durante o ano de 2010. Agora, este clube de vdeo decidiu
fazer uma promoo e, para cada 15 filmes alugados durante o ano de 2010, o cliente tem direito
a um aluguer grtis. Faa uma funo que receba o vector A por parmetro e retorna, tambm por
parmetro, um vector contendo a quantidade de alugueres gratuitos que cada cliente tem direito.

Problema 15

Faa uma funo que dada uma matriz A(5,5) e retorne a soma dos seus elementos.

Pag. 5 of 7

Programao de Microprocessadores Ficha de trabalho

Problema 16

Faa uma funo que receba, por parmetro, uma matriz A(8,8) e calcula o maior elemento da sua
diagonal principal. A seguir, a funo deve dividir todos os elementos de A pelo maior elemento
encontrado. A funo deve retornar a matriz alterada.

Problema 17

Faa uma funo que receba, por parmetro, duas matrizes A(4,6) e B(6,4) e retorna uma matriz C,
tambm por parmetro, que seja o produto matricial de M por N.

Problema 18

Escreva um programa que apresente ao utilizador um menu de opes de operaes a realizar


sobre uma dada uma matriz introduzida pelo utilizador - matriz A(10,10).

Cada opo do menu deve ser implementada numa funo. As opes so:

Trocar a diagonal principal com a secundria;


Trocar duas linhas (pedir as linhas ao utilizador);
Trocar duas colunas (pedir as colunas ao utilizador);
Trocar uma linha com uma coluna (pedir a linha e coluna ao utilizador);

Problema 19

Construa um programa que conta e imprime o nmero de ocorrncias de uma letra, fornecida
pelo utilizador, numa dada string, tambm fornecida pelo utilizador.

Problema 20

Construa um programa que pede ao utilizador:


(i) Uma string s,
(ii) Um carcter ch1,
(iii) Um carcter ch2.

Pag. 6 of 7

Programao de Microprocessadores Ficha de trabalho

O programa deve substituir todas as ocorrncias do carcter ch1 em s pelo carcter ch2.

Problema 21

Escreva uma funo que determina se uma palavra e' um palndromo.

Nota: palavra ou designativo da palavra, nmero ou frase cuja leitura a mesma, quer se faa da
esquerda para a direita, quer da direita para a esquerda; capicua;

Problema 22

Construa um programa que leia uma string s1 e uma substring s2 e depois fornea o nmero de
ocorrncias da substring s2 em uma string s1. Um exemplo de resposta que o programa deve
fornecer dado abaixo:

Escreva a string: O rato roeu a roupa do rei de Roma e a rainha de raiva roeu o rato.
Escreva a substring: ra
Numero de ocorrncias: 4

Pag. 7 of 7

You might also like