Você está na página 1de 7

UNIVERSIDADE POTIGUAR – UNP

DEPARTAMENTO DE ENGENHARIAS E CIÊNCIAS EXATAS


ENGENHARIA DE COMPUTAÇÃO – 1º ANO
Algorítimos
PROFESSOR: Álax

EXERCÍCIOS PROPOSTOS – II UNIDADE

RENATO MONTEIRO BATISTA

NATAL
JUNHO/2001
EXERCÍCIOS PROPOSTOS – II UNIDADE
1 – Faça um programa que o usuário entre com o dia e o mês do nascimento e o
programa informe o signo da pessoa.
Programa signos;
var
s:conjunto[1...12] de inteiro;
di:conjunto[1...12] de inteiro;
dn,mn:inteiro;
início
s[1] ¬ "Aquario";
s[2] ¬ "Peixes";
s[3] ¬ "Áries";
s[4] ¬ "Touro";
s[5] ¬ "Gêmeos";
s[6] ¬ "Câncer";
s[7] ¬ "Leão";
s[8] ¬ "Virgem";
s[9] ¬ "Libra";
s[10] ¬ "Escorpião";
s[11] ¬ "Sargitário";
s[12] ¬ "Capricórnio";
di[1] ¬ 21;
di[2] ¬ 20;
di[3] ¬ 21;
di[4] ¬ 21;
di[5] ¬ 21;
di[6] ¬ 21;
di[7] ¬ 22;
di[8] ¬ 23;
di[9] ¬ 23;
di[10] ¬ 23;
di[11] ¬ 22;
di[12] ¬ 22;
escreva “Entre com o dia e o mês do seu nascimento”;
leia dn,mn;
se (dn >= di[mn]) então
escreva “O seu signo é”,s[mn]
senão
se (mn > 1) então
escreva “O seu signo é”,s[mn-1]
senão
escreva “O seu signo é”,s[12];
fim_se;
fim_se;
fim.
2 – Faça um programa que leia um número na base 2 e imprima o correspondente
na base 10.
Programa binario;
var
d:conjunto[1...20] de inteiro;
i,n,num,cont,soma,exp:inteiro;
início
escreva “Entre com a quantidade de dígitos”;
leia n;
para i de 1 até n passo 1 faça
repita
escreva “Entre com o dígito”,i;
leia d[i];
até_que ((d[i] = 0) .ou. (d[i] = 1));
fim_para;
exp ¬ 0;
num ¬ 0;
cont ¬ n-1;
soma ¬ 0;
escreva “O número binário digitado foi:”;
para i de 1 até n passo 1 faça
escreva d[i];
exp ¬ 2^cont;
num ¬ d[i] * exp;
soma ¬ soma + num;
cont ¬ cont - 1;
fim_para;
escreva “O número decimal correspondente é:”,soma;
fim.
3 – Faça um programa que leia um vetor A de 30 elementos, e um vetor B de 30
elementos e, em seguida, construa um vetor C com 60 elementos tal que o 1º
elemento do C é o 1º de A, o 2º de C é o 1º de B, o 3º de C é o 2º de A, etc. E
imprima o vetor C.
Programa vetores;
var
a:conjunto[1...30] de inteiro;
b:conjunto[1...30] de inteiro;
c:conjunto[1...60] de inteiro;
ele,i:inteiro;
início
para i de 1 até 30 passo 1 faça
escreva “Entre com o elemento”,i,“do conjunto A”;
leia a[i];
fim_para;
para i de 1 até 30 passo 1 faça
escreva “Entre com o elemento”,i,“do conjunto B”;
leia b[i];
fim_para;
para i de 1 até 60 passo 1 faça
se (i mod 2 = 1) então
ele ¬ (i+1)/2;
c[i] ¬ a[ele]
senão
ele ¬ i/2;
c[i] ¬ b[ele];
fim_se;
escreva “C[”,i,“]=”,c[i];
fim_para;
fim.

4 – Faça um programa que leia um vetor com N elementos e imprima os números


pares das posições pares.
Programa pares;
v:conjunto[1...200] de inteiro;
n,i:inteiro;
início
escreva “Entre com o número de elementos”;
leia n;
para i de 1 até n passo 1 faça
escreva “Entre com o número da posição”,i;
leia v[i];
fim_para;
para i de 2 até n passo 2 faça
se (v[i] mod 2 = 0) então
escreva v[i];
fim_se;
fim_para;
fim.
5 – Faça um programa que leia (4 < N < 2000) e imprima todos os números pares
entre 4 e N, como a soma de dois números primos, exemplo: (4 = 2+2, 6 = 3+3, 8 =
5+3, 10 = 7+3, 12 = 5+7, etc...)
Programa primos;
var
primo:conjunto[1...304] de inteiro;
n,i,j,k,r,pv,p1,p2,cont:inteiro;
início
repita
escreva “Entre com um número entre 4 e 2000”
leia n;
até_que ((n>=4) .e. (n<=2000));
pv=1;
primo[1]=1;
para i de 2 até n passo 1 faça
cont ¬ 0;
para j de 1 até i passo 1 faça
r ¬ i mod j;
se (r=0) então
cont ¬ cont + 1;
fim_se;
fim_para;
se (cont = 2) então
pv ¬ pv + 1;
primo[pv] ¬ i;
fim_se;
fim_para;
para i de 4 até n passo 2 faça
p1 ¬ 0;
p2 ¬ 0;
para j de 1 até pv passo 1 faça
para k de 1 até j passo 1 faça
se (primo[j]+primo[k] = i) então
p1 ¬ primo[j];
p2 ¬ primo[k];
fim_se;
fim_para;
se (p2 > 0) então
escreva i,“=”,p1,“+”,p2;
j ¬ pv;
fim_se;
fim_para;
fim_para;
fim.
6 – Faça um programa que leia uma matriz NxM e imprima:
- O maior elemento;
- Sua posição na matriz.
Programa matriz;
var
c:conjunto[1...20,1...20] de inteiro;
n,m,i,j,maior,pi,pj:inteiro;
início
escreva “Entre com o número de linhas”;
leia n;
escreva “Entre com o número de colunas”;
leia m;
para i de 1 até n passo 1 faça
para j de 1 até m passo 1 faça
escreva “Informe o elemento da posição:”,i,“x”,j;
leia c[i,j];
fim_para;
fim_para;
pi ¬ 1;
pj ¬ 1;
maior ¬ c[1,1];
para i de 1 até n passo 1 faça
para j de 1 até m passo 1 faça
se (c[i,j] > maior) então
maior ¬ c[i,j];
pi ¬ i;
pj ¬ j;
fim_se;
fim_para;
fim_para;
escreva “O maior elemento é=”,maior;
escreva “E está localizado na linha=”,pi,“coluna”,pj;
fim.
7 – Faça um programa que leia um cartão de loteria esportiva (com 13 jogos),
cada palpite poderá ter um jogo simples, duplo ou triplo. Imprima a quantidade de
palpites duplos e triplos.
Programa esportiva;
var
m:conjunto[1...13,1...3] de char;
i,j,duplos,triplos,jogo:inteiro;
início
para i de 1 a 13 passo 1 faça
para j de 1 a 3 passo 1 faça
escreva “Tecle X para jogar na coluna”,j,“do palpite”,i;
escreva “Ou tecle <ENTER> para não jogar”;
leia m[i,j];
fim_para;
fim_para;
duplos ¬ 0;
triplos ¬ 0;
para i de 1 a 13 passo 1 faça
jogo ¬ 0;
para j de 1 a 3 passo 1 faça
se (m[i,j] = “X”) então
jogo ¬ jogo + 1;
fim_se;
fim_para;
se (jogo = 2)
duplos ¬ duplos + 1
senão
se (jogo = 3) então
triplos ¬ triplos + 1;
fim_se;
fim_se;
fim_para;
escreva “Palpites duplos=”,duplos;
escreva “Palpites triplos=”,triplos;
fim.

Você também pode gostar