Você está na página 1de 2

Universidade Federal do Cear Centro de Tecnologia

Atividade de Laboratrio 2015.1


Programao Computacional para Engenharias / Introduo Programao
Prof. Tarcisio Ferreira Maciel, Dr.-Ing.

Objetivos:

Elaborar programas utilizando estruturas condicionais simples, compostas e aninhadas.


Elaborar programas utilizando estruturas de repetio.
Exceto quando explicitamente informado de forma diferente, necessrio validar os dados de entrada.

Para cada questo da atividade, comece criando uma aplicao do tipo Console application seguindo o
passo-a-passo disponibilizado online. Em seguida, modifique o programa Hello World! para resolver uma
questo. Cada projeto dever ser chamado QuestaoXX, onde XX o nmero da questo.
Exerccio 1. Uma progresso aritmtica uma sequncia de nmeros da forma an+1 = an + r, onde o termo
inicial a0 e a razo r da srie so conhecidos. Escreva um programa que leia via teclado o termo inicial a0 , a razo
r e uma quantidade de termos N da srie. O programa deve ento imprimir na tela os N termos da srie.
Exerccio 2. Uma progresso geomtrica uma sequncia de nmeros da forma an+1 = an q , onde o termo
inicial a0 e a razo q da srie so conhecidos. Escreva um programa que leia via teclado o termo inicial a0 , a razo
q e uma quantidade de termos N da srie. O programa deve ento imprimir na tela os N termos da srie.
Exerccio 3. Uma progresso aritmtica uma sequncia de nmeros da forma an+1 = an + r, onde o termo
inicial a0 e a razo r da srie so conhecidos. Escreva um programa que leia via teclado o termo inicial a0 , a razo
r e uma quantidade de termos N da srie. O programa deve ento imprimir na tela a soma dos N termos da srie.
No utilize a frmula da soma dos termos.
Exerccio 4. Uma progresso geomtrica uma sequncia de nmeros da forma an+1 = an q , onde o termo
inicial a0 e a razo q da srie so conhecidos. Escreva um programa que leia via teclado o termo inicial a0 , a razo
q e uma quantidade de termos N da srie. O programa deve ento imprimir na tela a soma dos N termos da
srie. No utilize a frmula da soma dos termos.
1
Exerccio 5. Considerando a equao do movimento uniformemente variado s = s0 + v0 t + at2 , escreva um
2
programa que leia a posio inicial s0 , a velocidade inicial v0 , a acelerao a e que calcule e imprima a posio
final s em funo do tempo t para t [0, 30] s com passo de 1 s.
Exerccio 6. Escreva um programa que avalie o resultado do jogo "Pedra, Papel e Tesoura". O programa deve ler
a escolha de dois jogadores como inteiros no-negativos de 16 bits de acordo com os valores Pedra (1), Papel (2)
e Tesoura (3). As regras so: Papel vence Pedra, Tesoura vence Papel e Pedra vence Tesoura. Escolhas iguais para
os jogadores resultam em empate. O programa deve imprimir uma mensagem indicando "Jogador 1 venceu.",
"Jogador 2 venceu.", ou "Empate."de acordo com o caso. Ao final do programa, pergunte "Jogar novamente (S p/
Sim)?". Em caso afirmativo, o jogo deve ser repetido, caso contrrio o programa deve ser finalizado.
Exerccio 7. Escreva um programa que imprima uma sequncia de nmeros inteiros seguindo as seguintes
regras. Leia um nmero inteiro n pelo teclado entre 1 e 106 . Se n for par, divida-o por 2 gerando assim um novo
valor para n. Se n for mpar, multiplique-o por 3 e some 1, gerando assim um novo valor para n. Repita este
processo com o novo valor de n at que n = 1.
Exerccio 8. Um nmero positivo considerado triangular se ele for o produto de trs nmeros consecutivos
no-nulos. Por exemplo 120 = 4 5 6 triangular. Escreva um programa que leia um nmero inteiro N pelo
teclado e determine se ele ou no triangular imprimindo uma mensagem adequada em cada caso.
Exerccio 9. Faa um programa que determine o mximo divisor comum (MDC) de dois inteiros positivos x e y
pelo algoritmo de Euclides, onde x > y :

i. Divida x por y e obtenha o resto r1 . Se r1 for zero, o MDC entre x e y r1 .

ii. Se r1 no for zero, divida y por r1 e obtenha um resto r2 . Se r2 for zero, o MDC entre X e Y r1 .
iii. Se r2 no for zero, divida r1 por r2 e obtenha o resto r3 . Se r3 for zero, o MDC entre X e Y r2 e assim por
diante.

Exerccio 10. Escreva um programa que leia um inteiro no-negativo de 16 bits e utilizando estruturas de
repetio imprima os seus bits do mais significativo para o menos significativo em linhas distintas na tela.
Sugesto: utilize os operadores % e / ou ainda os operadores & e >>.
Exerccio 11. Em sistemas de comunicao digital, uma sequncia de dados (bits) e normalmente mapeada em
um conjunto de smbolos compostos de B bits antes da transmisso. Considere um sistema cujo nmero B de
bits por smbolo B = 2 e cujos smbolos portanto assumem os valores de 0 a 3 (002 , 012 , 102 , 112 ). Escreva
um programa que leia um caractere e utilizando estruturas de repetio imprima o valor dos 4 smbolos de 2 bits
formados pelos bits do caractere comeando dos dois bit menos significativo para os dois mais significativos.
Sugesto: utilize os operadores & bit-a-bit e o operador >> de deslocamento de bits.
Exerccio 12. Em diversas situaes, torna-se necessrio criar variveis que basicamente indicam se uma ou
mais opes especficas esto ativas ou no. Vrias destas opes podem ento ser combinadas em uma nica
varivel inteira, e.g., opcoes utilizando o operador bit-a-bit ou, |. A presena do bit ativo (1) na varivel opcoes
correspondente a uma opo especfica indica que a mesma esta ativa e a ausncia do bit (0) indica que a
opo inativa est inativa, condies que podem ser identificadas com o uso do operador bit-a-bit &. Escreva
um programa que leia um inteiro no-negativo de 16 bits que receba um nmero entre 0 e 255. Sabendo que
cada bit do nmero lido representa uma disciplina, imprima a partir do mesmo as disciplinas onde o aluno est
matriculado. Por exemplo, se o bit menos significativo (bit 0) estiver ativo (1), imprima "Matriculado na disciplina
1.". Se o mesmo estiver inativo (0), imprima "No matriculado na disciplina 1.". Proceda da mesma forma at o bit
mais significativo (bit 7). Utilize estruturas de repetio.

Você também pode gostar