Você está na página 1de 6

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE

Departamento de Informática e Matemática Aplicada

Algoritmo e programação de computadores — DIM0320 — 2 de agosto de 2016


C Exercı́cios - parte 1 B

Observação sobre os exercı́cios


Tanto na lista de exercı́cios como nas provas, haverá alguns exemplos em caixas cinzas. Para
facilitar a compreensão dos exemplos, o que estiver em negrito representa o que o usuário digita.
Veja por exemplo as questões 17, 22, 23, 24 e 25.

Programando em Python
1. Descreva uma forma de abrir e sair do bash no Linux. Descreva uma forma de abrir e sair
do shell do Python no Linux.

2. Abra o shell do Python para programar interativamente e digite:


1 a = 3
2 b = 5
3 print a + b

Identifique nesse código as variáveis, seus respectivos valores, tipos e endereços (use as
funções hex e id).

Variáveis
3. Quais os valores possı́veis para variáveis do tipo bool?

4. O que é uma String? Como expressá-las em Python?

5. Como converter um valor numérico para String? Como converter uma String para um
valor numérico?

Operadores
6. Qual a diferença entre os operadores = e ==?

7. Para cada expressão a seguir, (1) descreva os operadores, (2) escreva o valor e o tipo de
cada operando e (3) o valor e o tipo do valor resultante de cada operação. Por exemplo:
- 3*2
Operador: * multiplica os operandos
Operandos: 3 (inteiro), 2 (inteiro)
Resultado: 6 (inteiro)

− 3+5
− 5/2
Exercı́cios Unidade I - Algoritmos UFRN/DIM0320/2016.1

− 5.2/2
− 13%7
− 9>3
− 9 > 3 or 5 < 2
− 7 == 3 and 3 != 2
− 3 + 1 == 4
− ’Ser ou ’ + ’não ser’
− not 3 == 2

8. Qual o valor final da variável a no seguinte programa?


1 a = 2
2 a += 4
3 a *= 3
4 a %= 7

9. Avalie cada uma das seguintes expressões para todas as possibilidades de valoração:

− a
− not a
− a and b
− a or b
− (a and not b) or (b and not a)
− (a or b) and (a and not c)

10. Ao escrever um algoritmo, um aluno precisou verificar se um determinado número n é


múltiplo de 3, não é múltiplo de 5 e é diferente 0. Escreva a expressão lógica que avalia
essa restrição.

Interpretação de códigos

11. Indique o(s) erro(s) de sintaxe (ou semânticos) dos seguintes códigos e realize as correções
necessárias (exceto do primeiro):

Código 1: soma 5
1 a = input ()
2 b = input ()
3 a + b = 5

Código 2: soma de dois números


1 a = input ()
2 b = input ()
3 print a + b

Código 3: raiz quadrada de 9


1 print sqrt (9)

Página 2
Exercı́cios Unidade I - Algoritmos UFRN/DIM0320/2016.1

Código 4: soma de dois números com uma mensagem


1 a = input ()
2 b = input ()
3 print ’ Soma dos numeros : ’ + ( a + b )

12. O seguinte código não contém erros nem de sintaxe nem de semântica, porém não escreve
o que deveria. O que há de errado?
1 a = input ( ’ Digite um primeiro numero ’)
2 b = input ( ’ Digite um segundo numero ’)
3 print ’ Quadrado das somas : ’ , a + b * a + b

13. Identifique nos códigos abaixo: (1) operadores relacionais (2) expressões lógicas (3) ope-
radores aritméticos (4) operadores de atribuição (5) valores numéricos (6) variáveis (7)
chamadas de funções (8) strings

Código 5: raı́zes de equação de segundo grau


1 import math
2 a, b, c = 1, 4, 1
3 delta = b * b - 4* a * c
4 duasRaizes = delta > 0
5 umaRaiz = delta == 0
6 nenhumaRaiz = delta < 0
7
8 x1 = ( - b + math . sqrt ( delta ))/(2* a )
9 x2 = ( -b - math . sqrt ( delta ))/(2* a )
10 print ’ As raizes sao : ’ , x1 , x2

Código 6: verificação da existência de um triângulo


1 ladoA = input ()
2 ladoB = input ()
3 ladoC = input ()
4 condicao1 = ladoA < ladoB + ladoC
5 condicao2 = ladoB < ladoA + ladoC
6 condicao3 = ladoC < ladoA + ladoB
7 print ’O triangulo existe ? ’ , condicao1 and condicao2 and condicao3

14. O que faz o seguinte programa em termos de significado?


1 print ’ Digite 3 numeros inteiros ’
2 a , b , c = input () , input () , input ()
3 print (( a != b ) and ( b == c )) or (( b != c ) and ( a == c )) or (( a != c ) and ( c == b ))

Chamada de Funções

15. Em relação à chamada de funções, qual a diferença entre parâmetros e argumentos?

16. Realize uma pesquisa para descrever cada uma das seguintes funções, o tipo de cada
parâmetro da função e o tipo do retorno. Teste cada uma delas.

− randint (biblioteca random)


− uniform (biblioteca random)

Página 3
Exercı́cios Unidade I - Algoritmos UFRN/DIM0320/2016.1

− factorial (biblioteca math)


− degrees (biblioteca math)
− isinf (biblioteca math)

Prática de programação

17. Escreva um programa em Python que escreva na tela o número de centenas, dezenas e
unidades de um número inteiro digitado pelo usuário. Escreva uma mensagem antecedendo
cada um dos números. Por exemplo:
Digite um número: 2387
Centenas: 23
Dezenas: 238
Unidades: 2387
18. Escreva um programa em Python que leia um número x do usuário e escreva na tela o
resultado de uma expressão lógica envolvendo x que avalia para o valor verdadeiro se, e
somente se, o valor de x for par ou não for maior do que 11, mas não ambos.

19. Escreva um programa em Python que leia 3 números inteiros a, b e c e escreva na tela o
resultado da seguinte expressão (sem simplificá-la):

(3a + 2b)
c− c(a+b)2
c− √
b

20. Escreva um programa em Python para escrever informações de uma equipe de futebol em
duas partidas. O programa deve ler, nessa ordem: o nome do time, o número de gols dessa
equipe na primeira partida, o número de gols do adversário na primeira partida, o número
de gols dessa equipe na segunda partida e o número de gols do adversário na segunda
partida. Em seguida, o programa deve escrever na tela o nome do time, o número de gols
feitos, o número de gols tomados, o saldo de gols e se o saldo de gols é maior que 0.

21. Escreva um programa em Python que leia 3 notas de um aluno, os respectivos pesos e
escreva na tela a média ponderada.

22. Escreva um programa em Python que leia três números inteiros A, B e C. Em seguida,
escreva se é verdade que um dos números é a soma dos outros dois.
Digite A: 3
Digite B: 5
Por exemplo:
Digite C: 2
Resposta: True

23. Escreva um programa em Python que leia três medidas e escreva na tela o resultado de
uma expressão lógica que avalia a possibilidade de formar um triângulo não degenerado
com essas medidas. Para que seja possı́vel formar um triângulo é necessário que a soma
de quaisquer dois lados seja maior que o terceiro lado.

Página 4
Exercı́cios Unidade I - Algoritmos UFRN/DIM0320/2016.1

Digite a primeira medida: 5


Digite a segunda medida: 4
Exemplo 1:
Digite a terceira medida: 3
Resultado: True

Exemplo 2 (veja que a soma da segunda e terceira medida não é maior que a primeira):
Digite a primeira medida: 10
Digite a segunda medida: 4
Digite a terceira medida: 5
Resultado: False

24. Escreva um programa que leia as coordenadas de duas torres no tabuleiro de xadrez e
escreva o valor da expressão lógica que representa o fato de que uma torre está atacando a
outra. O movimento da torre é horizontal ou vertical e, portanto, uma torre ataca a outra
se estiverem na mesma coluna ou na mesma linha. Suponha que não há nenhuma outra
peça no tabuleiro.

Digite a linha da primeira torre: 4


Digite a coluna da primeira torre: 4
Exemplo 1: Digite a linha da segunda torre: 7
Digite a coluna da segunda torre: 7
Resultado: False
Digite a linha da primeira torre: 3
Digite a coluna da primeira torre: 5
Exemplo 2: Digite a linha da segunda torre: 1
Digite a coluna da segunda torre: 5
Resultado: True
25. Escreva um programa em Python que leia a velocidade inicial v de um objeto lançado
do ponto (0m, 0m) em um ângulo α (em relação ao eixo x e fornecido pelo usuário em
radianos) e no instante de tempo t = 0s. O programa deve em seguida ler do usuário um
tempo t e escrever na tela a posição (x, y) do objeto nesse instante de tempo. Utilize as
seguintes fórmulas:

x = v cos(α)t
gt2
y = v sen(α)t −
2

Página 5
Exercı́cios Unidade I - Algoritmos UFRN/DIM0320/2016.1

onde g = 9, 8m/s2 .

Digite a velocidade inicial (m/s): 90


Digite o angulo inicial (radianos): 0.78
Exemplo:
Digite o instante de tempo (segundos): 6.5
O objeto esta em: 415.884430 204.393448

Página 6

Você também pode gostar