Você está na página 1de 16

Processamento da Informação – P1 – Aula 1

Introdução à Programação de Computadores e Algoritmos Computacionais

1. Um computador executa PROGRAMAS


2. O Sistema Computacional depende do Hardware (computador) e do Software (programas)
3. Programas são escritos em determinadas linguagens e são “traduzidos” para que o computador possa executar
4. Um programa geralmente possui 3 partes distintas: a entrada de dados, o processamento e a saída de dados
5. A arquitetura básica de um computador é composta pelos: dispositivos de entrada e saída de dados, pela CPU (unidade
central de processamento) que engloba a unidade de controle e a unidade lógica e aritmética, e a memória principal.
6. As rotinas do dia-a-dia podem ser descritas na forma de Algoritmos
7. Escrever algoritmos é mais ou menos como escrever um MANUAL para que alguém execute uma tarefa
8. Um algoritmo computacional (para ser executado por um computador) precisa seguir alguns padrões de linguagem
9. A construção de algoritmos a partir de um enunciado de um problema requer técnicas de compreensão e refinamento da
solução
 Qual a SAÍDA de dados requerida?
 Qual a ENTRADA de dados necessária?
 Qual o PROCESSAMENTO necessário para transformar ENTRADA em SAÍDA?
10. Os tipos de dados básicos são:
 Inteiro - armazena números inteiros
 Real - armazena números com casas decimais
 Logico - armazena verdadeiro ou falso
 Caracter - armazena UMA letra ou UM caracter especial, etc.
 Cadeia - armazena VÁRIAS letras ou caracteres

ATENÇÃO- Para cada um dos exercícios abaixo, antes de escrever o algoritmo, identifique
ENTRADA, PROCESSAMENTO e SAÍDA, utilizando a seguinte técnica de interpretação de
enunciado:

1. Leia um número inteiro e escreva seu sucessor e antecessor.

- SAÍDA: Quais os resultados que o algoritmo dever fornecer ?


Sucessor e antecessor de um número inteiro.
- ENTRADA: Quais os insumos necessários para se obter a saída?
Um número inteiro (Z).
- PROCESSAMENTO: Como transformar os insumos na saída?
Sucessor=Z+1
Antecessor=Z-1

---------- PROGRAMA – PORTUGOL ----------


programa
{
funcao inicio()
{
//DECLARAÇÃO DE VARIÁVEIS
inteiro z, ant, suc
// ENTRADA
escreva ("Digite um número inteiro:\n")
leia (z)

// PROCESSAMENTO
ant = z - 1
suc = z + 1
// SAÍDA
escreva ("\nAntecessor: " + ant)
escreva ("\nSucessor: " + suc)
}
}

2. Leia dois números e escreva o dividendo, divisor, quociente e resto.


- SAÍDA: Quais os resultados que o algoritmo dever fornecer ?
O dividendo, divisor, quociente e resto entre dois números.
- ENTRADA: Quais os insumos necessários para se obter a saída?
Dois números (n1 e n2).
- PROCESSAMENTO: Como transformar os insumos na saída?
Dividendo = n1
Divisor = n2
Quociente = n1/n2
Resto = n1 – (n2*Quociente)

---------- PROGRAMA – PORTUGOL ----------


programa
{
funcao inicio()
{
//DECLARAÇÃO DE VARIÁVEIS
inteiro n1, n2, divid, divis, quoc, resto
// ENTRADA
escreva ("Digite o primeiro número inteiro:\n")
leia (n1)
escreva ("Digite o segundo número inteiro:\n")
leia (n2)
// PROCESSAMENTO
divid = n1
divis = n2
quoc = n1 / n2
resto = n1 % n2
// SAÍDA
escreva ("\nDividendo: " + divid + "\nDivisor: " + divis + "\nQuociente: " + quoc + "\nResto: " +
resto)
}
}

3. Calcule a dívida do cheque especial ao ser quitada 6 meses depois a uma taxa de 5% de juros. O valor
do empréstimo deve ser informado.

- SAÍDA: Quais os resultados que o algoritmo dever fornecer ?


O valor da dívida do cheque especial a ser quitada.
- ENTRADA: Quais os insumos necessários para se obter a saída?
O valor do empréstimo (N).
- PROCESSAMENTO: Como transformar os insumos na saída?
Fórmula de juros compostos: D=N(1+0.05)^6

---------- PROGRAMA – PORTUGOL ----------


programa
{
inclua biblioteca Matematica --> mat
funcao inicio()
{
//DECLARAÇÃO DE VARIÁVEIS
real N, D
// ENTRADA
escreva ("Digite o valor do empréstimo:\n")
leia (N)
// PROCESSAMENTO (Fórmula de Juros Compostos)
D = N * (mat.potencia((1 + 0.05),6.0))
// SAÍDA
escreva ("\nValor da dívida: " + D)
}
}

3. Dada a base e a altura de um retângulo, calcule o perímetro, a área e a diagonal.

- SAÍDA: Quais os resultados que o algoritmo dever fornecer ?


O perímetro, a área e a diagonal do retângulo.
- ENTRADA: Quais os insumos necessários para se obter a saída?
Base e altura de um retângulo
- PROCESSAMENTO: Como transformar os insumos na saída?
Perímetro = (2*altura) + (2*base)
Área = altura*base
Diagonal = sqrt((base*base) + (altura*altura))

---------- PROGRAMA – PORTUGOL ----------


programa
{
inclua biblioteca Matematica -> mat
funcao inicio()
{
//DECLARAÇÃO DE VARIÁVEIS
real base, alt, per, area, diag
// ENTRADA
escreva ("Informe o valor da base do retângulo:\n")
leia (base)
escreva ("Informe o valor da altura do retângulo:\n")
leia (alt)
// PROCESSAMENTO
per = (2*alt) + (2*base)
area = alt*base
diag = mat.raiz((base*base) + (alt*alt),2.0)
// SAÍDA
escreva ("\nO perímetro do retângulo é: " + per)
escreva ("\nA área do retângulo é: " + area)
escreva ("\nA diagonal do retângulo é: " + diag)
}
}

4. Dada o lado de um quadrado, calcule o perímetro, a área e a diagonal.

- SAÍDA: Quais os resultados que o algoritmo dever fornecer ?


O perímetro, a área e a diagonal de um quadrado.
- ENTRADA: Quais os insumos necessários para se obter a saída?
O lado (L) do quadrado.
- PROCESSAMENTO: Como transformar os insumos na saída?
Perímetro= Lx4
Área= L^2
Diagonal= sqrt(2)xL

---------- PROGRAMA – PORTUGOL ----------


programa
{
inclua biblioteca Matematica --> mat
funcao inicio()
{
//DECLARAÇÃO DE VARIÁVEIS
real L, P, A, D
// ENTRADA
escreva ("Informe o valor do lado do quadrado:\n")
leia (L)
// PROCESSAMENTO
P=L*4
A=L*L
D=L*(mat.raiz(2.0,2.0))
// SAÍDA
escreva ("\nO perímetro do quadrado é: " + P)
escreva ("\nA área do quadrado é: " + A)
escreva ("\nA diagonal do quadrado é: " + D)
}
}

5. Dado o raio de um círculo, calcule o perímetro e a área.

- SAÍDA: Quais os resultados que o algoritmo dever fornecer ?


O perímetro e a área de um círculo.
- ENTRADA: Quais os insumos necessários para se obter a saída?
Raio de um círculo (R).
- PROCESSAMENTO: Como transformar os insumos na saída?
Perímetro = (2*π*R)
Área = (π*R*R)

---------- PROGRAMA – PORTUGOL ----------


programa
{
funcao inicio()
{
//DECLARAÇÃO DE VARIÁVEIS
real R, area, per, pi

// ENTRADA
escreva ("Informe o valor do raio do círculo:\n")
leia (R)
// PROCESSAMENTO
pi = 3.1416
per = 2*pi*R
area = pi*(R*R)
// SAÍDA
escreva ("\nO perímetro do círculo é: " + per)
escreva ("\nA área do círculo é: " + area)
}
}

6. Dados os três lados de um paralelepípedo, calcule o perímetro, a área, o volume e a diagonal.

- SAÍDA: Quais os resultados que o algoritmo dever fornecer ?


Perímetro, área, volume e diagonal de um paralelepípedo.
- ENTRADA: Quais os insumos necessários para se obter a saída?
Os três lados de um paralelepípedo (A, B, C).
- PROCESSAMENTO: Como transformar os insumos na saída?
Perímetro= 4*(A+B+C)
Área= 2(AB+BC+CA)
Volume= A*B*C
Diagonal= sqrt(A^2+B^2+C^2)

---------- PROGRAMA – PORTUGOL ----------


programa
{
inclua biblioteca Matematica --> mat
funcao inicio()
{
//DECLARAÇÃO DE VARIÁVEIS
real ladoA, ladoB, ladoC, perimetro, area, volume, diagonal
// ENTRADA
escreva("Informe o valor do primeiro lado do paralelepípedo:\n")
leia(ladoA)
escreva("Informe o valor do segundo lado do paralelepípedo:\n")
leia(ladoB)
escreva("Informe o valor do terceiro lado do paralelepípedo:\n")
leia(ladoC)
// PROCESSAMENTO
perimetro = 4*(ladoA + ladoB + ladoC)
area = 2*(ladoA*ladoB + ladoB*ladoC + ladoC*ladoA)
volume = ladoA * ladoB * ladoC
diagonal = mat.raiz (ladoA*ladoA + ladoB*ladoB + ladoC*ladoC, 2.0)
// SAÍDA
escreva("\nPerímetro: ",perimetro,"\nÁrea: ",area,"\nVolume: ",volume,"\nDiagonal: ",diagonal)

}
}

7. Dados dois catetos de um triangulo retângulo, calcule a hipotenusa.

- SAÍDA: Quais os resultados que o algoritmo dever fornecer ?


A hipotenusa de um triângulo retângulo.
- ENTRADA: Quais os insumos necessários para se obter a saída?
Dois catetos do triângulo retângulo. (cat1, cat2)
- PROCESSAMENTO: Como transformar os insumos na saída?
Hipotenusa = sqrt ((cat1*cat1) + (cat2*cat2))

---------- PROGRAMA – PORTUGOL ----------


programa
{
inclua biblioteca Matematica --> mat
funcao inicio()
{
//DECLARAÇÃO DE VARIÁVEIS
real cat1, cat2, hip
// ENTRADA
escreva("Informe o valor de um cateto do triângulo retângulo:\n")
leia(cat1)
escreva("Informe o valor do outro cateto do triângulo retângulo:\n")
leia(cat2)
// PROCESSAMENTO
hip = mat.raiz((cat1*cat1) + (cat2*cat2),2.0)
// SAÍDA
escreva("\nA hipotenusa do triângulo retângulo é: " + hip)
}
}

8. Dada a razão de uma PA e seu primeiro termo, calcular o 20o termo.

- SAÍDA: Quais os resultados que o algoritmo dever fornecer ?


O 20o termo de uma PA.
- ENTRADA: Quais os insumos necessários para se obter a saída?
A razão e o primeiro termo de uma PA.
- PROCESSAMENTO: Como transformar os insumos na saída?
Fórmula do termo geral de uma PA: An=A1+(n-1)*r, onde n=20.

---------- PROGRAMA – PORTUGOL ----------


programa

{
funcao inicio()
{
//DECLARAÇÃO DE VARIÁVEIS
real termo20, razao, termo1
// ENTRADA
escreva("Informe o valor do primeiro termo da PA:\n")
leia(termo1)
escreva("Informe o valor da razão da PA:\n")
leia(razao)
// PROCESSAMENTO
termo20 = termo1 + (20-1)*razao
// SAÍDA
escreva("\nO 20o termo desta PA é: " + termo20)
}
}
9. Dada a razão de uma PG e seu primeiro termo, calcular o 20o termo.

- SAÍDA: Quais os resultados que o algoritmo dever fornecer ?


O 20o termo de uma PG.
- ENTRADA: Quais os insumos necessários para se obter a saída?
A razão (q) e o primeiro termo (A1) de uma PG.
- PROCESSAMENTO: Como transformar os insumos na saída?
Fórmula do termo geral de uma PG: An=A1*(q^(n-1)), onde n=20.
---------- PROGRAMA – PORTUGOL ----------
programa
{
inclua biblioteca Matematica --> mat
funcao inicio()
{
// DECLARAÇÃO DE VARIÁVEIS
real A1, q, An
// ENTRADA
escreva("Informe o valor do primeiro termo da PG:\n")
leia(A1)
escreva("Informe o valor da razão da PG:\n")
leia(q)
// PROCESSAMENTO
An = A1 * mat.potencia(q,19.0)
// SAÍDA
escreva("\nO 20o termo desta PG é: " + An)
}
}

10. Dado um horário, calcule quantos minutos e segundos transcorreram desde o início do dia.

- SAÍDA: Quais os resultados que o algoritmo dever fornecer ?


Minutos (M) e segundos (S) transcorridos.
- ENTRADA: Quais os insumos necessários para se obter a saída?
Um horário – horas, minutos e segundos(h, m, s).
- PROCESSAMENTO: Como transformar os insumos na saída?
S=(3600*h)+(60*m)+s
M=S/60

---------- PROGRAMA – PORTUGOL ----------


programa
{
funcao inicio()
{
//DECLARAÇÃO DE VARIÁVEIS
inteiro horas, minutos, segundos
real MIN, SEG
// ENTRADA
escreva("Informe o horário:\n")
escreva("Horas: ")
leia(horas)
escreva("Minutos: ")
leia(minutos)
escreva("Segundos: ")
leia(segundos)
// PROCESSAMENTO
SEG = (3600.0*horas) + (60.0*minutos) + segundos
MIN = SEG/60.0
// SAÍDA
escreva("\nPassaram-se ",MIN," minutos e ",SEG," segundos.")
}
}
12. Dado o valor do salário-mínimo e um determinado salário, calcule quantos salários-mínimos estão
contidos nele.

- SAÍDA: Quais os resultados que o algoritmo dever fornecer ?


Quantidade de salários-mínimos que estão contidos em um determinado salário.
- ENTRADA: Quais os insumos necessários para se obter a saída?
Valor do salário-mínimo (salariomin) e de um determinado salário (salario).
- PROCESSAMENTO: Como transformar os insumos na saída?
Quant = salario/salariomin

---------- PROGRAMA – PORTUGOL ----------


programa
{
funcao inicio()
{
// DECLARAÇÃO DE VARIÁVEIS
real salariomin, salario, quant
// ENTRADA
escreva("Informe o valor do salário mínimo:\n")
leia(salariomin)
escreva("Informe o valor de um salário:\n")
leia(salario)
// PROCESSAMENTO
quant = salario/salariomin
// SAÍDA
escreva("\nEstão contidos ", quant, " salários mínimos dentro do salário informado.")
}
}

13. Escreva um algoritmo para mostrar a média final de um aluno a partir de 4 notas. Para o calculo da
media final, deve-se utilizar média ponderada, aplicando-se a seguinte fórmula:
M = ( ( p1 x 30) + (p2 x 40) + (t1 x 10) + (t2 x 20) ) / 100
Legenda: p1: primeira prova (peso de 30%) / p2: segunda prova (peso de 40%)
t1: primeiro trabalho (peso de 10%) / t2: segundo trabalho (peso de 20%)

- SAÍDA: Quais os resultados que o algoritmo dever fornecer ?


A média (M).
- ENTRADA: Quais os insumos necessários para se obter a saída?
P1, P2, T1, T2
- PROCESSAMENTO: Como transformar os insumos na saída?
Aplicar a fórmula: M = ( ( p1 x 30) + (p2 x 40) + (t1 x 10) + (t2 x 20) ) / 100

---------- PROGRAMA – PORTUGOL ----------


programa
{
funcao inicio()
{
// DECLARAÇÃO DE VARIÁVEIS
real M, P1, P2, T1, T2
// ENTRADA
escreva("Informe o valor da nota da P1: ")
leia(P1)
escreva("Informe o valor da nota da P2: ")
leia(P2)
escreva("Informe o valor da nota do T1: ")
leia(T1)
escreva("Informe o valor da nota do T2: ")
leia(T2)
// PROCESSAMENTO
M = ((P1*30.0) + (P2*40.0) + (T1*10.0) + (T2*20.0))/100.0
// SAÍDA
escreva(“\nA média é : “ + M)
}
}
14. Escreva um algoritmo para calcular a quantidade de latas de tintas necessárias para pintar o piso de um
quintal que possui uma área retangular. Deve-se calcular também o custo total para comprar as latas de
tintas necessárias.
Sabe-se que:
Cada lata de tinta contém 5 litros
Cada litro de tinta pinta 3 metros quadrados
A área de um retângulo é dada por: base X altura

- SAÍDA: Quais os resultados que o algoritmo dever fornecer ?


Quantidade de latas de tintas necessárias e o custo total para compra das latas de tintas necessárias.
- ENTRADA: Quais os insumos necessários para se obter a saída?
Base (base) e altura (alt) da área retangular.
- PROCESSAMENTO: Como transformar os insumos na saída?
Aplicar a fórmula: latas = (base*alt)/15

---------- PROGRAMA – PORTUGOL ----------


programa
{
funcao inicio()
{
// DECLARAÇÃO DE VARIÁVEIS
real base, alt, qtd, precounit, custototal
// ENTRADA
escreva("Informe o valor da base da área retangular: ")
leia(base)
escreva("Informe o valor da altura da área retangular: ")
leia(alt)
escreva("Informe o valor do preço de uma lata de tinta em reais: ")
leia(precounit)
// PROCESSAMENTO
qtd = (base*alt)/(15.0)
custototal = qtd*precounit
// SAÍDA
escreva("\nSão necessárias ", qtd, " latas custando ao todo R$ ", custototal)
}
}

Observação: Na saída de dados deveria se arredondar para cima o número de latas, portanto um valor
inteiro de latas, porém tal fato utilizaria uma função criada com desvios condicionais o que ainda não foi
trabalhado nesse ponto do curso.

16. Um motorista anota a marcação do odômetro do seu veículo antes e após uma viagem, bem como o
número de litros de combustível gastos. Escreva um algoritmo para ler os três dados acima, o preço do
litro do combustível e imprima:
o A quilometragem rodada
o Quantos quilômetros, por litro, faz o veículo
o O custo da viagem

- SAÍDA: Quais os resultados que o algoritmo dever fornecer ?


Quilometragem rodada, quantos quilômetros por litro o veículo faz e o custo da viagem.
- ENTRADA: Quais os insumos necessários para se obter a saída?
Marcação do odômetro antes da viagem (iniciood), marcação do odômetro após a viagem (fimod), o
número de litros de combustível gastos (litrogasto) e o preço do litro do combustível (precolitro)
- PROCESSAMENTO: Como transformar os insumos na saída?
Quilometragem rodada = fimod – iniciood
Quilometros por litro = (fimod – iniciood) / (litrogasto)
Custo da viagem = precolitro * litrogasto

---------- PROGRAMA – PORTUGOL ----------


programa
{
funcao inicio()
{
// DECLARAÇÃO DE VARIÁVEIS
real iniciood, fimod, litrogasto, precolitro, kmrodado, kmporlitro, custoviagem
// ENTRADA
escreva("Informe a marcação do odômetro antes da viagem: ")
leia(iniciood)
escreva("Informe a marcação do odômetro após a viagem: ")
leia(fimod)
escreva("Informe a quantidade de litros de combustível gastos na viagem: ")
leia(litrogasto)
escreva("Informe o preço do litro de combustível: ")
leia(precolitro)
// PROCESSAMENTO
kmrodado = fimod - iniciood
kmporlitro = kmrodado/litrogasto
custoviagem = precolitro * litrogasto
// SAÍDA
escreva("\nA quilometragem rodada foi de ", kmrodado)
escreva("\nSendo feito ", kmporlitro, " km/litro")
escreva("\nPor fim, a viagem custou R$", custoviagem)
}
}

17. O custo ao consumidor de um carro novo é a soma do custo de fábrica, acrescido da porcentagem do
distribuidor, mais os impostos (aplicados ao custo de fábrica). Supondo que a percentagem do
distribuidor seja de 28% e os impostos de 45%, escrever um algoritmo que leia o custo de fábrica de um
carro e escreva o custo do consumidor.

- SAÍDA: Quais os resultados que o algoritmo dever fornecer ?


O custo do consumidor de um carro novo (Cc).
- ENTRADA: Quais os insumos necessários para se obter a saída?
O custo de fábrica de um carro novo (Cf).
- PROCESSAMENTO: Como transformar os insumos na saída?
Calcular o custo do consumidor a partir do custo de fábrica, a porcentagem do distribuidor e os impostos:
Cc=Cf+(Cf*0.28)+(Cf*0.45)

---------- PROGRAMA – PORTUGOL ----------


programa
{
funcao inicio()
{
// DECLARAÇÃO DE VARIÁVEIS
real custo_con, custo_fab
// ENTRADA
escreva("Custo de fábrica de um carro novo: ")
leia(custo_fab)
// PROCESSAMENTO
custo_con = custo_fab + (custo_fab*0.28) + (custo_fab*0.45)
// SAÍDA
escreva("\nCusto do consumidor: ",custo_con)
}
}

18. Uma revendedora de carros usados paga seus funcionários vendedores um salário fixo por mês, mais
uma comissão, também fixa, por cada carro vendido, e mais 5% do valor das vendas por ele efetuadas.
Escrever um algoritmo e um fluxograma para ler o número do vendedor, o número de carros por ele
vendido, o valor total de suas vendas, o salário fixo e o valor que recebe por carro vendido. Ao final, o
algoritmo deve calcular o salário mensal do vendedor, escrevendo-o juntamente com o seu número de
identificação.

- SAÍDA: Quais os resultados que o algoritmo dever fornecer ?


Salário mensal do vendedor e o seu número de identificação.
- ENTRADA: Quais os insumos necessários para se obter a saída?
Número do vendedor (id), número de carros por ele vendido (carrosvendidos), o valor total de suas
vendas (valorvendas), o salário fixo (salariofixo) e o valor que recebe por carro vendido (valorporcarro).
- PROCESSAMENTO: Como transformar os insumos na saída?
Salário = salariofixo + (valorporcarro*carrosvendidos) + (0.05*valorvendas)
Identificação do funcionário: id
---------- PROGRAMA – PORTUGOL ----------
programa
{
funcao inicio()
{
// DECLARAÇÃO DE VARIÁVEIS
real salariofixo, valorporcarro, valorvendas, salariofinal
inteiro id, carrosvendidos
// ENTRADA
escreva("Informe o número de identificação do vendedor: ")
leia(id)
escreva("Informe o salário fixo por mês: ")
leia(salariofixo)
escreva("Informe o número de carros vendidos pelo vendedor no mês: ")
leia(carrosvendidos)
escreva("Informe o valor que ele recebe por cada carro vendido: ")
leia(valorporcarro)
escreva("Informe o valor total de vendas do vendedor no mês: ")
leia(valorvendas)
// PROCESSAMENTO
salariofinal = salariofixo + (valorporcarro*carrosvendidos) + (0.05*valorvendas)
// SAÍDA
escreva("\nO vendedor com registro ", id)
escreva("\nTerá o salário mensal de R$", salariofinal)
}
}

Sobre Hardware e Software é correto afirmar:

A. Software corresponde ao conjunto de componentes físicos do ambiente de


processamento.
B. Circuitos, placas, monitor, teclado são peças de software que compõem o
sistema como um todo.
C. Software está associado à parte física do sistema que suporta o
processamento da informação.
D. Software corresponde ao conjunto de programas responsáveis pelo controle
do sistema para a execução das tarefas consideradas.
E. Windows e Linux é um exemplo de Hardware responsável pelo coração do
sistema.

Sobre Linguagens de Programação é correto afirmar:

A. Linguagens de programação são utilizadas para a construção dos circuitos


integrados que também podem ser chamados de CHIP.
B. Os programas escritos em linguagens de alto nível são convertidos para a
linguagem de máquina através de um programa compilador, ou de um
interpretador.
C. Linguagens de baixo nível apresentam uma “sintaxe” mais próxima da
linguagem natural (humana).
D. Uma linguagem de alto nível corresponde à própria linguagem de máquina
de alto desempenho computacional.
E. Os programas escritos em linguagens
de baixo nível são convertidos para a
linguagem de máquina através de um
sistema operacional.

Sobre Software e/ou Programa é correto afirmar:

A. Um programa é uma sequência de instruções que, a partir de dados


inseridos, obtém um resultado que será disponibilizado por algum dispositivo
de saída.
B. Word, Excell, Power Point e BrOffice são softwares da categoria de
Sistemas Operacionais.
C. Folha de Pagamento e Sistemas de Vendas são considerados sistemas
operacionais de grande porte.
D. Windows e Linux são exemplos de Softwares de Edição Gráfica.
E. O Teclado e também o Mouse são exemplos de programas de Entrada de
dados.

Na arquitetura básica do processamento de dados que envolve ENTRADA,


PROCESSAMENTO e SAÍDA:

A. A saída de dados depende apenas do


que for informado como entrada de dados.
B. A mesma entrada de dados sempre
produzirá a mesma saída de dados,
independente do programa.
C. O programa é quem determina/dita o
funcionamento do computador.
D. O resultado depende apenas do
processamento de dados.
E. O teclado serve para realizar a saída de
dados.
A arquitetura básica proposta por John von Neumann possui quatro componentes
básicos; são eles:

A. I - Teclado; II - Monitor; III - CPU; IV - Impressora;


B. I - Hardware; II - Software; III - Unix; IV - Hard Disk;
C. I - Unidade de Entrada e Saída de Dados; II - Memória; III - CPU; IV -
Impressora;
D. I - Unidade de Entrada e Saída de Dados; II - Memória; III – Unidade
Lógica Aritmética; IV – Unidade de Controle;
E. I - Teclado; II - Monitor; III – Unidade Lógica Aritmética; IV – Unidade de
Controle;

Considerando a existência de precedência entre os operadores aritméticos e as


variáveis e seus respectivos valores (a=5, b = -2, c=4, d=3), quais os valores de a, b, c
e d após a execução da seguinte sequência de instruções?
b=a
d=a+c*d
c=b

A. a=-2, b=5, c=5, d = 17


B. a=5, b=5, c=5, d = 27
C. a=5, b=-2, c=4, d=3
D. a=5, b=-2, c=4, d = 17
E. a=5, b=5, c=5, d = 17

Qual a afirmação correta referente ao conceito de VARIÁVEL (em programação de


computadores)?

A. “leia” e “escreva” são duas variáveis importantes pois representam a entrada e


a saída de dados respectivamente.
B. Uma variável é um endereço da memória RAM cujo conteúdo não pode ser
modificado durante toda a execução do programa.
C. Uma variável é o nome de um arquivo que pode ser gravado no pendrive ou
no Hard Disk do Computador.
D. Para declarar uma variável em PORTUGOL é necessário apenas dar um nome
para a mesma, ou seja, definir o identificador.
E. A declaração de uma variável exige o identificador (nome da variável) e o tipo
de dados a ser armazenado na mesma.

Ao aplicar a técnica de interpretação de enunciados para a escrita de um programa é


correto afirmar:

A. Inicialmente identifica-se a saída de dados


requerida que será, possivelmente, a última
instrução do programa.
B. Inicialmente identifica-se a saída de dados
requerida que será também a primeira instrução
do programa.
C. A sequência de escrita do programa dependerá
sempre dos valores que o usuário digitar na
entrada de dados.
D. O programa terá a seguinte sequência em sua
organização final: saída, entrada e processamento
de dados.
E. Inicialmente identifica-se o processamento a
ser realizado.

Considerando a sintaxe de declaração de variáveis no PORTUGOL, assinale a opção


correta para declarar duas variáveis para armazenar a idade de duas pessoas e também
duas variáveis para armazenar seus salários. Na sua resposta você deve considerar as
recomendações para formação de nomes de variáveis e os tipos de dados mais
adequados para cada item a ser armazenado.

A.
x, y, z, w: real
B.
caracter idade1, idade2, salario1, salario2
C.
x, y: inteiro
a, b: real
D.
inteiro idade1, idade2, salario1, salario2
E.
inteiro idade1, idade2
real salario1, salario2

Simule mentalmente o programa abaixo, ou use lápis e papel. Se a entrada do


programa for 10, qual será a saída?
OBS. Veja que o operador % retorna o resto da divisão.

programa
{
funcao inicio()
{
inteiro a, b, c
leia (a)
b = a/2
c = b%3
escreva(b+c)
}
}

A. 8
B. 7
C. 5
D. 6

Dado o programa abaixo que lê três notas de um aluno em uma disciplina e imprime a
sua média ponderada (as notas têm pesos respectivos de 1, 2 e 3). Complete a linha
marcada por "AQUI", com a instrução apropriada:

programa
{
funcao inicio()
{
real p1, p2, p3, media
leia (p1, p2, p3)
AQUI
escreva(media)
}

A. media = (p1 + 2*p2 + 3*p3)/3


B. media = (p1 + 2*p2 + 3*p3)/5
C. media = p1 + p2 + p3 / 3
D. media = (p1 + 2*p2 + 3*p3)/6

Simule mentalmente o programa abaixo, ou use lápis e papel. Se a entrada do


programa for 10, qual será a saída?

programa
{
funcao inicio()
{
inteiro a, b, c
leia (a)
b = a-3*2+1
c = a/3+b-6
escreva(b+c)
}
}

A. 7
B. 9
C. 5
D. 6

O programa abaixo lê dois valores para as variáveis X e Y, efetua a troca dos valores
de forma que a variável X passe a ter o valor de Y, e que a variável Y passe a ter o
valor de X. Complete a(s) instrução(ões) "AQUI".

programa
{
funcao inicio()
{
real X, Y, aux
leia (X, Y)
AQUI
escreva(X, Y)
}
}

A. aux = X
X=Y
Y = aux
B.
aux = Y
X=Y
Y = aux
C. Y = X
D.
aux = X
Y=X
Y = aux
Simule mentalmente o programa abaixo, ou use lápis e papel. Se a entrada do
programa for 10, qual será a saída?
OBS. Veja que o operador % retorna o resto da divisão.

programa
{
funcao inicio()

{
inteiro a, b, c
leia (a)
b = (a/3)*2-1
c = b%4
escreva(b+c)
}
}

A. 7
B. 5
C. 4
D. 6

Simule mentalmente o programa abaixo, ou use lápis e papel. Se a entrada do


programa for 10, qual será a saída?
OBS. Veja que o operador % retorna o resto da divisão.

programa
{
funcao inicio()
{
inteiro a, b, c
leia (a)
b = a/2
c = b%3
escreva(b,c)
}
}

A. 5,3
B. 5,5
C. 5,2
D. 5,1

Resposta Correta: C

---------- Exercício 1 – Média ponderada ----------

Escreva um algoritmo para mostrar a média final de um aluno a partir de 4 notas. Para o cálculo da
média final, deve-se utilizar média ponderada, aplicando-se a seguinte fórmula:
M = ( ( p1 x 25) + (p2 x 30) + (t1 x 20) + (t2 x 25) ) / 100
Legenda:
p1: primeira prova (peso de 25%) / p2: segunda prova (peso de 30%)
t1: primeiro trabalho (peso de 20%) / t2: segundo trabalho (peso de 25%)
PARTE I - INTERPRETAÇÃO DO PROBLEMA

▪ SAÍDA: Quais os resultados que o algoritmo dever fornecer ?


Média Ponderada
▪ ENTRADA: Quais os insumos necessários para se obter a saída?
As notas e seus respectivos pesos
▪ PROCESSAMENTO: Como transformar os insumos na saída?
Multiplicar cada Nota pelo seu respectivo peso, em seguida somar os valores obtidos e o
resultado da soma dividir pela soma dos pesos.

PARTE II - ALGORITMO: PORTUGOL

{
funcao inicio()
{real p1, p2, t1, t2, soma, Media
escreva("digite nota da p1")
leia(p1)
escreva("digite nota da p2")
leia(p2)
escreva("digite nota da t1")
leia(t1)
escreva("digite nota da t2")
leia(t2)

Media = ( (p1*25) + (p2 * 30) + (t1 * 20) + (t2 * 25) ) / 100

escreva (Media)
}
}

PARTE III - TESTE DE EXECUÇÃO

TESTE 1:
Entrada: p1=5, p2=9, t1=6, t2= 8
Saída Esperada: Media = 7,15

TESTE 2:
Entrada: p1=10, p2=6, t1=9, t2= 7
Saída Esperada: Media = 7,85

---------- Exercício 2 – Pintura ----------

Escreva um algoritmo para calcular a quantidade de latas de tintas necessárias para pintar o piso de um
quintal que possui uma área retangular. Deve-se calcular também o custo total para comprar as latas de
tintas necessárias. Sabe-se que:
▪ Cada lata de tinta contém 5 litros
▪ Cada litro de tinta pinta 4 metros quadrados
▪ A área de um retângulo é dada por: base X altura

PARTE I - INTERPRETAÇÃO DO PROBLEMA

▪ SAÍDA: Quais os resultados que o algoritmo dever fornecer ?


A quantidade de latas de tintas e o custo total para comprar as latas
▪ ENTRADA: Quais os insumos necessários para se obter a saída?
Volume em litros de cada lata, o valor de cada lata, quanto é possível pintar, em metros
quadrados, com cada litro e a área, em metros, a ser pintada.
▪ PROCESSAMENTO: Como transformar os insumos na saída?
Dividir o valor total da área a ser pintada pela quantidade que é possível pintar com cada litro.
Multiplicar o resultado dessa divisão pelo volume, em litros, de cada lata. E, em seguida,
multiplicar o número de latas pelo valor unitário de cada lata.

PARTE II - ALGORITMO: PORTUGOL

programa
{
funcao inicio()
{
real volumeunitario, preco, arealitro, base, altura, area, volumetotal, latas, custo
escreva("digite o volume unitario da lata ")
leia(volumeunitario)
escreva("digite preco unitario da lata ")
leia(preco)
escreva("digite area que consegue pintar com um litro ")
leia(arealitro)
escreva("digite a base ")
leia(base)
escreva("digite a altura ")
leia(altura)
area= base*altura
volumetotal=(area/arealitro)*volumeunitario
latas= area/20
escreva("\nQuantidade de latas ", latas)
custo=latas*preco
escreva("\ncusto total ", custo)
}
}

PARTE III - TESTE DE EXECUÇÃO

TESTE 1:
Entrada: base = 10, altura = 5, preço unitário = 22.00
Saída Esperada: latas = 2,5 e custo total = 55.00

TESTE 2:
Entrada: base = 12, altura = 9, preço unitário = 30.00
Saída Esperada: latas = 5.4 e custo total = 162.00

Aula 2: Estruturas de Seleção e Teste de Mesa

Aula 3: Estruturas de Repetição (inclusive)