Você está na página 1de 6

UNIVERSIDADE FEDERAL DE MINAS GERAIS

INSTITUTO DE CIÊNCIAS EXATAS


DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO
Programação de Computadores – Prof. Helton

Avaliação Formativa 2 – Introdução à Programação em Python


Objetivos
Fixar os conceitos sobre variáveis, constantes e expressões aritméticas. Habilitar o aluno a projetar,
editar, compilar e executar os primeiros programas em Python
Exercício 1
Na lista de nomes de variáveis abaixo identifique nomes de variáveis inválidos e explique por que
são inválidos.
a) AREA
b) VOLUME TOTAL
c) F(X)
d) TAXA-RT
e) $AMT

Exercício 2
Na relação de valores abaixo diga se cada par de valor representa ou não o mesmo valor. Se não,
explique o porquê.
a) 2300; 2.3E04 d) 0.000007; .7E04
b) 1.0; 1. e) 110.0; 11.01E01
c) -34.7; -0.34E02 f) -0.76; 7.6E-01

Exercicio 3
Converta a equações abaixo para comandos de atribuição em Python, mantendo os mesmos nomes
de variáveis mostrados nas equações.
a) Inclinação SL de uma reta que passa pelos pontos (X1,Y1) e (X2,Y2):
b) Fator de correção em cálculo de pressão:
c) Coeficiente de fricção entre o pneu e o pavimento:
d) Distancia do centro de gravidade do plano de referencia em um setor de um cilindro oco:

e) Resistência equivalente de um circuito em paralelo:

f) Equação de analise de transferência de calor:

g) Taxa de fluxo de massa através de um bico: (


Exercicio 4
Converta as expressões a seguir para a forma algébrica.
a) Movimento uniformemente acelerado: V = (Vi*Vi+2.0*A*X)**0.5
b) Frequência de oscilação elétrica: F = 1.0/(2.0*3.141593)*(1.0/XL*C)**0.5
c) Alcance teórico de um projétil: D = 2.0*Vi**2*MATH.SIN(B)*MATH.COS(B)/G
d) Fluxo ideal de um gás compressível: F = (1.0 + (K-1.0)/2.0*M**2)**(K/(K-1.0))
e) Contração de um comprimento: L = Li*(1.0-(V/C)**2)**0.5
f) Volume de um anel de filete: PI = 3.141593
V = 2*PI*X**2*((1.0 – PI/4.0)*Y-(0.8333-PI/4.0)*X)
g) Fluxo sobre uma barragem: F = 0.35E-04*(X/Y)*MATH.SQRT(2.0*G)*(Y2 –Y)**2.5
Desafio 1
Este desafio apresenta o problema de ler os lados de um retângulo, calcular e imprimir algumas
propriedades do retângulo. Foi dada a especificação do problema, o desenvolvimento do algoritmo
e a codificação em Python. Você deverá estudar a solução, editar, compilar e executar o programa
de no ambiente do Python.

Problema
Escreva um algoritmo que leia os valores correspondentes aos lados de um retângulo, calcule e
imprima o perímetro e a área do retângulo.

Algoritmo Inicial
Algoritmo
declare variáveis
leia os lados
calcule o perímetro e a área
escreva os valores lidos e calculados
fim algoritmo

Refinamentos
ref: declare variáveis
declare LadoBase, LadoAltura, Perimetro, Area numérico
fim ref.

ref: leia os lados


leia LadoBase, LadoAltura
fim ref.

ref: calcule o perímetro e a área


Perímetro ← 2 × (LadoBase + LadoAltura)
Area ← LadoBase × LadoAltura
fim ref.

ref: escreva os valres lidos e calculados


escreva LadoBase, LadoAltura, Perimetro, Area
fim ref.

Algoritmo Final
1 Algoritmo
2 {declaração de variáveis }
3 declare LadoBase, LadoAltura, Perimetro, Area numérico
4 {leitura dos lados }
5 Leia LadoBase, LadoAltura
6 {cálculo do perímetro e da área }
7 Perímetro ← 2 × (LadoBase + LadoAltura)
8 Area ← LadoBase × LadoAltura
10 {Listagem dos valores lidos e calculados}
11 escreva LadoBase, LadoAltura, Perimetro, Area
12 fim algoritmo.
Programa em Python
1 # Programa para calcular perímetro e área de um retangulo
2 # leitura dos lados do retangulo
3 ladoBase = input("Digite o valor do lado base: ")
4 ladoBase = float(ladoBase)
5 ladoAltura = input ("Digite o valor do altura: ")
6 ladoAltura = float(ladoAltura)
7 # Calculo da área e o perimetro
8 área = ladoBase * ladoAltura
9 perímetro = 2 * (ladoBase + ladoAltura)
10 # Listagem dos valores lidos e calculados
11 print("\n Valores lidos ")
12 print("\n Lado base: ", ladoBase,
13 "\n Lado altura: ", ladoAltura)
14 print("\n Valores Calculados ")
15 print("\n Área: ", área,
16 "\n Perímetro: ", perímetro)
17 print("\n Programa executado com sucesso")
Atividades:
1. Carregue o ambiente Python, crie um arquivo novo, abra a tela do editor e edite o programa
acima, e execute (Run>Run Module)
2. Inclua declarações e comandos necessários (no algoritmo e no programa em Python) para
que seja calculado e exibido o valor da diagonal do retângulo.
Dica: Em Python para avaliar x  y usa-se a função “sqrt” assim: x = math.sqrt(y) .Para
usar as funções aritméticas da classe math é preciso colocar o comando import math no
inicio do programa.
3. Crie um documento (veja modelo do documento na última pagina abaixo) contendo, para o
desafio 1: a proposta do problema a ser resolvido; o texto final do algoritmo modificado, o
texto fonte do programa em Python, e as saídas exibidas para os seguintes valores:
Base Altura
0,4 0,7
11,9 12,1
36,5 46,8
Desafio 2
Tomando como referência o problema do desafio 1, desenvolva a solução (Algoritmo e Programa
em Python para o seguinte problema:

Problema da Caixa
Um carpinteiro deseja construir uma caixa divida ao meio por uma divisória colocada em diagonal
conforme mostrado na figura abaixo. A caixa é aberta na parte de cima. A caixa e a divisória
deverão ser feita a partir de uma placa de compensado. Ele precisa calcular o tamanho (isto é, a
área) da placa de compensado necessária para a construção da caixa com a divisória. Como ele
sempre faz caixas desse tipo, com dimensões diferentes, ele deseja que você escreva um programa
que calcule o tamanho (ou área) da placa de compensado necessária, sendo que cada vez que ele
rodar o programa ele deverá fornecer a altura, a largura e o comprimento da caixa em milímetros. O
programa deverá emitir um relatório contendo as seguintes informações sobre a caixa:

CARACTERÍSTICAS DA CAIXA

ALTURA: 999... mm
LARGURA: 999... mm
COMPRIMENTO: 999... mm
ÁREA DA SUPERFÍCIE DE APOIO: 99.99... m2
VOLUME TOTAL: 99.99... m3
VOLUME POR COMPARTIMENTO: 99.99... m3
ÁREA DE MATERIAL NECESSÁRIO: 999... m2

Atividades:

1. Projetar o algoritmo para resolver o problema, usando a técnica do refinamento sucessivo.


2. Codificar e testar o algoritmo em linguagem Python.
3. Incluir no documento a proposta do desafio 2, todos os passos do processo de refinamento
(algoritmo inicial, refinamentos e algoritmo final), o texto do programa em Python
(contendo o algoritmo na forma de comentário) e as saídas produzidas para os seguintes
valores:

Dimensões de Caixas (em mm)


Largura Comprimento Altura
100 100 100
66 79 105
51,8 123,79 24,65

O que deve ser entregue


Um arquivo contendo documento que apresente as informações pedidas em cada atividade. O
documento deve ter cabeçalho, nome do aluno, turma, etc., conforme o modelo abaixo. Cada aluno
deverá entregar uma cópia do documento do sitio www.minha.ufmg.br. Não serão aceitos
trabalhos enviados através de mensagens.
Modelo de relatório
Programação de Computadores
Avaliação Formativa 2
Introdução à Programação em Python

Aluno(a): [ Coloque seu nome aqui ]. Turma [? ]

Exercicio 1
a)
b)
c)
d)
e)

Exercicio 2
a)
b)
c)
d)
e)
.
.
.

Exercicio 3
a)
b)
c)
d)
e)
.
.
.

Exercicio 4
a)
b)
c)
d)
e)
.
.
.
.
Desafio 1

1 – Descrição o problema
....................................

2- Algoritmo final modificado


..................................

3- Programa em Python
...................................

4- Dados e resultados dos testes realizados


...............................

Desafio 2
1 – Descrição o problema
....................................

2- Algoritmo desenvolvido com refinamentos


..................................

3- Programa em Python
...................................

4- Dados e resultados dos testes realizados


...............................