Escolar Documentos
Profissional Documentos
Cultura Documentos
Disciplina de
Lgica de Programao
http://fabiologica.blogspot.com
1 Semestre / 2010
11/02/2010
2 Lgica de Programao
2.1 - O que Lgica?
a arte de pensar corretamente e, visto que a forma mais complexa do pensamento o
raciocnio, a Lgica estuda ou tem em vista a correo do raciocnio.
Podemos ainda dizer que a lgica tem em vista a ordem da razo. Isto d a entender que
a nossa razo pode funcionar desordenadamente, pode pr as coisas de pernas para o
ar. Por isso a Lgica ensina a colocar Ordem no Pensamento. Exemplos:
a) Todo o mamfero animal.
Todo cavalo mamfero.
Portanto, todo cavalo animal.
2.5 Programao
Para que um computador possa desempenhar uma tarefa necessrio que esta seja
detalhada passo-a-passo, numa forma compreensvel pela mquina, utilizando aquilo que
se chama de programa. Neste sentido, um programa de computador nada mais que um
algoritmo escrito numa forma compreensvel pelo computador (linguagem de
programao).
assim tambm com os algoritmos escritos para computador, voc deve especificar
todos os passos, para que o computador possa chegar ao objetivo. Por exemplo:
Dados os nmeros naturais(N)
0, 1, 2, 3, 4, 5, 6, ...
passo1 faa N igual a zero
passo2 some 1 a N
passo3 volte ao passo 2
Nos dois exemplos acima, o primeiro possui repertrio bem definido, mas no finito,
enquanto que o segundo tem um critrio de parada, ou seja, finito e descreve um
padro de comportamento, ou seja, temos um algoritmo.
3
2.6 Programa
Programas so processos de automao. Uma tarefa deixa de ser desempenhada pelo
homem e passa a ser realizada por mquinas, sejam estes dispositivos mecnicos,
eletrnicos (como os computadores) ou de natureza mista.
Para que a automao de uma tarefa seja bem-sucedida necessrio que a mquina que
passar a realiz-la seja capaz de desempenhar cada uma das etapas constituintes do
processo a ser automatizado com eficincia, de modo a garantir a repetibilidade do
mesmo.
Assim, necessrio que seja especificado com clareza e exatido o que deve ser
realizado em cada uma das fases do processo a ser automatizado, bem como a
seqncia em que estas fases devem ser realizadas.
Entrada
Processamento
Sada
Onde temos:
2.7.1 Entrada
So os dados de entrada do algoritmo.
Hardwares para entradas de dados: teclado, mouse, microfone, scanner
2.7.2 Processamento
So os procedimentos utilizados para chegar ao resultado final.
2.7.3 Sada
So os dados j processados.
Hardwares para sada de dados: impressora, monitor, caixa de som
Tomando um banho:
Esta representao pouco usada na prtica porque o uso da linguagem natural muitas
vezes d oportunidade a ms interpretaes, ambigidades e imprecises.
Por exemplo, a instruo "afrouxar ligeiramente as porcas" no algoritmo da troca de pneus
est sujeita a interpretaes diferentes por pessoas distintas. Uma instruo mais precisa
seria: "afrouxar a porca, girando-a 30 no sentido anti-horrio".
Vantagens:
- O portugus bastante conhecido por ns;
Desvantagens:
- Impreciso;
- Pouca confiabilidade (a impreciso acarreta a desconfiana);
- Extenso (normalmente, escreve-se muito para dizer pouca coisa).
3.2 - Fluxograma
uma representao grfica de algoritmos onde formas geomtricas diferentes implicam
aes (instrues, comandos) distintos. Tal propriedade facilita o entendimento das idias
contidas nos algoritmos e justifica sua popularidade.
Esta forma aproximadamente intermediria descrio narrativa e ao pseudocdigo,
pois menos imprecisa que a primeira e, no entanto, no se preocupa com detalhes de
implementao do programa, como o tipo das variveis usadas.
Nota-se que os fluxogramas convencionais preocupam-se com detalhes de nvel fsico da
implementao do algoritmo. Por exemplo, figuras geomtricas diferentes so adotadas
para representar operaes de sada de dados realizadas em dispositivos distintos, como
uma fita magntica ou um monitor de vdeo.
1
6
1
.F.
(media >= 7)
.V.
reprovado
aprovado
fim
Exemplo de um fluxograma convencional.
De modo geral, um fluxograma se resume a um nico smbolo inicial por onde a execuo
do algoritmo comea, e um ou mais smbolos finais, que so pontos onde a execuo do
algoritmo se encerra. Partindo do smbolo inicial, h sempre um nico caminho orientado
a ser seguido, representando a existncia de uma nica seqncia de execuo das
instrues.
Isto pode ser melhor visualizado pelo fato de que, apesar de vrios caminhos poderem
convergir para uma mesma figura do diagrama, h sempre um nico caminho saindo
desta. Excees a esta regra so os smbolos finais, dos quais no h nenhum fluxo
saindo, e os smbolos de deciso, de onde pode haver mais de um caminho de sada
(usualmente dois caminhos), representando uma bifurcao no fluxo.
Vantagens:
- Uma das ferramentas mais conhecidas;
- Figuras dizem muito mais que palavras;
- Padro mundial
Desvantagens:
- Faz com que a soluo do problema j esteja amarrada a dispositivos fsicos;
- Pouca ateno aos dados, no oferecendo recursos para descrev-los ou representlos;
- Complica-se medida que o algoritmo cresce.
3.3 - Pseudocdigo
De forma semelhante como os programas so escritos. Tambm chamado de Portugol ou
Portugus Estruturado.
A linguagem de Programao mais prxima o Pascal, com codificao quase idntica
ao Ingls Estruturado.
Esta forma de representao de algoritmos rica em detalhes, como a definio dos tipos
das variveis usadas no algoritmo. Por assemelhar-se bastante forma em que os
programas so escritos, encontra muita aceitao.
7
4.1.1 - Planejamento
a fase onde definimos o problema a ser resolvido utilizando um computador. Nesta fase
relacionamos a entrada e a sada do futuro programa, assim como a definio dos
arquivos auxiliares que ele venha a utilizar.
4.1.2 - Projeto
a fase onde a resoluo do problema concebida. Neste ponto so definidos detalhes
do algoritmo, estrutura de dados empregados pelo programa.
4.1.3 - Escrita
Consiste em codificar o programa em uma linguagem de programao apropriada.
4.1.4 - Depurao
Ao final da escrita estaremos com o programa quase pronto; mas ser que ele funciona?
Esta a fase onde se corrigem os erros, at que o objetivo seja alcanado.
4.1.5 - Implantao
O programa disponibilizado ao cliente para utilizao.
4.1.6 - Manuteno
O programa poder ser alterado, tanto para corrigir erros no encontrados na fase de
depurao / implantao, como tambm para atender novas necessidades a serem
solicitadas pelos usurios.
Determinar o que deve ser feito para transformar as entradas determinadas nas sadas
especficas.
Nesta fase que determinamos a construo de algoritmos propriamente dita, pois, a
partir de alguns requisitos especificados, devemos determinar qual a seqncia de aes
capaz de transformar um conjunto definido de dados nas informaes de resultado.
(3)
Unidade de Controle
(5)
Dispositivo
de Sada
(4)
Memria Principal
Conveno:
trajeto de dados
trajeto de sinais de controle
10
12
A rvore abaixo resume a classificao dos dados com relao aos tipos de dados
apresentados.
5.4 - Variveis
Tudo o que instvel, inconstante. Sero armazenadas pela memria do computador, e
necessrio identificar qual o melhor tipo de dados a ser utilizado.
Para que no se "esquea" das informaes, o computador precisa guard-las em sua
memria. Cada varivel representa um valor, e a qualquer instante pode ser alterado
(quando for realizado um comando para fornecer um novo valor).
5.5.1 Memria
O acesso s informaes armazenadas na memria (leitura, escrita) feita Byte a Byte.
Cada Byte formado por uma combinao de 8 dgitos binrios (0 e 1), sendo assim, um
Byte possui 256 (28) estados possveis ou representa 256 smbolos de informao.
5.5.3 Identificadores
Podemos imaginar a memria como sendo um armrio repleto de gavetas, no qual as
gavetas seriam os locais fsicos responsveis por armazenar objetos; os objetos (que
podem ser substitudos ou no) seriam as informaes (dados), e as gavetas as variveis
ou constantes.
14
caractere
inteiro
real
logico
15
numerico
ou
outrocaso
para
passo
repita
se
senao
verdadeiro
6 - Expresses
6.1 - Conceito
O conceito de expresso em termos computacionais est intimamente ligado ao conceito
de expresso (ou frmula) matemtica, onde um conjunto de variveis e constantes
numricas relacionam-se por meio de operadores aritmticos compondo uma frmula
que, uma vez avaliada, resulta num valor.
6.2 - Operadores
Operadores so elementos funcionais que atuam sobre operandos e produzem um
determinado resultado. Por exemplo, a expresso 3 + 2 relaciona dois operandos (os
nmeros 3 e 2) por meio do operador (+) que representa a operao de adio.
De acordo com o nmero de operandos sobre os quais os operadores atuam, os ltimos
podem ser classificados em:
- binrios, quando atuam sobre dois operandos.
Ex.: os operadores das operaes aritmticas bsicas (soma, subtrao, multiplicao e
diviso);
- unrios, quando atuam sobre um nico operando.
Ex.: o sinal de (-) na frente de um nmero, cuja funo inverter seu sinal.
Outra classificao dos operadores feita considerando-se o tipo de dado de seus
operandos e do valor resultante de sua avaliao. Segundo esta classificao, os
operadores dividem-se em aritmticos, lgicos e literais. Esta diviso est diretamente
relacionada com o tipo de expresso onde aparecem os operadores.
Um caso especial o dos operadores relacionais, que permitem comparar pares de
operandos de tipos de dados iguais, resultando sempre num valor lgico.
Mais adiante sero apresentados os operadores dos diversos tipos acima relacionados.
Para exemplificar o uso de operadores lgicos, a Tabela 5.3 apresenta duas variveis
lgicas A e B. Uma vez que cada varivel lgica possui somente dois valores possveis,
ento h exatamente quatro combinaes para estes valores, razo pela qual a tabela
tem quatro linhas. As diversas colunas contm os resultados das operaes lgicas sobre
as combinaes possveis dos valores das variveis A e B.
Tabela - Tabela-Verdade dos operadores apresentados na Tabela anterior
a
b
.nao. a
.nao. b
a .ou. b
.F.
.F.
.V.
.V.
.F.
.F.
.V.
.V.
.F.
.V.
.V.
.F.
.F.
.V.
.V.
.V.
.V.
.F.
.F.
.V.
a .e. b
.F.
.F.
.F.
.V.
7 - Comandos de Atribuio
Um comando de atribuio permite-nos fornecer um valor a certa varivel, onde o tipo
dessa informao deve ser compatvel com o tipo da varivel, isto , somente podemos
atribuir um valor lgico a uma varivel capaz de comport-lo, ou seja, uma varivel
declarada do tipo lgico. O comando de atribuio uma seta apontando para a varivel
ou dois pontos e o sinal de igual (<-):
Exemplo:
var
a, b,c :
real
inicio
a <- 5
b <- a+b
c <- b*a
7.1 Constantes
Entendemos que uma informao constante quando no sofre nenhuma variao no
decorrer do tempo.
As constantes so definidas junto com as variveis antes de iniciar o programa, e em
seguida aps o incio do algoritmo, as constantes recebem seu valor fixo atravs do
comando de atribuio (<-):
var
nomepadrao :
valorpi:
caracter
real
inicio
nomepadrao <- Joo
valorpi <- 3.1415
19
8 - Estruturas de Controle
8.1 - Estrutura Seqencial
o conjunto de aes primitivas que sero executadas numa seqncia linear de cima
para baixo e da esquerda para direita, isto , na mesma ordem em que foram escritas.
Como podemos perceber, todas as aes devem pular uma linha, o que objetiva separar
uma ao de outra.
Variveis;
(declarao de variveis)
incio
comando 1
comando 2
comando 3
FimAlgoritmo.
20
Planejamento
Problema: Calcular a soma de dois nmeros.
Objetivo: Apresentar a soma de dois nmeros.
Entradas: N1, N2
Sadas: SOMA
Projeto
Clculos:
SOMA <- N1 + N2
Fluxograma
Portugol
algoritmo Algoritmo01
var
N1
: real
N2
: real
SOMA: real
inicio
leia N1
leia N2
SOMA <- N1 + N2
escreva SOMA
FimAlgoritmo
.F.
N1 + N2
SOMA > 10
.V.
SOMA
FIM
22
Portugol
Algoritmo Algoritmo02
Var
N1: Real
N2: Real
SOMA: Real
Inicio
Leia N1
Leia N2
SOMA <- N1 + N2
Se (SOMA > 10) entao
Escreva SOMA
Fimse
FimAlgoritmo
Fluxograma
INICIO
A
B
SOMA
.F.
A+B
TOTAL SOMA - 7
.V.
TOTAL SOMA + 5
TOTAL
FIM
Portugol
Algoritmo Algoritmo03
Var
A: Real
B: Real
SOMA: Real
TOTAL: Real
Inicio
Leia A
Leia B
SOMA A + B
Se (SOMA >= 10) entao
TOTAL SOMA + 5
Senao
TOTAL SOMA 7
Fimse
Escreva TOTAL
FimAlgoritmo
25
Fluxograma
INICIO
numero
Numero=1
Numero=2
Numero=3
Numero=4
.V.
.V.
.V.
.V.
um
dois
tres
quatro
numero invalido
FIM
Portugol
Algoritmo Algoritmo04
Var
numero: inteiro
Inicio
Leia numero
escolha numero
caso 1
escreva um
caso 2
escreva dois
caso 3
escreva trs
caso 4
escreva quatro
outrocaso
escreva nmero invlido
fimescolha
FimAlgoritmo
26
Projeto
Clculos e detalhamento:
Enquanto Num <= 100 faca
Tot<--Tot+Num
num=num+1
FimEnquanto
Fluxograma
INICIO
num <- 0
tot <- 0
Enquanto Num
<= 100
.F.
.V.
Tot <-Tot+Num
Num <- num+1
tot
FIM
Portugol
Algoritmo Algoritmo05
Var
Num, tot : inteiro
Inicio
Num <- 0
Tot <- 0
Enquanto Num <= 100 faca
Tot <-Tot+Num
Num <- num+1
FimEnquanto
Escreva Tot
FimAlgoritmo
28
29
Fluxograma
INICIO
num <- 1
tot <- 0
Tot <-Tot+Num
Num <- num+1
.F.
Ateque Num
>= 100
.V.
tot
FIM
8.3.3 Para ... de ... ate ... Passo ... faca Estrutura com
varivel de Controle
Nas estruturas de repetio vistas at agora, acorrem casos em que se torna difcil
determinar quantas vezes o bloco ser executado. Sabemos que ele ser executado
enquanto uma condio for satisfeita - enquanto..faa, ou at que uma condio seja
satisfeita - repita...at. A estrutura para .. passo repete a execuo do bloco um nmero
definido de vezes, pois ela possui limites fixos:
Para <varivel> <- <valor> at <valor> passo N faca
< bloco de comandos >
FimPara
Projeto
Clculos e detalhamento:
Para num de 1 a 100 passo 1 faca
Tot <-Tot+Num
FimPara
Fluxograma
INICIO
tot <- 0
Para num de 1
a 100 passo 1
f
.F.
.V.
Tot <-Tot+Num
tot
FIM
Portugol
Algoritmo Algoritmo07
Var
Num, tol : inteiro
Inicio
Tot <- 0
Para num de 1 a 100 passo 1 faca
Tot <-Tot+Num
FimPara
Escreva Tot
FimAlgoritmo
9 - Concluso
Este semestre teve como principal objetivo capacitar o aluno a entender os conceitos
fundamentais de lgica de programao de forma independente da linguagem e introduzilo a uma metodologia de desenvolvimento de programas.
Saber Lgica de Programao mais importante que saber uma Linguagem de
Programao. Sem saber como se planeja um programa, dificilmente poder ser
implantada tanto na Linguagem de Programao mais antiga como nas mais modernas.
Deseja-se boa sorte a todos os colegas, futuros profissionais da rea de Informtica!!!
31
Sumrio
1 - Introduo disciplina de Lgica de Programao.......................................................2
2 Lgica de Programao................................................................................................2
2.1 - O que Lgica? .........................................................................................................2
2.2 - Existe Lgica no dia-a-dia? ........................................................................................2
2.3 - O que Algoritmo? ....................................................................................................2
2.4 - O que padro de comportamento?..........................................................................3
2.5 Programao .............................................................................................................3
2.6 Programa...................................................................................................................4
2.7 Etapas de um programa ............................................................................................4
2.7.1 Entrada ...................................................................................................................4
2.7.2 Processamento.......................................................................................................4
2.7.3 Sada ......................................................................................................................4
3 - Formas de Representao de Algoritmos .....................................................................4
3.1 - Descrio Narrativa ....................................................................................................5
3.2 - Fluxograma ................................................................................................................5
3.2.1 - Simbologias bsicas................................................................................................5
3.3 - Pseudocdigo.............................................................................................................7
4 - Ciclo de vida de um programa.......................................................................................9
4.1.1 - Planejamento ..........................................................................................................9
4.1.2 - Projeto .....................................................................................................................9
4.1.3 - Escrita .....................................................................................................................9
4.1.4 - Depurao...............................................................................................................9
4.1.5 - Implantao.............................................................................................................9
4.1.6 - Manuteno.............................................................................................................9
4.1.7 - Morte do programa ..................................................................................................9
4.2 - Mtodo para construo de algoritmos ......................................................................9
4.3 - Um ambiente para escrever algoritmos....................................................................10
4.4 - Funcionamento do nosso computador .....................................................................11
4.5 - Resolvendo um problema.........................................................................................11
5 - Tipos de Dados e Instrues Primitivas ......................................................................12
5.1 - Dados Numricos .....................................................................................................12
5.1.1 - Dados Numricos Inteiros .....................................................................................12
5.1.2 - Dados Numricos Reais........................................................................................12
5.2 - Dados Literais ..........................................................................................................13
5.3 - Dados Lgicos..........................................................................................................13
5.4 - Variveis...................................................................................................................14
5.5 Arquitetura de Memria ...........................................................................................14
5.5.1 Memria................................................................................................................14
5.5.2 Armazenamento de dados na memria................................................................14
5.5.3 Identificadores ......................................................................................................14
5.6 Definio de Variveis em Algoritmos .....................................................................15
5.7 Instrues Primitivas................................................................................................16
6 - Expresses..................................................................................................................16
6.1 - Conceito ...................................................................................................................16
6.2 - Operadores ..............................................................................................................17
6.3 - Tipos de Expresses ................................................................................................17
32
Anexo - Bibliografia
Bibliografia bsica recomendada:
Manzano, J. A. N. G., Oliveira, J. F.: Algoritmos Lgica para o Desenvolvimento da
Programao. 10. Ed. So Paulo: rica, 2001.
Bibliografia complementar:
Puga, S., Rissetti, G. Lgica de programao e estruturas de dados - com aplicaes
em Java. So Paulo: Prentice Hall, 2004.
Lopes, A., Garcia, G.: Introduo Programao 500 Algoritmos resolvidos. Rio de
Janeiro: Campus, 2002.
Apostilas consultadas para confeco desta apostila:
________. Algoritmo e Lgica de Programao. Natal: Universidade Federal do Rio
Grande do Norte - Departamento de Engenharia de Computao e Automao, 2004.
Agosti, C. Curso Tecnlogo em Informtica - Prof. - Apostila de Pascal. Xanxer:
Universidade do Oeste de Santa Catarina Unoesc, 2001.
Costa, R.; Paradzinski, A. Apostila de Lgica de Programao. Curso Tcnico em
Processamento de Dados.
Egypto, C. Introduo Programao. Joo Pessoa: Asper Associao Paraibana de
Ensino Renovado - Faculdade Paraibana de Processamento de Dados - Curso de
Tecnologia em Processamento de Dados, 2004.
Egypto, C. Linguagens e Tcnicas e Programao I. Joo Pessoa: Asper Associao
Paraibana de Ensino Renovado - Faculdade Paraibana de Processamento de Dados Curso de Tecnologia em Processamento de Dados, 1998.
Mandaguari, C. B. M. Apostila da Disciplina de Anlise de Algoritmos. Faculdade de
Filosofia, Cincias e Letras de Mandaguari - Departamento de Informtica, 2004.
Mazer Jr, A. Curso Tcnico em Informtica Disciplina de Tcnicas de Programao
I. Ponta Grossa : Senai - Servio Nacional de Aprendizagem Industrial.
Moraes, P. S. Curso Bsico de Lgica de Programao. Unicamp - Centro de
Computao - Lgica de Programao.
Shine, C. Y. A Torre de Hani. Artigo baseado em aula ministrada na IV Semana
Olmpica, Salvador: Colgio Etapa.
Tonin, N. Apostila de Algoritmos e Estrutura de Dados I. Erechim: Universidade
Regional Integrada do Alto Uruguai e das Misses - URI Campus de Erechim - Curso de
Graduao em Cincia da Computao, 2005.
34
1 Lista de Exerccios
Montar em Descrio Narrativa, Fluxograma e Portugol.
1 - Crie uma seqncia lgica para tomar banho. Verificar o que fazer se acabar a gua.
2 - Descreva com detalhes a seqncia lgica para Trocar um pneu de um carro. Verificar
se tem estepe.
3 - Faa um algoritmo que crie um suco de acerola. Caso no tenha acar substituir por
adoante.
2 Lista de Exerccios
Utilizando linguagem natural, fluxogramas e Portugol, resolver os seguintes
problemas:
1 - Um homem precisa atravessar um rio com um barco que possui capacidade de
carregar apenas ele mesmo e mais uma de suas trs cargas, que so: um lobo, um bode
e um mao de alfafas. O que o homem deve fazer para conseguir atravessar o rio sem
perder suas cargas?
2 - Construa um algoritmo que mostre todos os passos que voc segue para escolher o
tipo de roupa com que vai sair, aps levantar, levando em considerao apenas o tempo
(bom, nublado, chuvoso) e a temperatura (quente, moderado, frio).
3 - Elabore um algoritmo que mova trs discos de uma Torre de Hani, que consiste em
trs hastes (a - b - c), uma das quais serve de suporte para trs discos diferentes (1 - 2 3), os menores sobre os maiores. Pode-se mover um disco de cada vez para qualquer
haste, contanto que nunca seja colocado um disco maior sobre um menor. O objetivo
transferir os trs discos para outra haste.
Simulao no site: http://www.npd.ufes.br/hanoi
4 - Trs jesutas e trs canibais precisam atravessar um rio; para tal, dispem de um
barco com capacidade para duas pessoas. Por medidas de segurana no se permite que
em alguma margem a quantidade de jesutas seja inferior de canibais. Qual a seqncia
de passos que permitiria a travessia com segurana?
35
3 Lista de Exerccios
Favor entregar esta lista nesta prpria folha (obrigatrio)
1 - Classifique os dados especificados abaixo de acordo com seu tipo, assinalando com I
os dados do tipo Inteiros, com R os Reais, com A os Alfanumrico, com B os lgicos
(Booleanos). Deixe em branco aqueles para os quais no possvel definir a priori um
tipo de dado.
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
"
)
)
)
)
)
)
)
)
)
)
)
)
)
)
)
)
)
)
)
.v.
" logico "
7094
F
2X
.falso.
" verdadeiro "
.verdadeiro.
y3
+ 56
.F.
" 01053-067 "
"f "
!
89.41
" fone$res "
- 7.05706
"-6"
ate_que
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
)
)
)
)
)
)
)
)
)
)
)
)
)
)
)
)
)
)
)
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
)
)
)
)
)
)
)
)
)
)
)
)
)
)
)
)
)
)
156
" 6RN "
" 11.06 "
- 123
" Prova1 + 2 "
" 15 "
" CARACT "
VAR
.falso.
111.3500089
" zero "
28B
- 1.0n
" 156 + 200 "
- 16.087
" constante "
alfanumerico
RESULT= - 18
)
)
)
)
)
fim
+8
" ramal "
enquanto
40P
(
(
(
(
(
)
)
)
)
)
programa
ate_que
" abril/00 "
nota_do_aluno
fone
(
(
(
(
(
)
)
)
)
)
ramal
var
acabou
INICIO
comea
3 - Assinale com um X os nomes vlidos para uma VARIVEL: Justifique o motivo quando
for um nome invlido:
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
)
)
)
)
)
)
)
)
)
)
)
)
)
)
)
)
)
)
)
z8ur8cmv
18log
y3
R$ 85.05
PROVA 1
data15_03_2000
ShoppingMorumbi
constante80.9
inicio
" mediad "
simpson@igo.com
X
fim
laranja 12_reais
Sul
RAMAL
O
I
A
5x
var
____________________________________________
____________________________________________
____________________________________________
____________________________________________
____________________________________________
____________________________________________
____________________________________________
____________________________________________
____________________________________________
____________________________________________
____________________________________________
____________________________________________
____________________________________________
____________________________________________
____________________________________________
____________________________________________
____________________________________________
____________________________________________
____________________________________________
36
4 Lista de Exerccios
Favor entregar esta lista nesta prpria folha (obrigatrio)
1 - Assinale com X os identificadores corretos e explique o que est errado nos
identificadores incorretos.
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
) valor
_____________________________________________________
) _b248
_____________________________________________________
) nota*do*aluno_____________________________________________________
) a1b2c3
_____________________________________________________
)3x4
_____________________________________________________
) km/h
_____________________________________________________
) xyz
_____________________________________________________
) nome empr _____________________________________________________
) sala_215
_____________________________________________________
) nota
_____________________________________________________
) ah!
_____________________________________________________
) abc
_____________________________________________________
) AB/C
_____________________________________________________
) 123a
_____________________________________________________
) 080
_____________________________________________________
) DBAC
_____________________________________________________
) xyz
_____________________________________________________
) A_B-C
_____________________________________________________
) U2
_____________________________________________________
) A123
_____________________________________________________
) Cos *4
_____________________________________________________
) SENAO
_____________________________________________________
2 - Classifique os dados especificados abaixo de acordo com seu tipo, assinalando com I
os dados do tipo inteiro, com R os reais, com L os literais, com B os lgicos (booleanos), e
com N aqueles para os quais no possvel definir a priori um tipo de dado.
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
) 0.21
)1
)V
) 0.
) 1%
) Jos
) 0,35
) .F.
) -0.001
) .T.
) +3257
) a
) +3257
) +3257.
) -0.0
) .F.
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
)-3
) .V.
) .V
) abc
)F
)C
) Maria
) +36
)0
) + 36
) +3257
) F
) 1
) + 32
) +3257
) 'F'
) 0,0
) - 0,001
) -0,0
) .V.
) 0
) + 0,05
) .V.
) F
) -1
) + 3257
) V
) -32
) a
) abc
) -1,9E13
) '0'
1) result <2) result <3) result <4) result <5) result <6) result <-
a*b-c+d
b/a-c*d
a*(b-c)+d
a**d-c**d+(b^2)
d*(b+c*(c/d))
a*(b-d)*((c-a) ^ 2)
Para os valores:
A=3, B=6, c=8,
Respostas:
1) result <- ____
2) result <- ____
3) result <- ____
4) result <- ____
5) result <- ____
6) result <- ____
d=2
Para os valores:
A=2, B=6, c=6,
Respostas:
1) result <- ____
2) result <- ____
3) result <- ____
4) result <- ____
5) result <- ____
6) result <- ____
d=1
37
5 Lista de Exerccios
Desenvolva os algoritmos nas 3 formas de representao: Descrio Narrativa
(Planejamento e Projeto), Fluxograma e codificao em Portugus Estruturado
(Portugol) dos seguintes programas:
1 - Criar um programa que efetue a leitura de quatro valores numricos. Faa a operao
de soma entre os quatro valores e apresente o resultado obtido.
2 - Desenvolver a lgica para um programa que efetue o clculo da rea de uma
circunferncia e do tringulo apresentando a medida das reas calculadas.
3 - Calcular e apresentar o valor do volume de uma lata de leo, utilizando a frmula:
VOLUME = pi * R2 * ALTURA.
4 Ler o nome e o endereo de uma pessoa. Apresentar em tela novamente.
6 Lista de Exerccios
Desenvolva os algoritmos nas 3 formas de representao: Descrio Narrativa
(Planejamento e Projeto), Fluxograma e codificao em Portugus Estruturado
(Portugol) dos seguintes programas:
1 - Efetuar a leitura de um nmero inteiro e apresentar o resultado do quadrado deste
nmero.
2 - Efetuar o clculo da quantidade de litros de combustvel gastos em uma viagem,
utilizando-se um automvel que faz 12 km por litro. Para obter o clculo, o usurios
dever fornecer o tempo gasto na viagem e a velocidade mdia durante a mesma. Desta
forma, ser possvel obter a distncia percorrida com a frmula DISTANCIA = TEMPO *
VELOCIDADE. Tendo o valor da distncia, basta calcular a quantidade de litros de
combustvel utilizada na viagem com a frmula: LITROS_USADOS = DISTANCIA / 12. O
programa dever apresentar os valores da velocidade mdia, tempo gasto na viagem, a
distncia percorrida e a quantidade de litros utilizada na viagem.
3 - Efetuar o clculo do valor de uma prestao em atraso, utilizando a frmula:
PRESTAO = VALOR + (VALOR * (TAXA / 100) * TEMPO).
4 - Dados dois nmeros inteiros, trocar o contedo desses nmeros.
7 Lista de Exerccios
Desenvolva os algoritmos nas 3 formas de representao: Descrio Narrativa
(Planejamento e Projeto), Fluxograma e codificao em Portugus Estruturado
(Portugol) dos seguintes programas:
1 - O cardpio de uma lanchonete dado abaixo. Prepare um algoritmo que leia a
quantidade de cada item que voc consumiu e calcule a conta final.
Hambrguer
R$ 3,00
Cheeseburger
R$ 2,50
Fritas
R$ 2,50
Refrigerante
R$ 1,00
Milkshake
R$ 3,00
2 - Dados dois nmeros inteiros, achar a mdia aritmtica entre eles.
38
3 - Escreva um algoritmo que tenha como entrada nome, endereo, sexo, salrio. Aps llos, apresente ao usurio os valores digitados.
4 - Fazer a transformao de um valor em dlar, para a moeda corrente do Brasil.
8 Lista de Exerccios
Desenvolva os algoritmos nas 3 formas de representao: Descrio Narrativa
(Planejamento e Projeto), Fluxograma e codificao em Portugus Estruturado
(Portugol) dos seguintes programas:
1 - Ler dois valores numricos, efetuar a multiplicao entre eles, e apresentar o resultado
caso o valor multiplicado seja maior ou igual que 5000.
2 - Efetue o clculo do reajuste de salrio de um funcionrio. Considere que o funcionrio
dever receber um reajuste de 15% caso seu salrio seja menor que R$ 500,00, se o
salrio foi maior ou igual a R$ 500,00 mas menor ou igual a R$ 1000,00, seu reajuste ser
de 10%, caso seja ainda maior que R$ 1000,00, o reajuste dever ser de 5%.
3 - Efetuar a leitura de um valor positivo ou negativo e apresentar o nmero lido como
sendo um valor positivo, ou seja, o programa dever apresentar o mdulo de um nmero
fornecido. Lembre-se de verificar se o nmero fornecido menor que zero, sendo
multiplique-o por -1.
9 Lista de Exerccios
Desenvolva os algoritmos nas 3 formas de representao: Descrio Narrativa
(Planejamento e Projeto), Fluxograma e codificao em Portugus Estruturado
(Portugol) dos seguintes programas:
1 - Ler 4 notas escolares de um aluno e imprimir uma mensagem dizendo que o aluno foi
aprovado, se o valor da mdia for maior ou igual que 7.
Caso o contrrio, solicitar a nota do exame final, somar com o valor da mdia e obter a
nova mdia. Se a nova mdia for maior ou igual a 5, apresentar uma mensagem que o
aluno foi aprovado em exame. Se o aluno no foi aprovado, indicar uma mensagem
informando esta condio. Apresentar com as mensagens o valor da mdia do aluno,
para qualquer condio.
2 - Conhea trs nmeros inteiros, e informe qual o maior. Exibi-los depois em ordem
crescente.
3 - Construa um algoritmo que verifique a validade de uma senha fornecida pelo usurio.
A senha vlida deve ser igual a cachorro.
10 Lista de Exerccios
Desenvolva os algoritmos nas 3 formas de representao: Descrio Narrativa
(Planejamento e Projeto), Fluxograma e codificao em Portugus Estruturado
(Portugol) dos seguintes programas:
1 - Ler um nmero inteiro entre 1 e 9 e escrever o nmero por extenso correspondente:
exemplo: Lido 1, ser apresentado um. Lido 2, ser apresentado dois etc.
2 - Ler um nmero inteiro entre 1 e 12 e escrever o ms correspondente. Caso o usurio
digite um nmero fora desse intervalo, dever aparecer uma mensagem informando que
no existe ms com este nmero.
39
3 - Uma faculdade atribui menes aos alunos conforme a faixa de notas que tenha
atingido:
9,0 a 10:
SS (superior)
7,0 a 8,9:
MS (mdio superior)
5, 0 a 6,9: MM (mdio)
3,0 a 4,9:
MI (mdio inferior)
0,1 a 2,9:
II (inferior)
0:
SR (sem rendimento).
Faa um programa que l a nota e informa a meno.
11 Lista de Exerccios
Desenvolva os algoritmos nas 3 formas de representao: Descrio Narrativa
(Planejamento e Projeto), Fluxograma e codificao em Portugus Estruturado
(Portugol) dos seguintes programas:
1 - Imprimir todos os nmeros de 1 a 100.
2 - Imprimir os mltiplos de 5, no intervalo de 1 a 500.
3 - Apresentar os quadrados dos nmeros inteiros de 15 a 200.
4 - Elaborar um programa que apresente o valor de uma potncia de uma base qualquer
elevada a um expoente qualquer, ou seja, de NM.
12 Lista de Exerccios
Desenvolva os algoritmos nas 3 formas de representao: Descrio Narrativa
(Planejamento e Projeto), Fluxograma e codificao em Portugus Estruturado
(Portugol) dos seguintes programas:
1 - Apresentar as potncias de 3 variando de 0 a 15. Deve ser considerado que qualquer
nmero elevado a zero 1, e elevado a 1 ele prprio. Dever ser apresentado,
observando a seguinte definio:
30 = 1
31 = 3
32 = 9
(...)
315 = 14348907
2 - Criar um algoritmo que imprima todos os nmeros de 1 a 100 e a soma deles. (1 + 2 +
3 + 4 + 5 + 6 + 7 + etc. + 97 + 98 + 99 + 100).
3 - Apresentar os resultados de uma tabuada de um nmero qualquer. Esta dever ser
impressa no seguinte formato:
Considerando como exemplo o fornecimento do nmero 2
2x1= 2
2x2= 4
2x3= 6
2x4= 8
2x5=10
(...)
2x10=20
40
13 Lista de Exerccios
Desenvolva os algoritmos nas 3 formas de representao: Descrio Narrativa
(Planejamento e Projeto), Fluxograma e codificao em Portugus Estruturado
(Portugol) dos seguintes programas:
1 - Escrever um algoritmo que calcule a mdia dos nmeros digitados pelo usurio, se
eles forem pares, termine a leitura se o usurio digitar 0 (zero) e mostre o resultado final.
2 - Fazer um programa para imprimir o conceito de um aluno, dada a sua nota. Supor
notas inteiras somente. O critrio para conceitos o seguinte:
- nota inferiores a 3 - conceito E;
- nota de 3 a 5 - conceito D;
- notas 6 e 7 - conceito C;
- notas 8 e 9 - conceito B;
- nota 10 - conceito A.
3 - Ler vinte valores e contar quantos deles so maiores que 1000.
4 Faa um algoritmo que exiba os nmeros pares entre 1000 e 0, nessa ordem, usando
a estrutura para.
5 - Dado um conjunto de nmeros inteiros, obter a soma e a quantidade de elementos.
6 - Desenhar o Fluxograma para o seguinte programa codificado em Portugol:
Algoritmo SALARIOCOMREAJUSTE
Var
SAL: Real
SALREAJ: Real
Inicio
leia SAL
se (SAL < 500) entao
SALREAJ (SAL * 1.15)
senao
se (SAL <= 1000) entao
SALREAJ (SAL * 1.10)
senao
SALREAJ (SAL * 1.05)
fimse
fimse
escreva SALREAJ
FimAlgoritmo
7 - Programa Seu nome
Voc digita seu nome na tela e apresenta como resposta (em tela novamente) o que voc
digitou.
Formato da tela:
___________________________________
Digite seu nome: ______________
Seu nome :
______________
___________________________________
41
14 Lista de Exerccios
Desenvolva os algoritmos nas 3 formas de representao: Descrio Narrativa
(Planejamento e Projeto), Fluxograma e codificao em Portugus Estruturado
(Portugol) dos seguintes programas:
1 - Faa um programa para gerar e exibir os nmeros inteiros de 20 at 10, decrescendo
de 1 em 1.
2 - Calcule o fatorial de um nmero qualquer.
Exemplo: Se o valor lido for 5. O fatorial de 5! : 5 x 4 x 3 x 2 x 1.
Exemplo: Se o valor lido for 150. O fatorial de 150! : 150 x 149 x 148 x ... 3 x 2 x 1.
Se o nmero for zero, o fatorial de 0! tem como resultado 1.
3 - Escreva um algoritmo que escreva 15 vezes o nome do seu time preferido. O valor
deve ser inserido pelo usurio. Ao final, apresentar tambm: "O melhor time do sculo!".
4 - Escreva um algoritmo que calcule a soma e a mdia dos salrios dos funcionrios de
uma empresa. O programa termina quando o usurio digitar um salrio menor que 0.
15 Lista de Exerccios
Desenvolva os algoritmos nas 3 formas de representao: Descrio Narrativa
(Planejamento e Projeto), Fluxograma e codificao em Portugus Estruturado
(Portugol) dos seguintes programas:
1 - Realizou-se uma pesquisa para determinar o ndice de mortalidade infantil em um
certo perodo. Construa um algoritmo que leia o nmero de crianas nascidas no perodo
e, depois, num nmero indeterminado de vezes, o sexo de uma criana morta (masculino,
feminino) e o nmero de meses da vida da criana.
Como finalizador, teremos a palavra fim no lugar do sexo da criana.
Determine e imprima:
- a porcentagem de crianas mortas no perodo;
- a porcentagem de crianas do sexo masculino mortas no perodo;
- a porcentagem de crianas que viveram dois anos ou menos no perodo.
2 - Recebendo quatro mdias bimestrais, calcule a media do ano (ponderada), sabendo
que o 1 bimestre tem peso 1, o 2 bimestre tem peso 2, o 3 bimestre tem peso 3 e o 4
bimestre tem peso 4. Sabendo que para aprovao o aluno precisa ter uma mdia anual
maior ou igual a 7, escreva uma mensagem indicando se o aluno foi aprovado ou
reprovado.
Observao: Mdia anual = (1 bimestre * 1+ 2 bimestre * 2 + 3 bimestre * 3 + 4
bimestre * 4) / (1+2+3+4)
3 - Escreva um programa para ler o nome e o sobrenome de uma pessoa e escrev-los
na seguinte forma:
sobrenome seguido por uma vrgula e pelo nome.
Exemplo: entrada: "Antonio","Soares"
sada: Soares, Antonio
4 - Deseja-se calcular a conta de consumo de energia eltrica de um consumidor. Para
isto, escreva um programa que leia o cdigo do consumidor, o preo do Kw e a
quantidade de Kw consumido, e exiba o cdigo do consumidor e o total a pagar.
- total a pagar = preo x quantidade
- total a pagar mnimo = R$ 11,20
42