Академический Документы
Профессиональный Документы
Культура Документы
Algoritmos
Algoritmo
o pensamento descrito como uma sequncia
de passos que visam atingir um objetivo
Algoritmos no dia-a-dia: Receita de bolo,
orientao para se chegar em algum endereo
Qual sua importncia na programao?
Representar o raciocnio, independentemente de
detalhes computacionais, que podem ser
acrescentados mais tarde
Focalizar primeiro na resoluo algortmica do
problema, possibilitando depois codific-la em
qualquer linguagem
Quo cremoso?!?
Algoritmo Grfico-Textual
Informal
Identificao das peas
Algoritmo Grfico-Textual
Informal
Instrues
Leia e entenda as instrues antes de comear a
montagem
Lave as peas com gua e detergente. Na lavagem
sero removidos desmoldantes e sujeiras, que
dificultam a colagem e a pintura. Faa isto dentro de
uma bacia, para evitar perder peas pequenas, que
porventura se soltem
Encontre as peas que devem ser usadas na
primeira parte da montagem (figura do slide anterior)
Lixe as peas com cuidado eliminando as rebarbas
...
Abre porta-malas
Sim
Acessrios
OK?
No
Fecha
porta-malas
Pega tringulo
posicionar escada
no
acendeu?
soquetes
restantes < 10
subir na escada
V
acionar o interruptor
no
acendeu?
V
pegar uma escada
acionar o interruptor
fim
...
O que Programao? =
ABSTRAO!
A realidade complexa
e rica em detalhes!
Abstrao
Realidade
O que voc abstrai dessa realidade?
Abstrao
O que abstrao?
Abstrao
Abstrao
=
Operao mental que
observa a realidade e
captura apenas os
aspectos relevantes
para um contexto
A tarefa de programar
sistemas computacionais
envolve o exerccio
constante da abstrao da
realidade e sua codificao
em uma linguagem de
programao
Abstrao
Realidade
Abstrao
+
Programao
Sistema Computacional
O que um
Sistema Computacional?
Sistema Computacional
Sistema
Computacional
Software
Hardware
Peopleware
Programao de Sistema
Computacional
A programao de um sistema computacional
pode ser resumida em 3 passos bsicos
Entrada
Processamento
Sada
Dispositivo
de Entrada
UCP
Dispositivo
de Sada
Memria
Programao de Sistema
Computacional
Exemplo 1 Exibir a mdia de dois nmeros
Entrada
Processamento
Sada
Dispositivo
de Entrada
UCP
Dispositivo
de Sada
Memria
6,8
(6 + 8) / 2
Programao de Sistema
Computacional
Exemplo 2 Exibir se o aluno est aprovado ou reprovado
Entrada
Processamento
Sada
Dispositivo
de Entrada
UCP
Dispositivo
de Sada
Memria
Ana, 5, 3
Se (5+3)/2>=7
aprovado
Seno
reprovado
Ana, reprovado
Linguagem
de
Mquina
Alto Nvel
Linguagem
Assembly
(Mnemnica)
Linguagem
de
Alto N vel
val2 = val1+val2
(2)
(3)
Noes de Lgica
Lgica: Cincia que estuda as formas do pensamento
Sempre que pensamos a lgica nos acompanha
Um beb sabe que precisa chorar para receber ateno
Um casal com 3 filhos notou que um vaso estava quebrado,
enquanto 2 das crianas estavam na escola. Quem o culpado?
A gaveta est fechada. A caneta est dentro da gaveta.
Precisamos primeiro abrir a gaveta para depois pegar a caneta.
Atividade 1 (10min)
Resolva os seguintes problemas de lgica
P1 Uma lesma deve subir um poste de 10m de
altura. De dia sobe 2m e noite desce 1m. Em
quantos dias atingir o topo do poste?
P2 - Trs gatos comem trs ratos em trs minutos.
Cem gatos comem cem ratos em quantos minutos?
P3 - O pai do padre filho do meu pai. O que eu sou
do Padre?
P4 - Se um bezerro pesa 75 kg mais meio bezerro,
quanto pesa um bezerro inteiro?
Atividade 1 (10min)
Resolva os seguintes problemas de lgica
P5 Qual o prximo nmero da seqncia
7,8,10,13,17,?
P6 Um pai de 80kg e suas 2 filhas (40kg cada),
precisam sair de uma ilha com um barco. Porm a
capacidade do barco de 80kg. Como faro para sair
da ilha?
P7 Usando uma jangada, um campons precisa
atravessar uma cabra, um leo e um fardo de capim
para a outra margem do rio. A jangada s tem lugar
para ele e mais outra coisa. O que ele deve fazer
para atravessar o rio com seus pertences intactos?
RESPOSTAS - Atividade 1
Respostas
R1 - 9(nove) dias. No nono dia a lesma sobe 2(dois) metros,
atinge o topo e evidentemente no desce 1 metro
R2 3 (trs) minutos
R3 Tio
R4 150 (cento e cinqenta) kg
R5 22
R6 Vo as duas filhas. Uma delas volta. O pai sai. A outra filha
volta. As duas filhas saem juntas.
R7 - Primeiro leve a cabra, volte e pegue o capim; deixe o capim
e leve a cabra de volta; deixe a cabra e leve o leo, depois s
voltar e pegar a cabra.
Noes de Lgica
Em Lgica um conceito importante
o de Proposio
Noes de Lgica
Proposio: um enunciado verbal, ao qual deve ser atribudo,
sem ambigidade, um valor lgico verdadeiro (V) ou falso (F).
Exemplos de proposies:
Robson Fidalgo Professor (V)
3 + 5 = 10 (F)
5 < 8 (V)
Contra-exemplos de Proposies:
Onde voc vai ?
3+5
Os estudantes jogam vlei. (quais ?)
O que
Programao
de computadores?
INSTRUES
Instrues Delimitadoras
Servem para especificar o incio e o fim do
algoritmo.
incio
...
fim
Declarao de Variveis
Declarao de Variveis
Exemplos:
declare a,b,c: real;
declare nome: string;
declare sexo: caracter;
declare pratica_esporte: lgico;
Bloco de Comentrio
Serve para explicar um determinado
trecho do algoritmo, para torna-lo mais
claro, facilitando seu entendimento por
outras pessoas ou posteriormente.
{ <comentrio> }
Exemplo:
{ Isto um exemplo de comentrio }
Instruo de Entrada
Usada para ler dados de entrada do
algoritmo.
leia(<variveis>);
onde:
<variveis> - contero os dados lidos.
Instruo de Entrada
Exemplos:
leia(a,b,c);
leia(nome);
leia(sexo);
leia(pratica_esporte);
Instruo de Sada
Usada para mostrar os resultados do
processamento dos dados de entrada.
escreva(<resultados>);
onde:
<resultados> - geralmente o contedo de uma
ou mais variveis com a resposta do
problema.
Instruo de Sada
Exemplos:
escreva(O valor de D : , D);
escreva(nome, sexo);
escreva(Pratica esporte.);
Instruo de Atribuio
Utilizado para atribuir um determinado
valor a uma varivel.
<varivel>
<expresso>;
onde:
<varivel> - nome de uma varivel
<expresso> - um valor do mesmo tipo da
varivel ou uma expresso lgica ou
aritmtica.
Instruo de Atribuio
Exemplos
D
2-4*A*C;
nome
Paulo;
Pratica_Esporte
Sexo
M;
TRUE;
Estruturas de Controle
Baseado na lgica estruturada, Bohn e
Jacopini provaram que apenas trs
estruturas so suficientes para explicar a
soluo de qualquer problema, inclusive
tornando-os estruturados e mais legveis.
Estruturas de Controle
So elas:
Estrutura Seqencial: os comandos ou
instrues vo sendo executados na ordem
em que aparecem no algoritmo.
Estruturas de Controle
Estrutura de Repetio: comandos so
executados repetidas vezes at que uma
condio de parada seja satisfeita
Estruturas de Controle
Estrutura de Seleo: Conforme o
resultado de uma expresso lgica,
determinados comandos so executados
e outros no, caracterizando assim uma
seleo de comandos
TRUE
FALSE
Instrues de Seleo
Tipo simples:
se <sentena> ento
<comandos>;
fim-se
OBS.:
<comandos> sero executados apenas se
<sentena> resultar em TRUE.
Instrues de Seleo
Exemplo:
se A>0 ento
B
A + 1;
A
0;
fim-se
Instrues de Seleo
Tipo composto:
se <sentena> ento
<comandos1>;
seno
<comandos2>;
fim-se
OBS.:
<comandos1> sero executados apenas se
<sentena> resultar em TRUE. Em caso contrrio,
<comandos2> sero executados.
Instrues de Seleo
Exemplo:
se A>B ento
B
A + 1;
A
0;
seno
A
0;
B
A + 1;
fim-se
Instrues de Repetio
Enquanto / Fim-Enquanto
enquanto <sentena> faa
<comandos>;
fim-enquanto;
OBS.:
<comandos> sero executados enquanto
<sentena> resultar em TRUE.
Instrues de Repetio
Exemplo:
enquanto A>0 faa
leia(B);
escreva(B);
A
A - 1;
fim-enquanto;
Instrues de Repetio
Repita / At
repita
<comandos>;
at <sentena>;
OBS.:
<comandos> sero executados at que
<sentena> resulte em TRUE.
Instrues de Repetio
Exemplo:
repita
leia(B);
escreva(B);
A
A - 1;
at A<1;
Instrues de Repetio
Para / At / Fim-Para
para <varivel>
<inicial> at <final> faa
<comandos>;
fim-para;
OBS.:
<varivel> - contador do tipo inteiro
<inicial> - valor inicial da varivel
<final> - valor final da varivel
Instrues de Repetio
Exemplo:
{ Comandos para escrever 10 vezes uma frase
na tela do computador }
para i
1 at 10 faa
escreva(ltimo tipo de repetio);
fim-para;
Estrutura de um Algoritmo
Um algoritmo em Portugol tem a seguinte
estrutura:
incio
<declarao de variveis>
<inicializao de variveis>
<corpo lgico do algoritmo>
fim
6. Desligar;
7. Retirar o carto;
Fim.
E se ...?
Um algoritmo
SEMPRE sofre melhorias sucessivas.
(Tcnica de refinamentos sucessivos)
Fluxogramas - Exemplo 1
Achar o valor da expresso: D = B2 - 4AC.
Incio
Ler A, B, C
D = B2 - 4*A*C
Escrever D
Fim
Fluxogramas:
Exemplo 2
Achar o maior de
dois nmeros A e
B.
Incio
Ler A, B
Comparar
A com B
A=B
Escrever:
A e B iguais
A>B
Escrever:
A maior
Fim
A<B
Escrever:
B maior
Ler os valores de A, B e C
Calcular a expresso D = B2 - 4AC
Mostrar o resultado desse clculo
Pseudocdigo - Exemplo 1
Achar o valor da expresso: D = B2 - 4AC.
Incio
Declare A,B,C,D; { Declarao de variveis }
Leia(A,B,C);
D
B^2 - 4*A*C; { Operao de atribuio }
Escreva(D);
Fim.
Pseudocdigo - Exemplo 2
Achar o maior de dois nmeros A e B.
Incio
Declare A,B; { Declarao de variveis }
Leia(A,B);
Se A = B Ento Escreva(A e B iguais);
Seno Se A>B Ento Escreva(A maior);
Seno Escreva(B maior);
Fim-Se
Fim-Se
Fim.
Atividade 3
Reescreva corretamente o algoritmo
abaixo
Algoritmo aprovao
Incio
1. Obter as 2 notas do aluno;
2. Repita
1. Se Mdia do aluno >=7, ento
1. Repita
1. Informar que o aluno est REPROVADO;
2. At Mdia < 7
2. Seno Mdia >= 7
1. Informar que o aluno est APROVADO;
3. At ltimo aluno;
Fim.
RESPOSTA - Atividade 3
Algoritmo aprovao
Incio
1. Repita
1. Obter as 2 notas do aluno;
UM EXERCCIO
Construa um algoritmo para escolher as
duas maiores laranjas de um balaio
Outros exerccios...
1) leia um nmero inteiro e mostre uma mensagem indicando se
este nmero par ou mpar, e se positivo ou negativo
Var num: inteiro
inicio
escreval("Digite o nmero")
leia(num) //Lendo a varivel
Outros exerccios...
2) leia quatro nmeros inteiros e encontre a mdia aritmtica
simples entre as que correspondem a nmeros pares. Lembrese que no pode haver diviso por zero
a1<-a mod 2
b1<-b mod 2
c1<-c mod 2
d1<-d mod 2
contador<-0
soma<-0
se (a1)=0 entao
contador<-contador+1
soma<-soma+(a)
fimse
se (b1)=0 entao
contador<-contador+1
soma<-soma+(b)
fimse
se (c1)=0 entao
contador<-contador+1
soma<-soma+(c)
fimse
se (d1)=0 entao
contador<-contador+1
soma<-soma+(d)
fimse
se contador<>0 entao
mp<-soma/contador
escreva("Mdia dos Pares:",mp)
senao
escreva("No Existe nmeros Pares")
fimse
Outros exerccios...
3) leia 4 notas, calcule a mdia dessas e escreva: Reprovado
(mdia < 5), Recuperao (mdia >= 5 e < 7) e Aprovado
(mdia >= 7)
inicio
escreva ("escreva a primeira nota: ")
leia (nota1)
escreva ("escreva a segunda nota: ")
leia (nota2)
escreva ("escreva a terceira nota: ")
leia (nota3)
soma<-(nota1+nota2+nota3)/3