Você está na página 1de 18

1 Ano - ICC Introduo a Cincia da Computao

Prof. Eder Aparecido Bueno de Castro


P g i n a | 1
ALGORITMOS ALGORITMOS
E E
FLUXOGRAMAS FLUXOGRAMAS
1 Ano - ICC Introduo a Cincia da Computao
Prof. Eder Aparecido Bueno de Castro
P g i n a | 2
ALGORITMO
Algoritmo - Uma seqncia de aes finitas encadeadas e lgicas que descrevem
como um determinado problema deve ser resolvido.
Um algoritmo formalmente uma seqncia finita de passos que levam a
execuo de uma tarefa. Podemos pensar em algoritmo como uma receita, uma
seqncia de instrues que executam uma meta especfica. Estas tarefas no podem ser
redundantes nem subjetivas na sua definio, devem ser claras e precisas.
Como exemplos de algoritmos podemos citar os algoritmos das operaes bsicas
(adio, multiplicao, diviso e subtrao) de nmeros reais decimais. Outros exemplos
seriam os manuais de aparelhos eletrnicos, como um aparelho de som, que explicam
passo-a-passo como, por exemplo, gravar um evento.
At mesmo as coisas mais simples do nosso dia a dia, podem ser descritas
por seqncias lgicas. Por exemplo:
Apesar do nome pouco usual, algoritmos so comuns em nosso cotidiano, como
por exemplo, uma receita de bolo. Nela est descrita uma srie de ingredientes
necessrios e uma seqncia de diversos passos (aes) que devem ser fielmente
cumpridos para que se consiga fazer o alimento desejado, conforme se esperava, antes
do incio das atividades (objetivo bem definido).
Observa-se, porm que uma ordem isolada no permite realizar o processo
completo, para isso necessrio um conjunto de instrues colocadas em ordem
seqencial lgica. No exemplo do pargrafo anterior para fazermos um bolo no
podemos comear por colocar os ingredientes no forno. necessrio todo um processo
passo a passo para se chegar a este fim.
Formas de Representao de Algoritmos
Existem diversas formas de representao de algoritmos, mas no h um
consenso com relao melhor forma delas.
O critrio usado para classificar hierarquicamente estas formas est diretamente
ligado ao nvel de detalhe, inversamente ao grau de abstrao oferecido.
Algumas formas de representao de algoritmos tratam os problemas apenas em
nvel lgico, abstraindo-se de detalhes de implementao muitas vezes relacionados com
alguma linguagem de programao especfica. Por outro lado, existem formas de
representao de algoritmos que possuem uma maior riqueza de detalhes e muitas vezes
acabam por obscurecer a idia principal, o algoritmo, dificultando seu entendimento.
Dentre as formas de representao de algoritmo mais conhecidas, destacam-se:
A descrio narrativa;
O fluxograma convencional;
O pseudocdigo, tambm conhecido como linguagem estruturada ou Portugol.
Descrio arrati!a
Nesta forma de representao, os algoritmos so expressos em linguagem
natural.
Exemplo:
"Receita de #m $olo%
1. Separar os ingredientes
2. Bater os ovos em neve na batedeira
3. Acrescentar acar e farinha de trigo
4. Colocar extrato de baunilha
5. Acrescentar uma colher de manteiga
6. Acrescentar uma colher de Fermento em p
7. Verificar se esta doce o suficiente
8. Colocar na forma
9. Colocar no forno e assar
1 Ano - ICC Introduo a Cincia da Computao
Prof. Eder Aparecido Bueno de Castro
P g i n a | 3
10. Retirar do forno
11. Tirar da forma e servir
12. Fim do processo
Quando elaboramos um algoritmo devemos especificar aes claras e precisas,
que a partir de um estado inicial, aps um perodo de tempo finito, produzem um estado
final previsvel e bem definido. Isto significa que o algoritmo fixa um padro de
comportamento a ser seguido, uma norma de execuo a ser trilhada, com vistas a
alcanar, como resultado final, a soluo de um problema, garantindo que sempre que
executado, sob as mesmas condies, produza o mesmo resultado.
A importncia de se construir um algoritmo: conseguimos visualizar e testar ainda
no papel, a soluo criada com lgica de programao sem nos preocupar com detalhes
computacionais e uma vez concebida uma soluo algortmica para um problema, esta
pode ser traduzida facilmente para qualquer linguagem de programao e ser agregada
das funcionalidades disponveis nos diversos ambientes, ou seja, a codificao.
&se#doc'digo
Como foi visto at agora, o fluxograma convencional a primeira forma de
notao grfica, mas existe outra, que uma tcnica narrativa denominada
pseudocdigo, tambm conhecida como portugus estruturado ou chamada por alguns
de port#gol.
Esta tcnica de algoritmizao baseada em uma PDL - Program Design
Language (Linguagem de Projeto de Programao). Aqui vamos apresent-la em
portugus. A forma originas de escrita conhecida como ingls estruturado, muito
parecida com a notao da linguagem PASCAL. A PDL (neste caso, o pseudocdigo)
usada como referncia genrica para uma linguagem de projeto de programao, tendo
como finalidade mostrar uma notao para elaborao de algoritmos, os quais sero
utilizados na definio, criao e desenvolvimento de uma linguagem computacional
(Clipper, C, Fortran, Pascal, Delphi, Visual-Objects) e sua documentao. Abaixo
apresentado um exemplo deste tipo de algoritmo.
Os algoritmos so independentes das ling#agens de programao( Ao
contr)rio de #ma ling#agem de programao no e*iste #m +ormalismo r,gido
de como de!e ser escrito o algoritmo.
O algoritmo deve ser fcil de se interpretar e fcil de codificar. Ou seja, ele deve
ser o intermedirio entre a linguagem falada e a linguagem de programao.
Portugol
A maioria esmagadora das linguagens de programao de computadores em
lngua inglesa. Para facilitar o aprendizado de lgica de programao foram criadas
algumas pseudolinguagens.
O Portugol uma pseudolinguagem de programao, uma simbiose de Portugus,
Algol e Pascal, criada originalmente em ingls, com a proposta de ser independente da
linguagem nativa (ou seja, existe em japons, javans, russo...).
Basicamente, uma notao para algoritmos, a ser utilizada na definio,
criao, desenvolvimento e documentao dos programas.
Algumas Palavras Chave
Inicio- Fim- Algoritmo- En.#anto- Se- ento- &ara- At/- At/ .#e- Leia-
Escre!a- Faa- Repita- FimSe- FimEn.#anto- FimSelecione- entre o#tras .#e
!eremos adiante(
Regras para constr#o do Algoritmo
Para escrever um algoritmo precisamos descrever a seqncia de instrues, de
maneira simples e objetiva. Para isso utilizaremos algumas tcnicas:
1. Usar somente um verbo por frase
1 Ano - ICC Introduo a Cincia da Computao
Prof. Eder Aparecido Bueno de Castro
P g i n a | 4
2. Imaginar que voc est desenvolvendo um algoritmo para pessoas que no
trabalham com informtica
3. Usar frases curtas e simples
4. Ser objetivo
5. Evite usar palavras que tenham sentido dbio
6. Procure dividir o problema em etapas menores.
Fases Fundamentais
Vimos que ALGORITMO uma seqncia lgica de instrues que podem ser
executadas.
importante ressaltar que qualquer tarefa que siga comportamento padro pode
ser descrita por um algoritmo.
Entretanto ao montar um algoritmo, precisamos primeiro dividir o problema
apresentado em trs fases fundamentais...
ENTRADA0 So os dados de entrada do algoritmo
PROCESSAENTO0 Procedimentos utilizados para chegar ao resultado final
SA!DA: So os dados j processados
Analogia com o 1omem
E*emplo de Algoritmo
Imagine o seguinte problema: Calcular a mdia final dos alunos. Pelas provas os
alunos recebero 2 notas: N1, N2. Onde:
N1 + N2
Mdia Final = --------------------
2
Para montar o algoritmo proposto, faremos trs perguntas:
a2 3#ais so os dados de entrada4 R0 Os dados de entrada so N1, N2
$2 3#al ser) o processamento a ser
#tili5ado4
R0 O procedimento ser somar todos os
dados de entrada e dividi-los por 2
(dois)
c2 3#ais sero os dados de sa,da4 R0 O dado de sada ser a mdia final
Entrada Processamento Sada
1 Ano - ICC Introduo a Cincia da Computao
Prof. Eder Aparecido Bueno de Castro
P g i n a | 5
INICIO do algoritmo
Receba a nota da prova1
Receba a nota de prova2
Some todas as notas e divida o resultado por 2
Mostre o resultado da diviso
FIM do algoritmo
Teste de Mesa
Aps desenvolver um algoritmo ele dever sempre ser testado. Este teste
chamado de TESTE DE MESA, que significa, seguir as instrues do algoritmo de
maneira precisa para verificar se o procedimento utilizado est correto ou no,
escrevendo todas as variveis e resultados em uma tabela.
Programa m"dia
#ar
Nome$ caractere
N%& N'$ real
Soma& m"dia$ real
(n)cio
(m*rima +(nforme nome e notas do aluno$,
-eia nome
-eia n%
-eia n'
Soma ./ n% 0 n'
"dia ./ soma 1 '
(m*rima nome
(m*rima "dia
Se m"dia 2/3 Ento
(m*rima +A*rovado,
Caso contr4rio
(m*rima +Re*rovado,
Fim 5 Se
Fim
A diferena entre uma linguagem de programao de alto nvel utilizada em
computao e uma PDL que esta (seja escrita em portugus, ingls, ou qualquer outro
idioma) no pode ser compilada em um computador (por enquanto). Porm, existem
"Processadores de PDL que possibilitam traduzir essa linguagem numa representao
grfica de projeto, fornecendo uma variedade de informaes, como: tabelas de
referncia cruzada, mapas de aninhamento, ndice operacional do projeto, entre tantas
outras.
ATE67O: Lembramos que o fluxograma e o pseudocdigo so as duas tcnicas
importantes para a documentao da soluo de um problema computacional
Constantes& #ari4veis e Ti*os de #ari4veis
8ari)!eis e constantes so os elementos bsicos que um programa manipula.
Uma varivel um espao reservado na memria (endereo de memria) do computador
para armazenar um contedo de determinado tipo, varivel durante a execuo do
algoritmo.
Variveis devem receber nomes para poderem ser referenciadas e modificadas
quando necessrio. Um programa deve conter declaraes que especificam de que tipo
so as variveis que ele utilizar e as vezes um valor inicial. Tipos podem ser por
exemplo: inteiros, reais, caracteres, etc. As expresses combinam variveis e constantes
para calcular novos valores.
1 Ano - ICC Introduo a Cincia da Computao
Prof. Eder Aparecido Bueno de Castro
P g i n a | 6
#ari4veis
Varivel a representao simblica dos elementos de um certo conjunto.
Cada varivel corresponde a uma posio de memria, cujo contedo pode se
alterado ao longo do tempo durante a execuo de um programa. Embora uma varivel
possa assumir diferentes valores, ela s pode armazenar um valor a cada instante.
Exemplos de variveis:
Nome
Media = Soma / 20
Nome o nome dado a uma posio de memria para armazenar um contedo
com letras
Media o nome dado a uma posio de memria para armazenar um valor real
Soma e o nome dado a uma posio de memria para armazenar um valor real
Constantes
Constante uma determinada varivel que possui um valor fixo (que no se
modifica) durante a execuo de um algoritmo.
Conforme o seu tipo, a constante classificada como sendo numrica, lgica e
literal.
Exemplos de constante:
Nome = "Jose da Silva
Peso= 85
Ti*os de #ari4veis
As variveis e as constantes podem ser basicamente de seis tipos:

#m/rica Especficas para armazenamento de nmeros, que posteriormente
podero ser utilizados para clculos. Podem ser ainda classificadas
como Inteiras ou Reais. As variveis do tipo inteiro so para
armazenamento de nmeros inteiros e as Reais so para o
armazenamento de nmeros que possuam casas decimais (nmeros
fracionrios).
9aractere Especficas para armazenamento de conjunto de caracteres que no
contenham nmeros (literais). Ex: nomes.
Al+an#m/rica (Expresses) Especficas para dados que contenham letras e/ou
nmeros. Pode em determinados momentos conter somente dados
numricos ou somente literais. Se usado somente para armazenamento
de nmeros, no poder ser utilizada para expresses (operaes
matemticas).
L'gica Armazenam somente dados lgicos que podem ser Verdadeiro ou Falso.
Inde*ada Armazenam variveis uni e multidimensionais
Us#)rio Utilizada para variveis no bsica. So definidas atravs da instruo
TIPO

Declarao e Atri6uio de #ari4veis
As variveis para utilizadas no programa devem ser declaradas (criadas) logo
no incio do algoritmo, na seo DE9LARA6:ES, quando ser reservado espao na
memria. S podem armazenar valores de um mesmo tipo.
Todas as variveis quando so criadas tem um contedo n#lo (ou seja, nenhum
contedo).
Utilizamos o comando ATRI;UI67O ( ), para atribuir valor a uma varivel,
bem como inicializ-la com um determinado valor.
1 Ano - ICC Introduo a Cincia da Computao
Prof. Eder Aparecido Bueno de Castro
P g i n a | 7
O sentido a seta sempre da direita para a esquerda, e deve ser entendida como
: ... #m !alor ATRIBUIDO a uma !ari)!el.
Estrutura de 7m Algoritmo
ALGORITMO <=ome do algoritmo= 2
>Declara?es@
Nome : caracter { a varivel Nome criada como caracter }
Idade : inteiro { a varivel Idade nmero inteiro }
>Atri$#i?es@
Nome "Jos da Silva
Peso 85
II9IO (Nome do bloco) { se for o caso, de refinamento }
>Instr#?es@
< comandos >
FIM
Nome "Jos da Silva (A varivel "nome recebe valor "Jos da silva)
Peso 85 (A varivel "Peso recebe valor igual a 85)
Obs.: As sees Declaraes e Atribuies so PBLICAS dentro do programa. ou
seja so "vistas" em qualquer parte do programa. Dentro do Bloco, as sees
Declaraes e Atribuies so LOCAIS ao Bloco, ou seja so privadas (particulares,
internas) ao Bloco, conforme veremos em Refinamentos Sucessivos.
Imaginando o +#ncionamento de #m comp#tador0
Vamos agora criar um algoritmo para somar dois nmeros quaisquer. Podemos
criar uma seqncia de passos lgicos e encadeados para executar esta tarefa. Vamos
ainda imaginar que voc um computador e que estes passos so ordens que voc
dever seguir risca.
Cada retngulo abaixo uma tela do computador onde estaro as instrues a
serem executadas
&asso A 0 Incio do processo - Separe trs posies de memria para armazenar
temporariamente 3 nmeros aleatrios. Duas posies para armazenar 2 nmeros a
serem informados e 1 posio para armazenar o resultado solicitado da operao entre
os dois primeiros nmeros.
&asso B : Leia o numero que eu estou digitando agora na sua tela de vdeo:
&asso C 0 Leia o segundo numero que eu estou digitando agora na sua tela de vdeo:
&asso D0 Some este dois nmeros
&asso E0 Mostre o resultado nesta mesma tela
&asso F: Fim do processo.
O$ser!amos at/ .#e #m algoritmo precisa0
A( Ter #m in,cioG
B( Ser escrito em termos de a?es <comandos2 $em de+inidasG
C( 3#e as a?es sigam #ma se.#Hncia ordenada e l'gica(
D( Ter #m ponto de +inali5ao
25
30
55
1 Ano - ICC Introduo a Cincia da Computao
Prof. Eder Aparecido Bueno de Castro
P g i n a | 8
8antagens da #tili5ao de algoritmos
A partir do algoritmo em linguagem humana e em portugus claro, o programador
poder implement-lo em qualquer linguagem de programao que conhea ou deseje. A
maioria das linguagens de programao so em lngua inglesa. No caso da linguagem
&AS9AL, o algoritmo apresentado anteriormente poder ser escrito na forma:
PROGRAM media;
USES crt;
VAR {declarao de variveis}
numero!
numero"# inteiro
soma# inteiro;
$e%in {in&cio do 'ro%rama}
readln (numero);
readln (numero");
soma#* numero + numero"
,riteln(soma);
end-
Observe que elaboramos uma seqncia de passos ou "comandos que sero as
"ordens a serem executadas.
Observe ainda que todos os "comandos so constitudos de 8ER;OS
(readln/Leia, writeln/Escreva) que indicam qual ao queremos que seja executada.

E*erc,cios0
1) Crie uma sequncia lgica para tomar banho
2) Faa um algoritmo para achar a mdia de 3 nmeros
3) Crie uma algoritmo para acrescentar 10% ao seu salrio mensal.
&rogramas de comp#tador0
Os programas de computadores nada mais so do que algoritmos escritos numa
linguagem de computador, normalmente em ingls, (Pascal, C, Cobol, Fortran, Visual
Basic, Delhi entre outras) e que so interpretados e executados por uma mquina, no
caso um computador. Notem que dada esta interpretao rigorosa, um programa por
natureza muito especfico e rgido em relao aos algoritmos da vida real.
No nosso exemplo do tpico anterior nos antecipamos a este conceito que dever
ser melhor entendido agora.
Para programar um computador precisamos dar "ordens escritas ao mesmo "p-a-
s-s-o a p-a-s-s-o. Um computador apenas uma mquina e no raciocina como ns
humanos. Cada ordem composta basicamente por um verbo que indique qual ao
queremos que o mesmo execute, assim se queremos que o computador escreva algo na
tela podemos usar algo como:
IRITE <JESTOU ES9RE8EDO ALGO A TELAK2
Fl#*ograma 9on!encional
Sabemos que uma figura fala por mil palavras. No processo de aprendizado
fixamos com mais facilidade imagens do que conceitos escritos.
O diagrama de $locos o# +l#*ograma uma forma padronizada eficaz para
representar os passos lgicos de um determinado processamento.
1 Ano - ICC Introduo a Cincia da Computao
Prof. Eder Aparecido Bueno de Castro
P g i n a | 9
Com o diagrama podemos definir uma seqncia de smbolos, com significado
bem definido. Portanto, sua principal funo a de facilitar a visualizao dos passos de
um processamento
O fluxograma uma ferramenta usada e desenvolvida pelos profissionais de
anlise de sistemas, bem como, por alguns profissionais de Organizao, Sistemas e
Mtodos. Tem como finalidade descrever o fluxo seja manual ou mecnico, especificando
os suportes usados para os dados e informaes. Usa smbolos convencionais, permitindo
poucas variaes. Representado por alguns desenhos geomtricos bsicos, os quais
indicaro os smbolos de entrada de dados, do processamento dedados e da sada de
dados, acompanhados dos procedimentos requeridos pelo analista de sistemas e a serem
realizados pelo programador por meio do desenvolvimento do raciocnio lgico, o qual
dever solucionar o problema do programa a ser processado pelo computador.
uma ferramenta de uso em diversas reas do conhecimento humano, por
traduzir em formato grfico algum procedimento ou norma.
Sim6ologia
Existem diversos smbolos em um diagrama de bloco. No decorrer do curso
apresentaremos os mais utilizados. Veja no quadro abaixo alguns dos smbolos que
iremos utilizar:
FLUXO DE DADOS
Indica o sentido do fluxo de dados. Conecta os
demais smbolos
TERMIAL
Indica o INCIO ou FIM de um processamento
Exemplo: Incio do algoritmo
&RO9ESSAMETO
Processamento em geral
Exemplo: Calculo de dois nmeros
ETRADALSAMDA (Genrica)
Operao de entrada e sada de dados
Exemplo: Leitura e Gravao de Arquivos
DES8IO (conector)
Permite o desvio para um ponto qualquer do
programa
ETRADA MAUAL
Indica entrada de dados via Teclado
Exemplo: Digite a nota da prova 1
EXI;IRLSAMDA
Mostra informaes ou resultados
Exemplo: Mostre o resultado do clculo
DE9IS7O
Permite elaborar processos de deciso
1 Ano - ICC Introduo a Cincia da Computao
Prof. Eder Aparecido Bueno de Castro
P g i n a | 10
9OE9TOR DE &AGIA
Permite informar de qual pagina vem o fluxograma
Dentro do s,m$olo sempre ter) algo escrito- pois somente os s,m$olos
no nos di5em nada( 8eNa no e*emplo a seg#ir0(
E*emplo: Fluxograma de um programa para ler dois nmeros aleatrios diferentes de
zero, calcular a mdia dos mesmos e mostrar o resultado encontrado.
Sim

O*eradores
Os operadores so meios pelo qual incrementamos, decrementamos, comparamos e
avaliamos dados dentro do computador. Temos trs tipos de operadores:
Operadores Aritm/ticos
Operadores Relacionais
Operadores L'gicos
O*eradores Aritm"ticos
Os operadores aritmticos so os utilizados para obter resultados numricos. Alm
da adio, subtrao, multiplicao e diviso, podem utilizar tambm o operador para
exponenciao. Os smbolos para os operadores aritmticos podem ser vistos ao lado:
Digite 1 numero n1
Digite 2 numero
n2
Nmeros
so
zeros??
Inicio
ome os dois nmeros e di!ida por 2
Imprima o resu"tado
encontrado
#im
I$
N%&
1 Ano - ICC Introduo a Cincia da Computao
Prof. Eder Aparecido Bueno de Castro
P g i n a | 11
Oierar.#ia das Opera?es Aritm/ticas
AP < 2 O .#e esti!er entre &arHnteses
BP E*ponenciao
CP M#ltiplicao- di!iso <o .#e aparecer primeiro2
DP Q o# R <o .#e aparecer primeiro2
Exemplos:
TOTAL = PREO * QUANTIDADE
1 + 7 * 2 ** 2 - 1 = 28
3 * (1 - 2) + 4 * 2 = 5
O*eradores Relacionais
Os operadores relacionais so utilizados para comparar String de caracteres e
nmeros. Os valores a serem comparados podem ser caracteres ou variveis.
Estes operadores sempre retornam valores lgicos (Verdadeiro ou Falso/ True ou
False)
Para estabelecer prioridades no que diz respeito a qual operao executar
primeiro, utilize os parnteses. Os operadores relacionais so:
E*emplos
Tendo duas variveis A S E e ; S C , os resultados das expresses seriam:
Operao S,m$olo
Adio Q
Subtrao T
Multiplicao U
Diviso L
Exponenciao UU ou V
Igual a S
Diferente de WX ou
Maior que X
Menor que W
Maior ou igual a XS
Menor ou igual a WS
E*presso Res#ltado
A = B Falso
A <> B Verdadeiro
A > B Verdadeiro
A < B Falso
A >= B Verdadeiro
A <= B Falso
1 Ano - ICC Introduo a Cincia da Computao
Prof. Eder Aparecido Bueno de Castro
P g i n a | 12
O*eradores -8gicos
Os operadores lgicos servem para combinar resultados de expresses,
retornando se o resultado final verdadeiro ou falso.
Os operadores lgicos so:
E <And2 A expresso verdadeira se todas as condies forem verdadeiras
OU <Or2 A expresso verdadeira se pelo menos uma condio for verdadeira
7O <ot2 Inverte o valor da expresso ou condio, se verdadeira inverte para
falsa e vice-versa.
A tabela mostra todos os valores possveis criados pelos trs operadores lgicos.
E*emplos
Suponha que temos trs variveis A = 5, B = 8 e C =1. Os resultados das
expresses seriam:
F#n?es Intr,nsecas
So funes que resumem uma srie se operaes bsicas.
Podem ser Aritmticas, quando no tratamento de nmeros e Literais quando no
tratamento de alfanumricos.
Fun9es Aritm"ticas
Sinta*e Descrio
Caracter
Caracter(Num)
Fornece o caracter correspondente a Num (entre 1 e
255) de acordo com a tabela ASCII
Int
Int(Num) Arredonda um nmero real Num para baixo, retornando
a parte inteira mais prxima.
Raiz
Raiz(Num) Retorna uma raiz quadrada de Num.
Abs
Abs(Nm) Retorna o valor absoluto de Num, que um nmero sem
o respectivo sinal.
Div
Div(Num;Divisor) Retorna o quociente da diviso de Num por divisor.
E*press?es Res#ltado
A = B AND B > C Falso
A <> B OR B < C Verdadeiro
A > B NOT Verdadeiro
A < B AND B > C Verdadeiro
A >= B OR B = C Falso
A <= B NOT Falso.
1 Ano - ICC Introduo a Cincia da Computao
Prof. Eder Aparecido Bueno de Castro
P g i n a | 13
Mod
Mod(Num;Divisor
)
Retorna o resto depois da diviso de Num por divisor.
Fun9es -iterais 7suais
Sinta*e Descrio
Ltrim
Ltrim(Texto) Elimina de Texto espaos em branco esquerda.
Rtrim
Rtrim(Texto) Elimina de Texto espaos em branco direita.
Comp
Comp(Texto) Fornece o total de caracteres de Texto incluindo espaos em
branco.
Direita
Direita(Texto;N
Caract)
Retorna os ltimos NCaract caracteres em Texto.
Esquer
da
Esquerda(Text
o;Nm_Caract)
Retorna os primeiros Nm_Caract caracteres em Texto.
Sub
Sub(Texto; N;
M)
Resulta uma parte de Texto que comea no caracter de
numero N e tem tamanho M
Pos
Pos(Texto;
Parte)
Indica a posio da primeira ocorrncia de Parte em Texto
ASCII
ASCII(Texto) Fornece o valor inteiro correspondente ao primeiro caractere
de Texto, segundo a tabela ASCII
E:ERC!C(OS
1) Tendo como dados de entrada a altura e o sexo de uma pessoa, construa um
algoritmo que calcule seu peso ideal, utilizando as seguintes frmulas:
Para homens: (72.7*h) - 58
Para mulheres: (62.1*h) - 44.7 (h = altura)
2) Crie um algoritmo que leia dois nmeros nas variveis NumA e NumB, nessa ordem e
imprimir em ordem inversa, isto , se os dados lidos forem 5 e 9 (NumA e NumB), por
exemplo, devem ser impressos 9 e 5 (NumA e NumB).
Estruturas ;4sicas de Controle
Na maioria das vezes necessitamos tomar decises no andamento do algoritmo.
Essas decises interferem diretamente no andamento do programa. Trabalharemos com
dois tipos de estrutura. A estrutura de Deciso e a estrutura de Repetio
Deciso
Os comandos de deciso ou desvio fazem parte das tcnicas de programao que
conduzem a estruturas de programas que no so totalmente seqenciais. Com as
instrues de SALTO ou DESVIO pode-se fazer com que o programa proceda de uma ou
outra maneira, de acordo com as decises lgicas tomadas em funo dos dados ou
resultados anteriores. As principais estruturas de deciso so: +Se Ento, +Se ento
Seno e +Selecione Caso
SE ENT<O 1 (F === T>EN
A estrutura de deciso "SE/IF normalmente vem acompanhada de um comando,
ou seja, se determinada condio for satisfeita pelo comando SE/IF ento execute
determinado comando.
Imagine o exemplo abaixo, um algoritmo que determinado aluno somente estar
aprovado se sua mdia for maior ou igual a 5.0, o diagrama de blocos ficaria conforme
ao lado.
SE Media XS 5.0 ET7O =aluno Aprovado=
1 Ano - ICC Introduo a Cincia da Computao
Prof. Eder Aparecido Bueno de Castro
P g i n a | 14
SE ENT<O SEN<O 1 (F === T>EN === E-SE
A estrutura de deciso "SE/ENTO/SENO, funciona exatamente como a estrutura
"SE, com apenas uma diferena, em "SE somente podemos executar comandos caso a
condio seja verdadeira, diferente de "SE/SENO pois sempre um comando ser
executado independente da condio, ou seja, caso a condio seja "verdadeira o
comando da condio ser executado, caso contrrio o comando da condio "falsa ser
executado. Ao lado o diagrama...
Em algoritmo ficaria assim:
SE Mdia >= 5.0 ET7O
=aluno Aprovado=
SE7O
=aluno Reprovado=
FimSe
No exemplo acima est sendo executada uma condio que, se for verdadeira,
executa o comando "APROVADO, caso contrrio executa o segundo comando
"REPROVADO. Podemos tambm dentro de uma mesma condio testar outras
condies. Como no exemplo a o lado:
SE-EC(ONE CASO 1 SE-ECT === CASE
1 Ano - ICC Introduo a Cincia da Computao
Prof. Eder Aparecido Bueno de Castro
P g i n a | 15
A estrutura de deciso SELECIONE/CASO utilizada para testar, na condio, uma
nica expresso, que produz um resultado, ou, ento, o valor de uma varivel, em que
est armazenado um determinado contedo. Compara-se, ento, o resultado obtido no
teste com os valores fornecidos em cada clusula
"Caso.
No exemplo do diagrama de blocos abaixo,
recebido uma varivel "Op% e testado seu
contedo, caso uma das condies seja satisfeita,
executado o bloco de comandos apropriado, caso
contrrio executado a opo de comandos de
caso seno.
SELE9IOE 9ASO Op
9ASO A
<comandos>
9ASO B
<comandos>
9ASO C
<comandos>
9ASO D
<comandos>
9ASO E
<comandos>
9ASO SE7O
<comandos>
FimSelecione
E:ERC!C(OS
1) Elabore um diagrama de blocos que leia um nmero. Se positivo armazene-o em A,
se for negativo, em B. No final mostrar o resultado.
2) Ler um nmero e verificar se ele par ou mpar. Quando for par armazenar esse
valor em P e quando for mpar armazen-lo em I. Exibir P e I no final do
processamento.
3) Faa um algoritmo que calcule o IMC - ndice de massa corprea de uma pessoa,
segundo a frmula:
IMC = peso * altura 2
Classifique-a segundo a tabela:
IM9 Res#ltado
0 a 19 Muito Magro
19 a 25 Normal
25 a 30 Sobre Peso
30 a 40 Obeso
40 a acima Obesidade Grave
4) Construa um diagrama de blocos para ler uma varivel numrica N e imprimi-la
somente se a mesma for maior que 100, caso contrrio imprimi-la com o valor zero.
5) Joo Papo de Pescador, apesar do nome, um homem de bem, comprou um
microcomputador para controlar o rendimento dirio de seu trabalho. Toda vez que
ele traz um peso de peixes maior que o estabelecido pelo regulamento de pesca do
estado (50 quilos) deve pagar um multa de R$ 4,00 por quilo excedente. Joo precisa
que voc faa um algoritmo e o diagrama de blocos que leia a varivel P (peso de
1 Ano - ICC Introduo a Cincia da Computao
Prof. Eder Aparecido Bueno de Castro
P g i n a | 16
peixes) e verifique se h excesso. Se houver, gravar na varivel E (Excesso) e na
varivel M o valor da multa que Joo dever pagar. Caso contrrio mostrar tais
variveis com o contedo ZERO.
6) Faa um teste de mesa do diagrama apresentado abaixo, de acordo com os dados
fornecidos:
Teste o diagrama com os dados abaixo
Sal;ase Grati+
3.000,00 1.200,00
1.200,00 400,00
500,00 100,00
Memria de Clculo:
Sal;ase Grati+ SaL;r#to IR SALLI3
Dados de Sada:
SALLI3
7) Desenvolva um diagrama que:
Leia 4 (quatro) nmeros;
Calcule o quadrado de cada um (*
B
);
Se o valor resultante do quadrado do terceiro for >=
1000, imprima-o e finalize;
Caso contrrio, imprima os valores lidos e seus
respectivos quadrados.
8) Faa um diagrama de bloco que leia um nmero inteiro e mostre uma mensagem
indicando se este nmero par ou mpar, e se positivo ou negativo.
9) Elabore um algoritmo que dada a idade de um nadador
classifique-o em uma das seguintes categorias:
Infantil A = 5 a 7 anos
Infantil B = 8 a 11 anos
Juvenil A = 12 a 13 anos
Juvenil B = 14 a 17 anos
Adultos = Maiores de 18 anos
Re*etio
Utilizamos os comandos de repetio quando desejamos que um determinado conjunto
de instrues ou comandos sejam executados um nmero definido ou indefinido de
vezes, ou enquanto um determinado estado de coisas prevalecer ou at que seja
alcanado.
Trabalharemos com modelos de comandos de
repetio:
1 Ano - ICC Introduo a Cincia da Computao
Prof. Eder Aparecido Bueno de Castro
P g i n a | 17
Enquanto <condio>, faa (Do While ...Loop);
At que <condio>, faa (Do Until ... Loop);
Repita, ...Enquanto <condio> (Do ... Loop While);
Repita, ...At que <condio> (Do ... Loop Until);
Para ...de..., at...passo...faa...seguinte (For ... To ... Next)
En?uanto .condio2& Faa @Do Ahile === -oo*B
Neste caso, o bloco de operaes ser executado enquanto a condio x for
verdadeira. O teste da condio ser sempre realizado antes de qualquer operao.
Enquanto a condio for verdadeira o processo se repete. Podemos utilizar essa
estrutura para trabalharmos com contadores. Em diagrama de bloco:
E*emplo de 9ontador
En.#anto <condio> Faa
<Comandos>
FimEn.#anto
At" ?ue .condio2& Faa === @Do 7ntil === -oo*B
Neste caso, o bloco de operaes ser executado at que a condio seja
satisfeita, ou seja, somente executar os comandos enquanto a condio for falsa. Em
diagrama de blocos:
Exemplo de At Diagrama
At/ <condio> Faa
<Comandos>
FimAt/
Re*ita ===& En?uanto .condio2 @Do === -oo* AhileB
1 Ano - ICC Introduo a Cincia da Computao
Prof. Eder Aparecido Bueno de Castro
P g i n a | 18
Neste caso primeiro so executados os comandos, e somente depois realizado o
teste da condio. Se a condio for verdadeira, os comandos so executados
novamente, caso seja falso encerrado o comando DO. Em diagrama de bloco
E*emplo de En.#anto Diagrama
Repita
<Comandos>
En.#anto <condio>
Re*ita ===& At" ?ue .condio2 @Do === -oo* 7ntilB
Neste caso, executa-se primeiro o bloco de operaes e somente depois
realizado o teste de condio. Se a condio for verdadeira, o fluxo do programa continua
normalmente. Caso contrrio processado novamente os comandos antes do teste da
condio.
Em diagrama de Bloco
Exemplo de Do .... Loop - Until
Repita
<Comandos>
At/ .#e <condio>
Para ===de===&
at"===*asso===faa===seguinte @For
===To===NeCtB
Tem seu funcionamento controlado por uma varivel chamada contador. Sendo
assim, executar um determinado conjunto de instrues, um determinado numero de
vezes, a passos (intervalos)
controlados (de 2 em 2, de 3 em 3 ...)
&ARA <contador> DE <inicio> ATY
<fim> &ASSO <incremento> FA6A
<comandos>
SEGUINTE

Você também pode gostar