You are on page 1of 42

AlgorlLmos

Ldeyson Andrade Come


r lnLroduo
r Lglca
r ueflnles 8slcas
r Lglca de rogramao
r nomenclaLuras
r Slmbologlas
r C que e a Lglca?
r Manelra parLlcular de racloclnar
r Con[unLo de regras e prlnclplos que orlenLam lmpllclLa ou
expllclLamenLe o desenvolvlmenLo de uma argumenLao ou
de um racloclnlo a resoluo de um problema
r 8amo da fllosofla que culda das regras do bem pensar do
pensar correLamenLe
r Coerncla e 8aclonalldade
r ueLermlna a valldade de operaes aLraves das formas e lels
do pensamenLo
r ensamenLo
r ManlfesLao do conheclmenLo
r C conheclmenLo busca a verdade
r L preclso esLabelecer regras para que essa meLa possa ser aLlnglda
r ArLe de bem pensar
r Crdem da razo do pensamenLo
r A forma como as pessoas racloclnam e esLudo da pslcologla cognlLlva
3 Ldeyson Andrade Comes wwwedeysoncombrlnLroduo
r MeLodo deduLlvo
r Modo de racloclnlo lglco que faz uso da deduo para
obLer uma concluso a respelLo de deLermlnadas premlssas
r C racloclnlo deduLlvo se caracLerlza por apresenLar concluses que
so verdadelras caso Lodas as premlssas se[am verdadelras
r A deduo no oferece conheclmenLo novo Lla
r conduz parLlcularldade de uma lel geral prevlamenLe conheclda
r organlza e especlflca o conheclmenLo que [ se possul
r Lem como ponLo de parLlda o plano do lnLellglvel
6 Ldeyson Andrade Comes wwwedeysoncombrlnLroduo
r MeLodo deduLlvo
r Lxemplos
r 1odo mamlfero e um anlmal
r 1odo gaLo e um mamlfero
r Logo Lodo gaLo e um anlmal
r 8ex e um cachorro
r Cachorros no voam
r Logo 8ex no voa
r Callnhas Lem dols pes
r Pomens Lem dols pes
r Logo homens so gallnhas
7 Ldeyson Andrade Comes wwwedeysoncombr
Soflsma ArgumenLo que parLe de premlssas
verdadelras ou Lldas como verdadelras e
chega a uma concluso lnadmlsslvellnLroduo
r MeLodo lnduLlvo
r arLese de premlssas parLlculares na busca de
uma lel geral
r Lxemplo
r C ferro conduz eleLrlcldade e e um meLal
r C ouro conduz eleLrlcldade e e um meLal
r C cobre conduz eleLrlcldade e e um meLal
r Logo os meLals conduzem eleLrlcldade
8 Ldeyson Andrade Comes wwwedeysoncombrueflnles
8slcasueflnles 8slcas
r 8acloclnlo Lglco
r laLores que lnLerferem
r ALeno conheclmenLo experlncla crlaLlvldade eLc
r C que e?
r Soluo de problemas
r ALlnglr ob[eLlvos
r Lflccla e eflclncla
r Lu sel pensar!!
r or que esLudar lglca?
r Cue MeLodo se usa?
10 Ldeyson Andrade Comes wwwedeysoncombrueflnles 8slcas
r Cb[eLlvos da Lglca
r LsLudo de Lecnlcas de formallzao deduo e anllse para
valldar argumenLos
r 8epresenLar formalmenLe os argumenLos
r Lglca no dlaadla
r ensamenLo exlge lglca Crdem
r Lxemplos
r A gaveLa esL fechada
r A caneLa esL denLro da gaveLa
r Como fazer para pegar a caneLa?
11 Ldeyson Andrade Comes wwwedeysoncombrueflnles 8slcas
r Lxerclclo
r 1 ulvldlr 21 garrafas (opacas com mesma capacldade volumeLrlca e com
formas dlferenLes) de vlnho (7 Chelas 7 vazlas e 7 pelo melo) enLre 3
pessoas Cada uma deve receber a mesma quanLldade de garrafas e de
vlnho
r 2 roblemas das Laran[as
r ConLadas de 2 em 2 3 em 3 3 em 3 e 7 em 7
r 1rs mlsslonrlos e Lrs canlbals esLo encalhados numa llha com
apenas um pequeno barco para chegar a Lerra flrme
r Cs mlsslonrlos nunca devem esLar em menor numero do que os canlbals
nem na llha nem em Lerra nem duranLe o LransporLe
r LxlsLe uma unlca canoa para duas pessoas
r 1odos devem aLravessar Como fazer a Lravessla?
12 Ldeyson Andrade Comes wwwedeysoncombrLglca de
rogramaoLglca de rogramao
r C que e um programa?
r Cual seu programa para o flm de semana?
r Como se programa a gravao de um canal na Sk??
r C que e um programa de compuLador?
r C Word e um programa?
r C lL e um programa?
r or que?
r um programa pode calcular um salrlo?
r Como? Com que crlLerlos?
14 Ldeyson Andrade Comes wwwedeysoncombrLglca de
rogramao
r rograma
r LsLruLura sequenclal compleLa
r assos loglcamenLe vlldos e coerenLes
r C racloclnlo lndepende da llnguagem usada para represenLlo
r Lglca de programao lndepende das llnguagens de programao
rogramao
r AlgorlLmo
r Con[unLo de passos para aLlnglr um ob[eLlvo execuLar uma
Larefa
r Como deLermlnar uma sequncla coerenLe e vllda de passos?
r Crdem do pensamenLo
r Lglca
r Lxerclclo
r 1rocar o pneu de um carro?
r Como deLermlnar Lodos os dlvlsores de n?
r Como deLermlnar se n e prlmo?
r 8esoluo de um problema no compuLador
r C que e necessrlo?
r 1 uescrlo clara e preclsa do problema
r ll ueflnlo de uma sequncla de passos que permlLam a soluo de
manelra auLomLlca e repeLlLlva
r lll lormaLao dos dados
r LnLrada e salda
r Sequncla de passos para a soluo
r AlgorlLmo
r um algorlLmo e unlco?
r onLos de vlsLa
r LxlsLe algorlLmo para a crlao de algorlLmos?
18 Ldeyson Andrade Comes wwwedeysoncombrAlgorlLmos
r ueflnlo
r rocesso de clculo ou de resoluo de um grupo de
problemas semelhanLes em que se esLlpulam com generalldade
e sem resLrles regras formals para a obLeno do resulLado
ou da soluo do problema"
r Con[unLo de regras e operaes bem deflnldas e ordenadas
desLlnadas soluo de um problema ou de uma classe de
problemas em um numero flnlLo de eLapas"
r ulclonrlo Aurello
19 Ldeyson Andrade Comes wwwedeysoncombrAlgorlLmos
20 Ldeyson Andrade Comes wwwedeysoncombr
8ecelLa lndlcao mlnuclosa sobre a quanLldade dos lngredlenLes e a
manelra de preparar um praLo salgado ou doce
ulclonrlo Aurello
uados de LnLrada uados de SaldaAlgorlLmos
r um algorlLmo opera sobre um con[unLo de enLradas de modo
a gerar uma salda uLll para o usurlo
r uados de enLrada e salda
r um algorlLmo possul 3 caracLerlsLlcas lmporLanLes
r llnlLude
r ueve sempre Lermlnar aps um numero flnlLo de passos
r ueflnlo
r Cada passo de um algorlLmo deve ser preclsamenLe deflnldo
r As aes devem ser deflnldas rlgorosamenLe e sem amblguldades
r LnLradas
r um algorlLmo deve Ler zero ou mals enLradas
21 Ldeyson Andrade Comes wwwedeysoncombrAlgorlLmos
r um algorlLmo de 3 caracLerlsLlcas lmporLanLes
r LlmlLao ou llnlLude
r ueflnlo
r LnLradas
r Saldas
r um algorlLmo deve Ler uma ou mals saldas
r LfeLlvldade
r um algorlLmo deve ser efeLlvo
r 1odas as operaes devem ser suflclenLemenLe bslcas de modo que possam
ser execuLadas com preclso em um Lempo flnlLo por um humano usando
papel e lpls
r roblema
r LxlsLem duas vasllhas com capacldades de 9 e 4 llLros
respecLlvamenLe
r As vasllhas no Lem nenhum Llpo de marcao de modo que
no e posslvel Ler medldas como meLade ou um Lero
r MosLre uma sequncla de passos que usando as vasllhas de 9 e
4 llLros encha uma Lercelra vasllha de medlda desconheclda
com sels llLros de gua
r Consldere que clnco rs esLo poslclonadas em sels casas
da segulnLe manelra
r As rs foram Lrelnadas para Lrocar de casas mas sempre
obedecendo as segulnLes regras
r elas podem pular para a casa vlzlnha (frenLe ou Lrs) se ela
esLlver vazla
r elas podem pular sobre a r vlzlnha para uma casa llvre (frenLe
ou Lrs)
r MosLre como as rs podem chegar a segulnLe poslo flnal
24 Ldeyson Andrade Comes wwwedeysoncombr
8 1 8 2 8 3 8 4 8 3
8 3 8 4 8 3 8 2 8 1AlgorlLmos
23 Ldeyson Andrade Comes wwwedeysoncombr
8 1 8 2 8 3 8 4 8 3AlgorlLmos
26 Ldeyson Andrade Comes wwwedeysoncombr
8 1 8 2 8 3 8 4 8 3
8 2 8 1 8 3 8 4 8 3AlgorlLmos
27 Ldeyson Andrade Comes wwwedeysoncombr
8 1 8 2 8 3 8 4 8 3
8 2 8 1 8 3 8 4 8 3
8 2 8 1 8 3 8 4 8 3AlgorlLmos
28 Ldeyson Andrade Comes wwwedeysoncombr
8 1 8 2 8 3 8 4 8 3
8 2 8 1 8 3 8 4 8 3
8 2 8 1 8 3 8 4 8 3
8 2 8 3 8 1 8 4 8 3AlgorlLmos
29 Ldeyson Andrade Comes wwwedeysoncombr
8 1 8 2 8 3 8 4 8 3
8 2 8 1 8 3 8 4 8 3
8 2 8 1 8 3 8 4 8 3
8 2 8 3 8 1 8 4 8 3
8 2 8 3 8 1 8 4 8 3AlgorlLmos
30 Ldeyson Andrade Comes wwwedeysoncombr
8 1 8 2 8 3 8 4 8 3
r C ob[eLlvo de apresenLar 1CuCS os passos serve para
que?
r 8epeLlo
r 8usca de subcon[unLo
r Slmpllflcar problema
r roblema
r Como enconLrar a conLa com o menor saldo enLre os cllenLes
de um banco?
r Saldos podem esLar negaLlvos
r assos de ConsLruo
r Compreender o problema
r ldenLlflcar os dados de enLrada e salda
r ueLermlnar o que e preclso para Lransformar dados de enLrada em
dados de salda
r usar a esLraLegla do dlvldlr para conqulsLar (Lopdown)
r observar regras e llmlLaes
r ldenLlflcar Lodas as aes a reallzar
r ellmlnar amblguldades
r ConsLrulr o algorlLmo
r 1esLar o algorlLmo
r LxecuLar o algorlLmo
MeLodo 1opuown
r ConslsLe em dlvldlr um problema em parLes menores
r subproblemas
r de modo que se[a mals fcll a sua resoluo
r Lxemplo
r lazer suco de laran[a
r Lavar laran[a
r arLlr laran[a ao melo
r Lspremer laran[a
r lllLrar o suco
r Servlr o suco
42 Ldeyson Andrade Comes wwwedeysoncombrAlgorlLmos
r Crlao de algorlLmos para resolver problemas
r Complexo
r uesaflo mals aLraLlvo ao programador
r Clncla ou ArLe?
r um algorlLmo e uma descrlo deLalhada passo a passo de
como resolver um problema ou execuLar uma Larefa
r A programao conslsLe na codlflcao preclsa desse algorlLmo
segundo uma llnguagem de programao especlflca
43 Ldeyson Andrade Comes wwwedeysoncombr8epresenLao de
AlgorlLmos8epresenLao de AlgorlLmos
r As formas mals comuns de represenLao de
algorlLmos so as segulnLes
r Llnguagem naLural
r Cs algorlLmos so descrlLos deLalhadamenLe em llnguagem naLural
r lluxograma
r Cs algorlLmos so represenLados graflcamenLe
r usamse formas geomeLrlcas padronlzadas para descrever aes e
declses na resoluo do problema
r seudollnguagem
r Cs algorlLmos so descrlLos aLraves de uma llnguagem lnLermedlrla enLre
a llnguagem naLural e uma llnguagem de programao
8epresenLao de AlgorlLmos
r Llnguagem naLural
r lnlclo do AlgorlLmo x8urger
r egar um po
r Abrlr o po ao melo
r assar manLelga no po
r Colocar quel[o no po
r Colocar presunLo no po
r Colocar ovo frlLo no po
r lechar o po
r llm do AlgorlLmo x8urger
r Cnde esLavam a manLelga o quel[o e o presunLo?
r Cuem frlLou o ovo? lsso faz parLe do algorlLmo?
r odemos deflnlr um algorlLmo frlLar ovo e reuslo?
r Llnguagem naLural
r lnlclo do AlgorlLmo Medla
r ALrlbulr um valor para a varlvel a
r ALrlbulr um valor para a varlvel b
r ALrlbulr um valor para a varlvel c
r Calcular medla como a soma de a b e c dlvldlda por 3
r lmprlmlr a medla
r llm do AlgorlLmo Medla
r Llnguagem naLural
r Como calcular as ralzes de uma equao do segundo grau?
r ax
2
+ bx + c
r b
2
4ac
r x1 (b + v) / 2a
r x2 (b v) / 2a
r A deve ser dlferenLe de 0
r deve ser malor que zero para Ler ralzes reals
48 Ldeyson Andrade Comes wwwedeysoncombr8epresenLao de
AlgorlLmos
r Llnguagem naLural
r lnlclo do AlgorlLmo 8alzes
r CbLer os coeflclenLes a b e c
r Se a e lgual a zero lnformar que esLa e uma equao de 1 grau e Lermlnar o
algorlLmo
r Caso conLrrlo conLlnue e faa
r Calcular delLa b
2
4ac
r Se delLa for negaLlvo lnformar que a equao no Lem ralzes reals e Lermlnar o
algorlLmo
r Caso conLrrlo conLlnue e faa
r Calcular x1(b + ralz quadrada de delLa)/(2a)
r Calcular x2(b ralz quadrada de delLa)/(2a)
r lornecer como resulLado x1
e x2
r 1ermlnar o algorlLmo
r llm do AlgorlLmo 8alzes
49 Ldeyson Andrade Comes wwwedeysoncombrlluxogramas
Ldeyson Andrade Comes
30lluxogramas
r lluxograma e um dlagrama
r 8epresenLa o esquema de soluo de um problema
r ApresenLa llnha de racloclnlo lglco
r lndependenLe de llnguagem de programao
r lnLellglvel por humanos e compuLadores
r C que e um programa de compuLador?
r Como Lransformar as solues dos dols problemas anLerlores
em programas?
r Como expllcar o racloclnlo lglco da soluo?
r uma vez que um programa de compuLador esL pronLo
como compreendlo?
r C problema da manuLeno 20 x 80
r Lu no flz fao melhor!
r Lu no flz s !esus enLende!
r CC
r Como documenLar de forma esLruLurada o que se faz?
r C dlagrama e uma llnguagem unlversal?
r L o que so lluxogramas?
r lerramenLa?
r uescrevem o fluxo de ao de um processo
r Soluo de problema vla represenLao esquemLlca
r 8epresenLao Crflca
33 lnlclo e llm de
lluxo
LnLrada Manual de
uados
rocesso
ueclso
Lxlblolluxogramas
r LsLruLuras de ConLrole
34 Ldeyson Andrade Comes wwwedeysoncombrLsLruLuras de
ConLrole
r Sequncla
r Lxecuo de um con[unLo de aes em serle
r no exlsLe a posslbllldade de alLerao da ordem de
processamenLo das aes
33 Ldeyson Andrade Comes wwwedeysoncombrLsLruLuras de
ConLrole
r Seleo com 1 vla AlLernaLlva
r 1omada de declso
r C fluxo de processamenLo execuLa a Ao 1 apenas se o valor lglco
da expresso avallada no lnlclo da esLruLura for verdade
36 Ldeyson Andrade Comes wwwedeysoncombrLsLruLuras de
ConLrole
r Seleo com 2 vlas
r 1omada de declso
r C fluxo de processamenLo segue por 1 das 2 vlas dependendo do
valor lglco da expresso avallada no lnlclo da esLruLura
37 Ldeyson Andrade Comes wwwedeysoncombrLsLruLuras de
ConLrole
r Seleo com n vlas
r 1omada de declso
r C fluxo de processamenLo segue por 1 das n vlas dependendo do
valor lglco da expresso avallada no lnlclo da esLruLura
ConLrole
r 8epeLlo com 1esLe AnLeclpado
r P a necessldade de Lomar uma declso com base no valor
lglco de uma expresso
r A mesma ao ser execuLada repeLldamenLe enquanLo o resulLado
da expresso lglca se manLlver verdadelro
r C LesLe da expresso lglca precede a ao
r C LesLe funclona como uma condlo de parada das repeLles
r 8epeLlo com 1esLe osLergado
r SemelhanLe anLerlor mudando apenas quando efeLuar o LesLe
Lx
r Como calcular as ralzes de uma equao do prlmelro grau?
r y ax + b
r Se x e lgual a zero lmprlmlr que no h ralz
r Seno calcular o valor de x quando y e zero
r x b/a
r Lxemplo
r Como calcular as ralzes de uma equao do segundo grau?
r ax
2
+ bx + c
r b
2
4ac
r x1 (b + v) / 2a
r x2 (b v) / 2
r A deve ser dlferenLe de 0
r deve ser malor que zero para Ler ralzes reals
63 Ldeyson Andrade Comes wwwedeysoncombrlluxogramas
64 Ldeyson Andrade Comes wwwedeysoncombrseudo
Llnguagemseudo Llnguagem
r 8epresenLao de algorlLmos vla llnguagem prxlma de
uma llnguagem de programao de alLo nlvel
r seudocdlgo
r Sem regras de consLruo gramaLlcal mulLo rlgldas
r Llnguagem naLural com llmlLao de escopo
r vocabulrlo e SlnLaxe llmlLados
r uAL lnLerpreLador
66 Ldeyson Andrade Comes wwwedeysoncombrseudo Llnguagem
67 Ldeyson Andrade Comes wwwedeysoncombr
prog Lquacao2oCrau
lnL a b c delLa
real x1 x2
lmprlma nCual o valor de a?
lela a
se (a 0)
lmprlma nA equacao e de prlmelro grau

senao
lela b
lela c
delLa (b * b) (4 * a * c)
se (delLa 0)
x1 ((1 * b) + ralz(delLa)) / (2 * a)
x2 ((1 * b) + ralz(delLa)) / (2 * a)
lmprlma nx1 x1
lmprlma nx2 x2

senao
lmprlma nA equacao nao Lem ralzes reals


flmprogseudocdlgo
vA8lAvLlS S C l A Mu lnLelro
lnlClC
S 0
C 0
A8A l 1 A1L 10 lAA
lnlClC
Lscreva(ulglLe um numero)
LL8 (a)
SL a 0 Ln1C
lnlClC
S S+a
C C+1
llM SL
llM A8A
Mu S/C
LSC8LvL8 (A medla e Mu)
llM
69Lxerclclo
r usando as 8epresenLaes de AlgorlLmos
resolva o problema dos 1rlngulos
r Lela o valor de Lrs lados de um Lrlngulo (a b e c)
e deLermlne se ele e
r LqullLero possul Lodos os lados lguals
r lssceles possul pelo menos dols lados lguals
r Lscaleno possul os Lrs lados dlferenLes
r or exemplo a 3 b 3 c 3
r lssceles
r lnlclo do AlgorlLmo 1rlngulos
r CbLer os lados a b e c
r Se os Lrs lados so lguals lmprlma que e LqullLero
r Se dols lados so lguals lmprlma que e lssceles
r Se os Lrs lados so dlferenLes lmprlma que e Lscaleno
r llm do AlgorlLmo 1rlngulos
r Com esLe algorlLmo 1CuC LqullLero serla Lambem lssceles
r lnlclo do AlgorlLmo 1rlngulos
r CbLer os lados a b e c
r Se os Lrs lados so lguals lmprlma que e LqullLero
r Se apenas dols lados so lguals lmprlma que e lssceles
r Se os Lrs lados so dlferenLes lmprlma que e Lscaleno
r llm do AlgorlLmo 1rlngulos
r nesLe caso as condles so muLuamenLe excluslvas
necesslLando do SLnC
r lnlclo do AlgorlLmo 1rlngulos
r CbLer os lados a b e c
r Se os Lrs lados so lguals lmprlma que e LqullLero
r Seno
r se dols lados so lguals lmprlma que e lssceles
r Seno
r lmprlma que e Lscaleno
r llm do AlgorlLmo 1rlngulos
74 Ldeyson Andrade Comes wwwedeysoncombrLlnguagem naLural
r lnlclo do AlgorlLmo 1rlngulos
r CbLer os lados a b e c
r Se a b e b c lmprlma que e LqullLero
r Seno se a b ou b c ou a c lmprlma que e lssceles
r Seno lmprlma que e Lscaleno
r llm do AlgorlLmo 1rlngulos
73 Ldeyson Andrade Comes wwwedeysoncombr1rlngulos
76 Ldeyson Andrade Comes wwwedeysoncombrLlnguagem naLural
r lnlclo do AlgorlLmo 1rlngulos
r CbLer os lados a b e c
r Se a b e b c lmprlma que e LqullLero
r Se a b ou b c ou a c lmprlma que e lssceles
r Seno lmprlma que e Lscaleno
r llm do AlgorlLmo 1rlngulos
r Lsse algorlLmo d o mesmo resulLado do anLerlor?
r 8esp SlM
r Cual o problema dele?
r C segundo SL sempre ser execuLado lndependenLe do
resulLado do prlmelro SL nesLe caso Lodo LqullLero ser
lssceles
77 Ldeyson Andrade Comes wwwedeysoncombrLxerclclo
Ldeyson Andrade Comes
wwwedeysoncombr
78Lxerclclos
r usando as 8epresenLaes de AlgorlLmos descreva os
segulnLes algorlLmos
r Ler Lrs numeros e lmprlmlr o malor deles
r Ler clnco numeros e lmprlmlr o malor deles
r Ler dez numeros e lmprlmlr o malor deles
r Ler mll numeros e lmprlmlr o malor deles
r C que se lnfere dos resulLados?
79 Ldeyson Andrade Comes wwwedeysoncombrLer Lrs numeros e
lmprlmlr o malor deles
r lnlclo do AlgorlLmo
r C Malor numero (chamado de Malor) lnlcla com o menor
valor posslvel
r Ler n1
r Se Malor e menor que n1 faa Malor lgual a n1
r Ler n2
r Se Malor e menor que n2 faa Malor lgual a n2
r Ler n3
r Se Malor e menor que n3 faa Malor lgual a n3
r lmprlma Malor
r llm do AlgorlLmo
80 Ldeyson Andrade Comes wwwedeysoncombrLer clnco numeros e
lmprlmlr o malor deles
r lnlclo do AlgorlLmo
r C Malor numero lnlcla com o menor valor posslvel
r Ler n1
r Se Malor e menor que n1 faa Malor lgual a n1
r Ler n2
r Se Malor e menor que n2 faa Malor lgual a n2
r Ler n3
r Se Malor e menor que n3 faa Malor lgual a n3
r Ler n4
r Se Malor e menor que n4 faa Malor lgual a n4
r Ler n3
r Se Malor e menor que n3 faa Malor lgual a n3
r lmprlma Malor
r llm do AlgorlLmo
81 Ldeyson Andrade Comes wwwedeysoncombrLer dez numeros e
lmprlmlr o malor deles
r lnlclo do AlgorlLmo
r C Malor numero lnlcla com o menor valor posslvel
r laa 10 vezes
r Ler n
r Se Malor e menor que n faa Malor lgual a n
r lmprlma Malor
r llm do AlgorlLmo
82 Ldeyson Andrade Comes wwwedeysoncombrlluxograma
83 Ldeyson Andrade Comes wwwedeysoncombrlluxograma
84 Ldeyson Andrade Comes wwwedeysoncombr83 Ldeyson Andrade
Comes wwwedeysoncombr
lnlclo do AlgorlLmo
C Malor numero lnlcla
com o menor valor
posslvel
laa 10 vezes
Ler n
Se Malor e menor
que n faa
Malor lgual a n
lmprlma Malor
llm do AlgorlLmo
var l n malor lnLeger
begln
malor 0
for l 1 Lo 10 do
begln
wrlLeln(ulglLe um valor para n)
readln(n)
lf (malor n) Lhen
malor n
end
wrlLeln(C malor valor eh malor)
readkey
end86 Ldeyson Andrade Comes wwwedeysoncombr
lnlclo do AlgorlLmo
C Malor numero lnlcla
com o menor valor
posslvel
laa 10 vezes
Ler n
Se Malor e menor
que n faa
Malor lgual a n
lmprlma Malor
llm do AlgorlLmo
begln
malor 0
l 1
whlle (l 10) do
begln
wrlLeln(ulglLe um valor para n)
readln(n)
lf (malor n) Lhen
malor n
l l + 1
end
wrlLeln(C malor valor eh malor)
readkey
end87 Ldeyson Andrade Comes wwwedeysoncombr
lnlclo do AlgorlLmo
C Malor numero lnlcla
com o menor valor
posslvel
laa 10 vezes
Ler n
Se Malor e menor
que n faa
Malor lgual a n
lmprlma Malor
llm do AlgorlLmo
begln
malor 0
l 1
repeaL
begln
wrlLeln(ulglLe um valor para n)
readln(n)
lf (malor n) Lhen
malor n
l l + 1
end
unLll (l 10)
wrlLeln(C malor valor eh malor)
readkey
endLxerclclo
Ldeyson Andrade Comes
wwwedeysoncombr
88Lxerclclo
r usando as 8epresenLaes de AlgorlLmos descreva
deLalhadamenLe os passos para os segulnLes algorlLmos
r Ler Lrs numeros e lmprlmllos em ordem crescenLe
r Ler clnco numeros e lmprlmllos em ordem crescenLe
r Ler dez numeros e lmprlmllos em ordem crescenLe
r Ler mll numeros e lmprlmllos em ordem crescenLe
r C que se lnfere dos resulLados?
89 Ldeyson Andrade Comes wwwedeysoncombrLer Lrs numeros e
lmprlmllos em
ordem crescenLe n1 3 n2 2 n3 1
r Malor 0 Menor 0 Melo 0
r Ler n1 n2 n3
r Se n1 n2 enLo Malor n1
r Seno Malor n2
r Se Malor n3 enLo Malor n3
90 Ldeyson Andrade Comes wwwedeysoncombrLer Lrs numeros e
lmprlmllos em
ordem crescenLe 3 8 10
r Malor 0 Menor 0 Melo 0
r Ler n
r Malor n Menor n Melo n
r Ler n
r Se n Malor enLo Malor n
r Seno Melo n Menor n
r Ler n
r Se n Malor enLo Melo Malor e Malor n
r Seno Se n Melo enLo Melo n
r Seno Menor n
91 Ldeyson Andrade Comes wwwedeysoncombrLer Lrs numeros e
lmprlmllos em
ordem crescenLe n1 3 n2 2 n3 1
r Malor 0 Menor 0 Melo 0
r Ler n1 n2 n3
r Se n1 n2 enLo Menor n2
r Seno Menor n1
r Se Menor n3 enLo Menor n3
92 Ldeyson Andrade Comes wwwedeysoncombrLer clnco numeros e
lmprlmllos em ordem crescenLe
n1 3 n2 4 n3 3 n4 2 n3 1
r Malor 0 Menor 0 Melo 0
r Ler n1 n2 n3 n4 n3
r Se n1 n2 enLo Malor n1
r Seno Malor n2
r Se Malor n3 enLo Malor n3
r Se Malor n4 enLo Malor n4
r Se Malor n3 enLo Malor n3
93 Ldeyson Andrade Comes wwwedeysoncombrLer Lrs numeros e
lmprlmllos em ordem crescenLe
r lnlclo do AlgorlLmo
r lnlclar n1 n2 e n3 com zero
r Ler n
r Se n e menor que n1 Lroca n com n1
r Ler n
r Se n e menor que n1 Lroca n com n1
r Se n e menor que n2 Lroca n com n2
r Ler n
r Se n e menor que n1 Lroca n com n1
r Se n e menor que n2 Lroca n com n2
r Se n e menor que n3 Lroca n com n3
r llm do AlgorlLmo
94 Ldeyson Andrade Comes wwwedeysoncombrLxerclclos
r Como deLermlnar Lodos os dlvlsores de n?
r Como deLermlnar se n e prlmo?
93 Ldeyson Andrade Comes wwwedeysoncombrLxerclclo
Ldeyson Andrade Comes
wwwedeysoncombr
96Lxerclclo
r 8eglsLro
r Ler um arqulvo com n 8eglsLros
r lmprlmlr um relaLrlo com alunos aprovados
r Calcular a medla arlLmeLlca das noLas
r Medla de aprovao 70
r S exlsLe uma lmpressora
97 Ldeyson Andrade Comes wwwedeysoncombr
nome noLa1 noLa2 noLa3r lnlclo do AlgorlLmo
r LnquanLo houver reglsLros no arqulvo faa
r Ler reglsLro
r lazer medla (noLa1 + noLa2 + noLa3) / 3
r Se medla malor ou lgual a 70 lmprlma o reglsLro
r llm do AlgorlLmo
98 Ldeyson Andrade Comes wwwedeysoncombrLxerclclo
r 8eglsLro
r Ler um arqulvo com n 8eglsLros
r lmprlmlr um relaLrlo com alunos aprovados e ouLro
com alunos reprovados
r Calcular a medla arlLmeLlca das noLas
r Medla de aprovao 70
r S exlsLe uma lmpressora
99 Ldeyson Andrade Comes wwwedeysoncombr
nome noLa1 noLa2 noLa3r lnlclo do AlgorlLmo
r Crlar uma coleo de alunos aprovados e ouLra de
reprovados
r LnquanLo houver reglsLros no arqulvo faa
r Ler reglsLro
r lazer medla (noLa1 + noLa2 + noLa3) / 3
r Se medla malor ou lgual a 70 lnclua o aluno na coleo de aprovados
seno coloqueo na coleo dos reprovados
r LnquanLo houver reglsLros na coleo Aprovados faa
r lmprlma reglsLro
r LnquanLo houver reglsLros na coleo 8eprovados faa
r lmprlma reglsLro
r llm do AlgorlLmo
100 Ldeyson Andrade Comes wwwedeysoncombrLxerclclo
r 8eglsLro
r Ler um arqulvo com vrlos 8eglsLros
r lmprlmlr a medla arlLmeLlca de Lodas as medlas dos
alunos
r Medla do aluno (noLa1 + noLa2 + noLa3) / 3
r A Medla das Medlas e a soma de Lodas as medlas dlvldlda pelo
numero de reglsLros
r lmprlma o numero de reglsLros lldos
101 Ldeyson Andrade Comes wwwedeysoncombr
nome noLa1 noLa2 noLa3r lnlclo do AlgorlLmo
r conLa8eglsLro 0
r MedlaCeral 0
r LnquanLo houver reglsLro no arqulvo faa
r Ler reglsLro
r Adlclone 1 a conLa8eglsLro
r lazer medlauoAluno (noLa1 + noLa2 + noLa3) / 3
r Adlclone medlauoAluno a MedlaCeral
r MedlaCeral MedlaCeral / conLa8eglsLro
r lmprlma MedlaCeral e conLa8eglsLro
r llm do AlgorlLmo
102 Ldeyson Andrade Comes wwwedeysoncombrLxerclclo
r 8eglsLro A
r 8eglsLro 8
r roblema
r Ler um arqulvo com vrlos 8eglsLros de 2 1lpos
r Se o prlmelro campo (1lC) Llver o valor Ar calcular a medla como
(noLa1 + noLa 2) / 2
r Se o prlmelro campo (1lC) Llver o valor 8r calcular a medla como
(noLa1 + noLa 2 + noLa 3) / 2
r A Medla das Medlas e a soma de Lodas as medlas dlvldlda pelo
numero de reglsLros
r lmprlma o a Medla das medlas e o numero de reglsLros
lldos
103 Ldeyson Andrade Comes wwwedeysoncombr
1lpo nome noLa1 noLa2
1lpo nome noLa1 noLa2 noLa3lluxogramas
r roblema
r Lela A e 8
r Se A 8 enLo lmprlma A
r Seno lmprlma 8
104 Ldeyson Andrade Comes wwwedeysoncombrlluxogramas
r roblema
r Lela A 8 C
r Se A 8 enLo lmprlma A
r Seno
r Se 8 C enLo lmprlma 8
r Seno lmprlma C
103 Ldeyson Andrade Comes wwwedeysoncombrlluxogramas
r roblema
r Lela A
r Se A 1 lmprlma Cl
r Se A 2 lmprlma Claro
r Se A 3 lmprlma 1lM
r Se A 4 lmprlma vlvo
106 Ldeyson Andrade Comes wwwedeysoncombrlluxogramas
r roblema
r Lela A
r Se A 1 lmprlma Cl
r Se A 2 lmprlma Claro
r Se A 3 lmprlma 1lM
r Se A 4 lmprlma vlvo
107 Ldeyson Andrade Comes wwwedeysoncombrlluxograma
r roblema
r lmprlmlr Lodos os numeros
naLurals no lnLervalo 1 n
r AlgorlLmo
r lnlclo do AlgorlLmo
r laa numero varlar de 1 aLe n
r lmprlma numero
r llm do AlgorlLmo
108 Ldeyson Andrade Comes wwwedeysoncombrlluxograma
r roblema
r lmprlmlr Lodos os numeros A8LS
naLurals no lnLervalo 1 n
r AlgorlLmo
r lnlclo do AlgorlLmo
r llm do AlgorlLmo
109 Ldeyson Andrade Comes wwwedeysoncombrlluxograma
r roblema
r lmprlmlr Lodos os numeros A8LS
naLurals no lnLervalo 1 n
r AlgorlLmo
r lnlclo do AlgorlLmo
r llm do AlgorlLmo
110 Ldeyson Andrade Comes wwwedeysoncombrlluxograma
r roblema
r lmprlmlr Lodos os mulLlplos de 3
naLurals no lnLervalo 1 n
r AlgorlLmo
r lnlclo do AlgorlLmo
r llm do AlgorlLmo
111 Ldeyson Andrade Comes wwwedeysoncombrlluxograma
r roblema
r lmprlmlr Lodos os mulLlplos de
3 e 3 naLurals no lnLervalo 1 n
r AlgorlLmo
r lnlclo do AlgorlLmo
r llm do AlgorlLmo
112 Ldeyson Andrade Comes wwwedeysoncombrlluxograma
r roblema
r Lscreva um lao que lmprlma os 10 prlmelros
numeros da sequncla de llbonaccl
0 1 1 2 3 3 8 13
r AlgorlLmo
r lnlclo do AlgorlLmo
r llm do AlgorlLmo
113 Ldeyson Andrade Comes wwwedeysoncombrlluxograma
r AlgorlLmo
r lnlclo do AlgorlLmo
r laa 2 0
r laa 1 1
r lmprlma 2 1
r laa 8 vezes
r Seq 2 + 1
r lmprlma Seq
r 2 1
r 1 Seq
r llm do AlgorlLmo
114 Ldeyson Andrade Comes wwwedeysoncombrr 0 1 1 2 3
3 8 13
r | |
r 2 1
r Seq 2 + 1
r 0 1 1 2 3 3 8 13
r | |
r 2 1
r Seq 2 + 1
113 Ldeyson Andrade Comes wwwedeysoncombrr 0 1 1 2 3
3 8 13
r | |
r 2 1
r Seq 2 + 1
r 0 1 1 2 3 3 8 13
r | |
r 2 1
r Seq 2 + 1
116 Ldeyson Andrade Comes wwwedeysoncombrAlgorlLmos e
rogramao
Ldeyson Andrade Comes
wwwedeysoncombr
117AlgorlLmos e rogramao
r LxlsLem vrlas fases dlsLlnLas na elaborao de programas
r Anllse do problema
r Lspeclflcao do problema anllse de requlslLos
r C CuL?
r Concepo da Soluo
r Modelo ConcelLual
r Modelo ArqulLeLural
r CCMC?
r lmplemenLao
r 1raduo do modelo arqulLeLural em algorlLmo
r 1raduo do AlgorlLmo em llnguagem de programao
r 1esLes
118 Ldeyson Andrade Comes wwwedeysoncombrascal
Ldeyson Andrade Comes
wwwedeysoncombr
119ascal
r A llnguagem ascal fol desenvolvlda no lnlclo da decada
de 1970 por nlcklausWlrLh na unlversldade 1ecnlca de
Zurlque Sula
r C prlmelro compllador para a llnguagem fol dlsponlblllzado em
1970
r Cb[eLlvo
r Ser uma llnguagem de programao de alLo nlvel volLada ao
enslno da programao esLruLurada
r Seu nome devese a uma homenagem a 8lalse ascal fllsofo e
maLemLlco francs que vlveu enLre 1623 e 1662
120 Ldeyson Andrade Comes wwwedeysoncombrLsLruLura de um
rograma ascal
r 1odo programa em ascal e dlvldldo em Lrs reas
dlsLlnLas cabealho rea de declaraes e corpo
121 Ldeyson Andrade Comes wwwedeysoncombr
cabealho
rea de declaraes
corpoCabealho
r C cabealho e uma rea uLlllzada para que se possa
ldenLlflcar um programa aLraves de um nome
r lnsLruo program
r Cbservaes
r no pode exlsLlr nenhuma varlvel no programa que Lenha o mesmo nome dado a
ele
r C uso de serve para deflnlr comenLrlos no cdlgo
122 Ldeyson Andrade Comes wwwedeysoncombr
SlnLaxe
program nomeuorograma
1 program adlclonanumeros
2 rograma que l 2 numeros e lmprlme sua somarea de ueclaraes
r rea de ueclaraes
r uLlllzada para crlar ldenLlflcadores que no se[am predeflnldos
r 1odo ob[eLo num programa ascal como varlvels e
consLanLes preclsam ser ldenLlflcadas por um nome unlco que
no exlsLa alnda nele
r ascal [ predeflne nomes como lnLeger real boolean eLc
r A rea de declaraes pode ser subdlvldlda em seLe subreas
r uses label consL Lype var procedure e funcLlon
123 Ldeyson Andrade Comes wwwedeysoncombruLlllzao de unlLs
r As unlLs so con[unLos de roLlnas que [ esLo pronLas para
serem usadas pelo programador
r or exemplo se qulsermos llmpar a Lela ou ler o Leclado [ exlsLem
funes pronLas para lsso nas unlLs So elas
r C81 possul a malor parLe das roLlnas e varlvels de gerao de som
conLrole de vldeo e Leclado
r uCS possul as roLlnas que envolvem a uLlllzao do slsLema operaclonal
r C8AP possul roLlnas desLlnadas a manlpulaes grflcas
r CvL8LA? posslblllLa gerenclar as aLlvldades de um programa
economlzando memrla
r 8ln1L8 permlLe declarar um arqulvo Llpo LexLo com o nome LS1 e
assocllo lmpressora
r S?S1LM possul a malor parLe das roLlnas padro da llnguagem ascal e e
usada de forma auLomLlca
124 Ldeyson Andrade Comes wwwedeysoncombruLlllzao de unlLs
r ara se fazer uso de unlLs e necessrlo o uso da lnsLruo
uses anLes da declarao da lnsLruo var
123 Ldeyson Andrade Comes wwwedeysoncombr
SlnLaxe
uses nomeuaunldade
1program adlclonanumeros
2 rograma que l 2 numeros e lmprlme sua soma
3
4 usa a blblloLeca C81 onde esL a funo 8eadkey
3 uses crLueclarao de varlvels
r ara a declarao de varlvels num programa usase a
lnsLruo var
r Cada varlvel Lem um nome unlco no programa (ldenLlflcador)
e um Llpo
r Cbservaes
r Aps o nome de cada varlvel deve ser uLlllzado o slmbolo dolsponLos ( ) seguldo
pelo Llpo de dado que a varlvel lr receber seguldo de ponLoevlrgula
r Caso as varlvels se[am de mesmo Llpo esLas podero ser relaclonadas separadas por
vlrgula or exemplo var a b c lnLeger lsso deflne as varlvels a b e c como sendo do
Llpo lnLeger (lnLelra)
126 Ldeyson Andrade Comes wwwedeysoncombr
SlnLaxe
var nomeuavarlvel Llpo de dado
nomeueCuLravarlvel Llpo de dadoueclarao de varlvels
127 Ldeyson Andrade Comes wwwedeysoncombr
1 program adlclonanumeros
2 rograma que l 2 numeros e lmprlme sua soma
4 usa a blblloLeca C81 onde esL a funo 8eadkey
3 uses crL
7 ueclara a b e soma como varlvels lnLelras
8 var
9 a b lnLeger
10 soma lnLegerCorpo do rograma
r um programa em ascal esL escrlLo numa rea
denomlnada corpo do programa que Lem lnlclo com a
lnsLruo begln e e flnallzada pela lnsLruo end segulda
do slmbolo ponLo ( )
r C uso desLas lnsLrues caracLerlza o que e chamado de bloco
de comandos como lndlcado abalxo
128 Ldeyson Andrade Comes wwwedeysoncombr
SlnLaxe
begln
lnsLrues do programa
endCorpo do rograma
r MosLrar programa adlclonanumeros no ascal
r ApresenLar uevascal
r Compllar e execuLar programa
129 Ldeyson Andrade Comes wwwedeysoncombradlclonanumeros
r AlgorlLmo usado em Llnguagem naLural
r lnlclo do AlgorlLmo
r SollclLar ao usurlo para lnserlr o valor de a
r Ler um valor para a varlvel a
r SollclLar ao usurlo para lnserlr o valor de b
r Ler um valor para a varlvel b
r LfeLuar a soma das varlvels a e b colocando o resulLado na
varlvel soma
r ApresenLar o valor da varlvel soma aps a operao de soma dos
dols valores fornecldos
r Aguardar aLe que algo se[a presslonado
r llm do AlgorlLmo
130 Ldeyson Andrade Comes wwwedeysoncombrLxerclclo
r lnlclo do AlgorlLmo Medla3n
r SollclLar ao usurlo para dlglLar o valor da varlvel a
r Ler um valor para a varlvel a
r SollclLar ao usurlo para dlglLar o valor da varlvel b
r Ler um valor para a varlvel b
r SollclLar ao usurlo para dlglLar o valor da varlvel c
r Ler um valor para a varlvel c
r Calcular a medla como a soma de a b e c dlvldlda por 3
r lmprlmlr os Lrs valores lldos e a medla
r 1ermlnar o AlgorlLmo Medla3n
131 Ldeyson Andrade Comes wwwedeysoncombrvarlvels e
ConsLanLes
r Lm ascal varlvels consLanLes Llpos deflnldos pelo
usurlo procedlmenLos e funes preclsam de um nome
que fornea uma ldenLlflcao unlca e lsso e felLo aLraves
de ldenLlflcadores
r nomes em ascal devem segulr as segulnLes regras de
consLruo
r lnlclar sempre por uma leLra (a z A Z) ou um underllne (_)
r C resLanLe do ldenLlflcador deve conLer apenas leLras underllnes ou
dlglLos (09) no pode conLer ouLros caracLeres e
r ode Ler qualquer Lamanho desde que os prlmelros 63 caracLeres
se[am slgnlflcaLlvos
132 Ldeyson Andrade Comes wwwedeysoncombrvarlvels e
ConsLanLes
r no exlsLe dlsLlno enLre leLras malusculas e
mlnusculas no nome de um ldenLlflcador
r or exemplo os nomes ALPA alpha e Alpha so equlvalenLes
para o ascal
r Cbservaes
r CamelCase e a denomlnao em lngls para a prLlca de escrever
palavras composLas ou frases onde cada palavra e lnlclada com
Malusculas e unldas sem espaos
r L um padro largamenLe uLlllzado em dlversas llnguagens de programao
como !ava 8uby e yLhon
r Lxemplos nomeuoCllenLe 1lpoueea Medlaonderada
Medlaue3numeros
133 Ldeyson Andrade Comes wwwedeysoncombralavras
8eservadas
r ascal reconhece cerLo grupo de palavras como sendo
reservadas
r Llas Lm slgnlflcado especlal e no podem ser usadas como
ldenLlflcadores em um programa
r So elas
r absoluLe and array asm begln case consL consLrucLor
desLrucLor dlv do downLo else end flle for funcLlon goLo lf
lmplemenLaLlon ln lnherlLed lnllne lnLerface label mod nll noL
ob[ecL of on operaLor or packed procedure program record
relnLroduce repeaL self seL shl shr sLrlng Lhen Lo Lype unlL
unLll uses var whlle wlLh xor
134 Ldeyson Andrade Comes wwwedeysoncombrComenLrlos
r ComenLrlos so LexLos escrlLos denLro do cdlgofonLe
para expllcar ou descrever alguns aspecLos relaLlvos ao
mesmo
r A slnLaxe requerlda aos comenLrlos permlLe o uso de
chaves como em comenLrlo ou de parnLesls e
asLerlscos como em (* comenLrlo *)
133 Ldeyson Andrade Comes wwwedeysoncombrvarlvels
r uma varlvel e uma reglo da memrla ldenLlflcada
aLraves de um nome cu[o valor pode mudar duranLe a
execuo do programa
r Como ascal e uma llnguagem forLemenLe Llpada cada varlvel
preclsa obrlgaLorlamenLe de um Llpo de dados
predeLermlnado
r SlnLaxe
var
varlvel Llpo de dado
varlvel1 varlvel2 Llpo de dado2
136 Ldeyson Andrade Comes wwwedeysoncombrvarlvels
r nesLa especlflcao de slnLaxe varlvel Lem seu Llpo
deflnldo por Llpo de dado
r noLe que varlvel1 e varlvel2 so deflnldas [unLas
separadas por vlrgulas e aLrlbulndose um unlco Llpo de
dados
r lsso pode ser felLo para qualquer numero de varlvels que
comparLllhem um mesmo Llpo de dados
137 Ldeyson Andrade Comes wwwedeysoncombrConsLanLes
r uma consLanLe e uma reglo roLulada da memrla aLraves
de um nome cu[o valor no pode mudar duranLe a
execuo do programa
r um exemplo de consLanLe e o l na maLemLlca
r SlnLaxe
consL nomeuaConsLanLe expresso
138 Ldeyson Andrade Comes wwwedeysoncombr1lpos de uados
r um Llpo de dado especlflca as caracLerlsLlcas ou se[a
quals os posslvels valores e operaes que um dado
possul
r or exemplo um valor lnLelro pode ser somado a ouLro
subLraldo mulLlpllcado eLc
r varlvels como apresenLado em sua slnLaxe requerem um Llpo
de dado em sua deflnlo
r A llnguagem ascal fornece ao programador um con[unLo de
Llpos de dados predeflnldos e que sero descrlLos a segulr
139 Ldeyson Andrade Comes wwwedeysoncombr1lpos de uados
lnLelros
r lnLelros so valores numerlcos poslLlvos ou negaLlvos
exclulndose qualquer numero fraclonrlo Lm ascal esLe
Llpo de dado pode ser referenclado por um dos segulnLes
ldenLlflcadores
r 8yLe ShorLlnL SmalllnL Word lnLeger Cardlnal
LonglnL Longword lnL64 e CWord
140 Ldeyson Andrade Comes wwwedeysoncombr
1lpo valores
1amanho
em 8yLes
8yLe 0233 1
ShorLlnL 128 127 1
SmalllnL 32768 32767 2
Word 0 63333 2
lnLeger SmalllnL ou LonglnL 2 ou 4
Cardlnal Longword 4
LonglnL 2147483648 2147483647 4
Longword 0 4294967293 4
lnL64 9223372036834773808
9223372036834773807
8
CWord 0 1844674473709331613 8uuvldas
Ldeyson Andrade Comes
wwwedeysoncombr
141