Vous êtes sur la page 1sur 8

1.

Realiza as seguintes converses entre sistemas de numerao:

1.1 Do nmero 8910 para o sistema binrio (2).

89/2=44 (resto 1); 44/2=22 (0); 22/2=11 (0); 11/2=5 (1); 5/2=2 (1)
2/2=1 (0)

8910=10110012

1.2 Do nmero 9AF 16 para o sistema binrio (2).

9AF16=9*16^2+10*16^1+15*16^0=247910

2479/2=1239(1); 619(1); 309(1); 154(1); 77(0); 38(1); 19(0); 9(1); 4(1); 2(0)
2/2=1 (0)

9AF16=247910= 1001101011112

Confere os resultados obtidos atravs do Matlab.

>> dec2bin(89)

1011001

>> hex2dec('9AF')

2479

>> dec2bin(2479)

100110101111
2. Elabora um algoritmo (pseudocdigo e fluxograma) que pea ao utilizador para
escrever um nmero inteiro representando segundos e imprima o valor
correspondente em horas, minutos e segundos.

Exemplo: 3662 s 1h 1m 2s

Pseudocdigo

Variveis N, H, M, S : Inteiros ;
Incio
Escrever(Escreva um nmero inteiro representando segundos:)
Ler(N)
Hparte inteira(N/3600);
Mparte inteira((N-H*3600)/60);
SN-H*3600-M*60;
Escrever(valorh valorm valors, H, M, S)
Fim

Fluxograma

Implementa em Matlab.

N=input('Escreva um nmero inteiro representando segundos:\n');


H=floor(N/3600);
M=floor((N-H*3600)/60);
S=N-H*3600-M*60;
fprintf('%dh %dm %ds\n', H, M, S)
3. Calcula e apresenta a mdia dos pesos de uma srie de artigos, cujos valores so
introduzidos pelo utilizador. A srie de valores a introduzir termina quando se tenha
atingido um mximo de 10 artigos ou se o somatrio dos pesos ultrapassar 1000.

Pseudocdigo

Variveis Peso, Somatorio, Media : Reais ;


Contador: Inteiro;
Incio
Contador 1;
Somatorio 0;
Enquanto Somatorio<=1000 & Contador<11
Fazer Escrever*Introduza o peso do artigo:]
Ler[Peso]
Somatorio Somatorio+Peso;
Media Somatorio/Contador;
Contador Contador+1;
FimFazer
Escrever(A mdia dos artigos : valor, Media)
Fim

Fluxograma

Matlab

Contador=1;
Somatorio=0;
while Somatorio<=1000 & Contador<11
Peso=input('Introduza o peso do artigo:\n');
Somatorio=Somatorio+Peso;
Media=Somatorio/Contador;
Contador=Contador+1;
end
fprintf('A mdia dos artigos : %f.\n',Media)
4. Pretendemos um programa que pea ao utilizador que introduza sucessivas vezes um
peso inferior a 100 e que v calculando o respectivo somatrio. Um peso s poder ser
adicionado ao somatrio se for inferior a 100. O somatrio vai sendo escrito no ecr
at que o seu valor atinja ou ultrapasse 500. Uma vez terminado o ciclo, deve ser
escrito no ecr quantos pesos vlidos foram introduzidos e qual a mdia dos pesos
considerados vlidos.

Pseudocdigo

Variveis Peso, Somatorio, Media : Reais ;


Contador: Inteiro;
Incio
Contador 0;
Somatorio 0;
Enquanto Somatorio<500
Fazer Escrever*Introduza um peso inferior a 100:]
Ler[Peso]
Se Peso<100
Ento
Somatorio Somatorio+Peso;
Escrever*O somatrio actual : valor, Somatorio]
Contador Contador+1;
Seno
Escrever*O peso que introduziu no inferior a 100.+
FimSe
FimFazer
Media Somatorio/Contador;
Escrever(Foram introduzidos valor pesos vlidos e a mdia : valor, Contador, Media)
Fim

Fluxograma
Matlab

Contador=0;
Somatorio=0;
while Somatorio<500
Peso=input('Introduza um peso inferior a 100:\n');
if Peso<100
Somatorio=Somatorio+Peso;
fprintf('O somatrio actual : %f.\n',Somatorio)
Contador=Contador+1;
else
fprintf('O peso que introduziu no inferior a 100.\n')
end
end
Media=Somatorio/Contador;
fprintf('Foram introduzidos %d pesos vlidos e a mdia :
%f.\n',Contador,Media)
5. Elabora um algoritmo (pseudocdigo e fluxograma) que permita determinar se um
tringulo, dados os seus lados, ou no rectngulo. Nota: para um tringulo ser
rectngulo necessrio que se verifique o teorema de Pitgoras:

hip^2 = c1^2 + c2^2

Pseudocdigo

Variveis L1, L2, L3, hip, c1, c2 : Reais ;


Incio
Escrever*Introduza lado 1:]
Ler[L1]
Escrever*Introduza lado 2:]
Ler[L2]
Escrever*Introduza lado 3:]
Ler[L3]
L[L1 L2 L3];
hipMximo(L);
indhipIndce do Mximo(L);
Seleccionar Caso indhip
1: c1L(2); c2L(3);
2: c1L(1); c2L(3);
3: c1L(1); c2L(2);
FimSeleccionar
Se hip^2==c1^2+c2^2
Ento
Escrever*O tringulo rectngulo.]
Seno
Escrever*O tringulo no rectngulo.]
FimSe
Fim

Fluxograma
Implementa em Matlab.

L1=input('Introduza lado 1:\n');


L2=input('Introduza lado 2:\n');
L3=input('Introduza lado 3:\n');

L=[L1 L2 L3];
hip=max(L);
indhip=find(L==hip)

switch indhip
case 1
c1=L(2); c2=L(3);
case 2
c1=L(1); c2=L(3);
case 3
c1=L(1); c2=L(2);
end

if hip^2==c1^2+c2^2
fprintf('O tringulo rectngulo.')
else
fprintf('O tringulo no rectngulo.')
end
6. Escreve um programa que verifique a validade de uma senha fornecida pelo usurio.
A senha vlida a palavra benfica (em minsculas).

Pseudocdigo

Variveis senha, senhavalida: Strings ;


Incio
senhavalidabenfica;
Escrever*Introduza senha:]
Ler[senha]
Se senha==senhavalida
Ento
Escrever*Senha vlida.+
Seno
Escrever*Senha no vlida.+
FimSe
Fim

Fluxograma

Matlab

senhavalida='benfica';

senha = input ('Introduza senha:\n', 's');

if strcmp(senha,senhavalida)==1
fprintf ('Senha vlida.\n')
else
fprintf ('Senha no vlida.\n')
end

Vous aimerez peut-être aussi