Anda di halaman 1dari 45

c 


    
  



Esta é a Parte 1 de uma série de tutoriais sobre


Algoritmos. Nesta série de tutoriais você aprenderá o
que é, para que serve e como funciona um algoritmo.

  Para acompanhar esta lição


você deve dominar os conceitos básicos de informática.

!: Este tutorial faz parte do Curso:


Técnicas de Programação.

c     " 


#   

Neste tutorial e nos demais que seguir


utilizaremos como editor de algoritmos o Turbo Pascal
7.0.


!$%&'(
No estudo da informática o algoritmo e como o
alicerce de uma casa, sem ele não se pode construir as
paredes e o telhado, ou seja, sem o algoritmo não se
pode criar um estudo sistematizado em nenhum campo
da informática.

No mundo atual praticamente todas as tarefas


podem ser automatizadas, e para isso fazemos o uso
de computadores. E os computadores precisam de
receberem ordens para funcionarem, daí a necessidade
de algoritmos.

Para aprendermos a criar algoritmos não basta


estudar ou copiar algoritmos, para se aprender como
manipular situações e codificá-las em forma de
algoritmo precisamos de escrever e criar algoritmos,
pegar exercícios, e praticar.

#)
!
'(

O algoritmo se define por uma seqüência lógica


de passos que o computador executara fielmente para
que se obtenha um resultado satisfatório. Estas
seqüências podem ou não ser executadas dependendo
do andamento do algoritmo, porém estes passos
sempre serão alcançados em algum momento do
algoritmo.

!#
$
O conceito de algoritmo é utilizado em
praticamente todas as áreas do conhecimento, mesmo
sem utilizar o nome algoritmo. Por exemplo na
administração e contabilidade um plano de ação é um
algoritmo, pois nele são listados passos para que se
chegue a um resultado satisfatório.

Coloquemos isto em nosso dia a dia. Você


acaba de acordar e sabe que tem que ir ao trabalho,
quais os passos que você executa para que o resultado
satisfatório (ir ao trabalho) aconteça.

Vejamos:

R 
 
 
  
 

   

Quando dizemos que este passos tem que ser


uma seqüência queremos dizer que, este passos tem
que ser executados um após o outro, porque ninguém
vai ao banheiro pela manhã sem levantar da cama ou
ninguém sai de casa primeiro antes de se vestir.

Para o estudo da informática o raciocínio lógico


e fundamental, primário e essencial na evolução
acadêmica de quem quer seguir este ramo de
atividade.

c%c$#%
*$
c*

Todo algoritmo tem por padrão apresentar


algumas características básicas:

V Partir de um ponto inicial e chegar a um ponto


final;
V Não ser ambíguo (ter dupla interpretação);
V Poder receber dados externos e ser capaz de
retornar resultados aos mesmos;
V Ter todas suas etapas alcançáveis em algum
momento do programa.

)%+c*#%#%#*#!$c'(

Podemos representar um algoritmo de 3 formas


distintas:

,) 

Fazemos uso da descrição narrativa, quando


queremos descrever um algoritmo de forma que o
receptor da informação entenda do assunto mesmo não
conhecendo de algoritmos, porém neste tipo de
descrição temos uma imprecisão e uma falta de
confiabilidade no entendimento do algoritmo além de
termos um descrição muito grande para dizer pouca
coisa.
Exemplo: Dobro de um número

V Digitar um número;
V ravar em uma variável;
V Pegar o número e multiplicar por 2;
V ravar o resultado em outra variável;
V Xostrar o resultado da operação.

Obs: O conceito de variável será visto mais


adiante neste curso.

:,)) -

Desta forma faremos o uso de símbolos


universais que nos ajudaram a compreender o que o
algoritmo quer dizer. Este é mais utilizado, pois se trata
de um padrão mundial, além de termos símbolos
dizerem muito mais que palavras, porém este
complica-se a medida que o algoritmo cresce. Levando-
se em consideração o exemplo anterior temos:
Legenda:

Cálculo

Decisão

Entrada

Saída

Inicio/Fim

Ë,).  c "

Consiste na representação em linguagem de


programação. Lembrando que utilizaremos como
linguagem de estudo de algoritmos o Turbo Pascal 7.0.
Seguindo o mesmo exemplo:
@   
  

  

 

 

 



     

! 

"#$ 

 ! !%%%  

!&' 

(!)

(Sugestão do leitor Evaldo Rodrigues de odoi)

*   
 

+  

,

 %!  



+ -   - 

 ! 

. "/

0! "/

! "#$  

+ -! !-% %--%!  

 !&' 
!)

.   

Como a visão deste curso e desenvolver futuros


programadores, iremos exemplificar aqui as linguagens
de programação (baixo e alto nível) para que saibamos
como funciona estes tipos de linguagens.

Peguemos como exemplo o seguinte fato. Você


esta viajando e de repente o pneu do carro fura e você
precisa trocá-lo, já que não tem nenhum posto por
perto e você esta viajando sozinho. Qual a seqüência
que você realiza para se trocar um pneu.

1 ± Desce do carro;

2 - Pega o estepe;

3 ± Troca o Pneu;

4 ± Volta a viajar;

Com esta seqüência é possivel se trocar o pneu


do carro. Porém estamos considerando que a pessoa
que ira trocar o pneu sabe como executar esta
atividade. Este exemplo nos mostra uma linguagem de
alto nível pois com comandos reduzidos já conseguimos
executar uma tarefa com resultado satisfatório. Agora
iremos exibir o mesmo problema em uma linguagem de
baixo nível.

1 ± Estacionar o carro no acostamento;

2 ± Desligar o carro;

3 ± Ligar a pisca alerta;

4 ± Retirar o cinto de segurança;

5 ± Abrir a porta;

6 ± Colocar as pernas para fora do carro;

7 ± Sair do veículo;

8 ± Abrir o porta malas;

9 ± Pegar o triângulo de sinalização;

10 ± Xontar o triângulo;

11 ± Colocar o triângulo no asfalto para fazer a


sinalização;

12 ± Retirar o macaco do porta malas;

13 ± Colocar o macaco ao lado do carro;

14 ± Retirar o estepe do porta malas;

15 ± Colocar o estepe ao lado do carro;

16 ± Colocar o macaco sob o carro;

17 ± irar a manivela para levantar o carro;


18 ± Pegar a chave;

19 ± Retirar os parafusos;

20 ± Retirar o pneu;

21 ± Colocar o estepe;

22 ± Parafusar o estepe;

23 ± irar a manivela do macaco ao contrario;

24 ± Colocar o pneu no porta malas;

25 ± Colocar o macaco no porta malas;

26 ± uardar o triângulo;

27 ± Fechar o porta malas;

28 ± Abrir a porta do carro;

29 ± Sentar no banco;

30 ± Colocar as pernas para dentro;

31 ± Colocar o cinto de segurança;

32 ± Ligar o carro;

33 ± Continuar a viagem;

Veja como uma linguagem de alto nível se


comporta em relação a uma linguagem de baixo nível;

c     
R   R
     
 

  
 


 
  
!"

#$  %  
& ' 
)"
 
*
+   , -
R./

+ 
RR$ 
+  %
%,
(
 , -


R
    
 
R$       
R

 
 
R!$ 
   
R#$     
R&1  
 
R) 
R*
%
.
 
0  R$ 

  % 
1       

$   
 
!$     
 
#1 
+ 
&2 
 
)"
  
*
  

 .$   

3 R$  
  
 
$
  

Na linguagem de alto nível, o entendimento fica


mais fácil, pois um comando em uma linguagem de alto
nível corresponde a vários comandos em uma
linguagem de baixo nível, porém o programador fica
limitado, já que se algum passo contido em um
comando de alto nível não pode ser alterado; Por
exemplo no comando 4 da linguagem de alto nível
³Voltar a viajar´ se eu quiser ligar o carro primeiro para
depois colocar o cinto de segurança será impossível já
que a linguagem de alto nível não me permite,
liberdade esta que o programador tem quando
programa em linguagem de baixo nível.

Xas visualizando todos os comandos listados


tem por objetivo trocar o pneu do carro. Se partirmos
do ponto em que o carro esta com o pneu furado e
chagar ao final com o problema resolvido, ³pneu
trocado´, isto quer dizer que meu algoritmo funcionou,
tanto em uma linguagem de alto nível quanto uma
linguagem de baixo nível.

Xas na prática a linguagem de alto nível


simplifica a vida do programador já que vários detalhes
da programação são desconsideráveis nesta linguagem.
Exemplo: Para se fazer menus no Clipper gastá-se
muita programação, já no Delphi basta clicar e arrastar,
a programação já esta por baixo ou seja linguagem de
baixo nível. Toda a programação já esta embutida no
Comando Xenu do Delphi.

!.&*(

Neste tutorial falamos sobre definição e


conceito dos algoritmos bem como suas características
e formas de representação, além de exemplificarmos
linguagens de alto e baixo nível. No próximo tutorial
falaremos sobre variáveis, tipos de variáveis e suas
definições

c  
   /0
  $1   :



Esta é a Parte 2 de uma série de tutoriais sobre


Algoritmos. Nesta parte você ira conhecer sobre
identificadores o que são e qual a sua importância para
o bom entendimento de algoritmos, também
estudaremos sobre variáveis e quais as diferenças
entre variáveis e constantes além de suas
semelhanças. Analisaremos posteriormente os tipos de
dados que podem ser atribuídos a cada uma destas
variáveis e constantes.

  Para acompanhar esta lição


você deve dominar os conceitos apresentados no
Algoritmos Parte 1.

!: Este tutorial faz parte do Curso:


Técnicas de Programação.

c  
   /0
  $1   :

#!$
)
c%#*

Identificadores são conjuntos de caracteres


regido por determinadas leis que representam
constantes, variáveis, tipos, procedimentos, unidades,
programas e campos de um registro (estes itens serão
analisados mais adiante no curso). As leis que regem
este conjunto de caracteres são:

V Podem ter qualquer tamanho, mas somente os 63


primeiros caracteres são significativos, porém
recomenda-se o uso de no máximo 8 caracteres;
V O primeiro caracter do identificador
obrigatoriamente tem que ser uma letra;
V No conteúdo do identificador não pode conter
caracteres especiais (!@#$%&*/-+<>?), ou seja
no identificador só podemos ter, após o primeiro
caracter, letras, números e sublinhada ( _ );
V Nos identificadores não pode conter espaços em
branco;
V Não podem haver nenhum identificador repetido;
V E também não ter o mesmo nome de 1 
 .

 % 

Palavras reservadas, são identificadores que já


foram usados pelo programa, ou seja se caso
utilizarmos uma destas palavras iremos infringir a regra
de que não se pode haver identificadores repetidos.
Segue abaixo uma tabela de palavras reservadas pelo
Pascal (programa utilizado para estudo de algoritmos
em nosso curso), que já foram destinadas a identificar
outros elementos.
"4560"7 ""8 4197 $"
$570 9 5 5:05 
;07"29 25 25:" 267$0957

1505 92 9//70"095 97 9702"$
7 
9706 "4 /5 79 790
0 
52 5 "$< 51"/$5
"0 0 = = 0971
0=7 05 6790 6709 6
" :=9 :90= ;5 


Estes são apenas alguns exemplos de


identificadores contidos do Pascal, mais adiante será
apresentados algumas funções onde seu nomes se
enquadram nesta lista.

/c%
2/#
*

Na matemática o termo ³variável´, pode


assumir valores diferente dependendo do cálculo
empregado, ou seja como o próprio nome diz variável
tem em seu conteúdo valores variáveis. Na
programação a teoria de variáveis tem o mesmo
conceito e com alguns diferenciais; o valor da variável
sempre conterá somente um valor e ocupara um
determinado espaço na memória.
O tamanho que a variável ira ocupar na
memória dependerá do tipo de dados que esta variável
ira suportar, mas o espaço reservado a uma variável
sempre estará reservado a ela, ou até que o programa
se finalize, ou seja mesmo o valor de uma variável não
ocupar todo o espaço reservado a ela, este espaço
continuará reservado, dai a necessidade de se conhecer
os ³Tipos de Dados´, para podermos analisar qual o
tipo de dado mais apropriado para cada variável.

Ex.:

È   


 È   
$5267$> 2  ? 9
 R@@R..@R!

75/ 7   0A
 /@B-@BC@

"5 ?   #.@#(RD*)@!&@


!*$c!$#*

Diferente das variáveis, as constantes


receberão um valor ao iniciar o programa e este valor é
inalterável durante a execução do programa. As
constantes são muito utilizadas quando temos que
fazer referência a um determinado termo várias vezes;
o que dificulta na hora da atualização do programa.

Imagine que você tenha um programa


financeiro de 2500 linha de programação que faça
cálculos de juros sobre salário, sobre rendimentos,
sobre aplicações e posteriormente esta taxa de juros
muda; se você não faz o uso de constantes você tem
que percorrer todas as linha de comando do seu
programa localizar onde estão os valores
correspondentes as taxas de juros e alterá-las, um
trabalho extremamente cansativo, mas se você faz o
uso de constantes basta mudar o valor da taxa de juros
contido na declaração da constante no inicio dos
comando que todo o seu programa esta atualizado
automaticamente, já que durante a execução ele fará
referência a uma constante que esta com o valor dos
juros alterados. As constantes obedecem às mesmas
leis de identificadores das variáveis.

$
*#c*

Como já dissemos para declararmos as


variáveis precisamos indicar ao programa qual tipo de
dados esta variável ira receber, para que não falte e
nem sobre espaço na memória pois isto limita a
eficiência e velocidade de execução de um programa,
ou ainda determinar um tipo errado a sua variável.

Embora uma variável de tipo µTEXTO¶ aceitar


um número, não conseguimos executar cálculos com
esse número já que a propriedade do tipo ³TEXTO´ não
nos permite, tão operação. Devido a isto o estudo de
³Tipos de Dados´ é muito importante para a
programação.

Basicamente possuímos três classes de dados;


simples, lógica e estruturadas. Veremos estas classes.
    3*1 4

„  ± recebe números inteiros. Neste tipo


de dados temos outros subtipos que seguem a mesma
teoria de dados, com algumas diferencias. Veja o
quadro

 È   È  


  
9701 (&#) &#& 
=50970 (R) R& R
480 . !! R
:5 . #!!! 
571970 (R&)#) R&)#& 

K ± recebe números reais. Da mesma forma


que as do tipo ³integer´ as variáveis do tipo real possui
as seus subtipos. Vejamos o quadro.

 È  È  


 
         
" @*AR.(*R@&AR.)# RR(R
971 R@!AR.(!@AR.) &()
564 !@.AR.( R@&AR. ) R!(R#
 .)
;07@AR.( R@RAR. R. R*(.
* *
$5/ (#ER #R ) R*(.
2  ± representa um único caracter, escrito
entre apóstrofos ( µ ). A maioria dos computadores
utilizam a tabela de códigos ASCII para representar
todos os caracteres disponíveis. Exemplos:

µA¶, µa¶, µ1¶, µ%¶

    3.54

  ± recebe apenas valores lógicos. True


(verdadeiro) ou False (falso).

Ex.: Casado := Sim ou Não.

    3#   4

Ò  ± recebe dados alfanuméricos. Ou seja,


recebe um conjuntos de dados simples (2 ). O
tamanho máximo deste tipo de dados é de 255
caracteres.

Ex.:

µanna¶, µpaula¶, µteste123¶


Estudaremos ? ? em módulos especifico
mais adiante.

Os tipos de dados estruturados , K 


,
, Ò e   serão também estudados mais adiante.

#6#%

*%#*./
*

01 ± Xarque (C) para correto e (I) para


incorreto dente os identificadores abaixo; justificar os
Incorretos.

V X1YZ;

Resp.: ß7

V A9PQ;

Resp.: ß7

V F,3W;

Resp.: ß
7  !      1  8
19

V 123mudar;

Resp.: ß
7        1 
  :9
V Lápis.cor;

Resp.: ß
7  !      1  8
19

V —oje amanha;

Resp.: ß
7  !      1  8
1 9

V Xor;

Resp.: ß
7      1  
    9

2 ± Escreva o tipo de dado ideal par se


representar as seguintes informações.

V O número de telefone;

Resp.: String. Pois somente string aceita


caracteres especiais. Ex.: (34) 3222-1111

V Número de moradores de um prédio;

Resp.: Integer. Número inteiro. Ex.: 25

V Se uma pessoa gosta de bala ou não.


Resp.: Boolean. Somente valores verdadeiros
(sim) ou falsos (não).

V O valor de um casa.

Resp.: Real. Números decimais. Ex.: R$


25.583,28.

V A cor de um carro.

Resp.: String. Valores alfanuméricos. Ex.: Preto.

V Resultado de uma divisão.

Resp.:Real. Números decimais. Ex.: 5 / 2 = 2,5.

V Alunos de uma escola.

Resp.: Integer. Números inteiros

3 ± Identificar os tipos dos seguintes dados.

V µAnna Paula¶;

Resp.: String;

V 0.8;

Resp.: Real;

V µ5.8E10¶;
Resp.: Real;

V True;

Resp.: Boolean;

V µ?¶;

Resp.: Char;

V µ µ;

Resp.: String;

V 25;

Resp.: Integer;

!.&*(

Neste tutorial ficou exemplificado como


funciona as leis dos identificadores, o que é e para que
serve constantes e variáveis, além de suas diferenças e
semelhanças. E logo após entramos em um tópico
importantíssimo para a programação que é os tipos de
dados que as variáveis e constantes podem receber,
listamos todos os tipos e exemplificamos. No próximo
tópico falaremos sobre o operadores: Atribuição,
Aritiméticos e Lógicos, além de exemplos para
entendimento do conteúdo.
c  #-1;1  
Ë



Esta é a Parte 3 de uma série de tutoriais sobre


Algoritmos. Nesta parte você ira conhecer sobre
Expressões Aritméticas e Lógica além dos operadores
empregados nestas expressões. Xostraremos o que são
e para que servem,além de utilizarmos exemplos e
exercícios resolvidos para aumentarmos os
conhecimentos aplicados.

  Para acompanhar esta lição


você deve dominar os conceitos apresentados no
Algoritmos ± Identificadores, Variáveis, Constantes e
Tipos de Dados - Parte 2.

! : Este tutorial faz parte do Curso:


Técnicas de Programação.

c  1  Ë

#%c%#*
Os operadores tem grande utilidade no
desenvolvimento de algoritmos com eles podemos
comparar e efetuar cálculos entre variáveis. Comandos
utilizando operadores serão muito utilizados em todo o
curso e em todas as ocorrências em que os algoritmos
se fizer necessário.

#-1;c

Nas expressões aritméticas fazemos o uso dos


operadores aritméticos que são símbolos utilizados para
efetuarmos cálculos matemáticos. Os operadores
aritméticos são utilizados somente com dados do tipo
inteiro e do tipo real.

— 
?  ?

Os operadores aritméticos representam as


operações mais comuns da matemática. São eles:

      


E "  - 9
@9
@
( 
 - 9
@9
@
F /
  - 9
@9
@
G - 9
@
9 -
9
 9

/5 
  9
 9

-
Exemplos:

˜  
E !
)! 
F@! R.@!
!G @!
!9 
!/5 R

@ 

?

As prioridades seguem o mesmo contexto da


das prioridades em expressões matemáticas. Segue
abaixo uma tabela contendo as prioridades e suas
exceções.

  


RH FG9/5
H E(

Observações:

1 ± Quando houver expressões com operadores


de mesma prioridade segue a de maior prioridade.

2 ± A utilização de parênteses indica que as


expressões contidas nos mesmos tem prioridade
máxima. E se houver parêntese alinhados os
parênteses mais internos tem prioridade.

Exemplos:

2 + 3 / 2 => 2 + 1,5 => 3,5

(2 + 3) / 2 => 5 / 2 => 2,5

 ?  
  ? ?

São funções que estão prontas para cálculos


específicos. Abaixo segue uma tabela contento estas
funções e procedimentos aritméticos e suas
características.

    
 
   
c  
"4I;J"
 9
@ 5   
 

2"$I;J
2  ? 
067$ 
9
  9

I;J
567   9

I;J "   
KI;J 9
@ 5   
ï    

K0I;J,ï   9
@ 
7I;J 
  
7

;I;JA    

No Pascal não existe nenhuma função que faça


a Potenciação (X N), mas podemos conseguir esta
informação utilizando a função LN(X) e EXP(X).

EXP (LN(X)*N);

Exemplos

˜   


KIJ *
KIR@!J @!
K0I@!J R@!
067$IR@*&J R
567IR@*&J 
;I7IJF &
J
"4I()@)J )@)
"4I)J )
2"$I@)#J .@)#

#-1;.5

As expressões lógicas sempre retornaram True


(Verdadeiro) e False (Falso). Para se montar
expressões lógicas utilizamos de operadores relacionais
e operadores lógicos. Veremos o que são e como
funciona cada um destes operadores e
exemplificaremos cada um deles. A utilização das
expressões lógicas somente serão aplicadas em termos
com o mesmo tipo de dados.

— 
?K  ?

São usados para comparar duas expressões ou


variáveis e retorna se a comparação é verdadeira ou
falsa (Valor Lógico).

 
 
L 9
M /
N / 
ML /
9
NL / 

NM %


Exemplos:

˜   


RL 2"
O"PLOP 2"
!M 06
NL 06
06N2" 2"
OB5"5PM 2"
OB5P
ENM! 2"
O  PNM 06
O$5/P
RRM 06

— 
? ?

São utilizados para combinar expressões


lógicas.

  


7
 7-
I  -J
"  I  3 -J
5 5
I 3 -J

@ 



A ordem em que se obedece uma expressão


lógica, segue o quadro abaixo

  


RH 7

H " 
H 5
H LMNMLNLNM
#6#%

*%#*./
*

1- Considerando que X = 1, Y = 2 e Z = 5,
desenvolva.

a.VZ mod Y div Y

Resp.: 5 mod 2 div 2 -> 1 div 2 -> 0

b.VX + Y + Z / 3

Resp.: 1 + 2 + 5 / 3 -> 3 + 1,667 -> 4,667

c.VFRAC (X / Z) + ROUND (Z / Y) * TRUNC (Z /


Y)

Resp.: FRAC (1/5) + ROUND (5/2) * TRUNC


(5/2) -> 0,2 + 3 * 2 -> 0,2 + 6 -> 6,2

d.VSQRT (Z div Y + X * Y)

Resp.: SQRT (5 div 2 + 1 * 2) -> SQRT (2 +


2) -> SQRT (4) -> 2

e.VZ ± ABS (X ± SQR(Y))

Resp.: 5 ± ABS (1 ± SQR(2)) -> 5 ± ABS (1 ±


4) -> 5 ± ABS (-3) -> 5 ± 3 -> 2
2- Dadas as comparações abaixo, escreva os
resultados.

a.V3 = 3.0

Resp.: TRUE

b.Vµa¶ <= µA´

Resp.: FALSE

c.Vµ µ = µ µ

Resp.: FALSE

d.VµCASA¶ <> µcasa¶

Resp.: TRUE

e.VFALSE = FALSE

Resp.: TRUE

f.V µJOAQUIX¶ < µJOSE¶

Resp.: FALSE

g.Vµ22¶ > µ200¶

Resp.: FALSE
3- Sendo A = TRUE e B = FALSE. Qual o
resultado das expressões abaixo

a.Vnot A and B or A and not B

Resp.: FALSE

b.Vnot (not (A or B) and (A or B))

Resp.: TRUE

c.VA or B and not A or not B

Resp.: TRUE

d.V(A or B) and (not A or not B)

Resp.: FALSE

  

Nesta parte mostrei o que é, e para que serve


os operadores e as expressões lógicas em que são
utilizadas. Xostraremos a seguir quais são as
estruturas dos algoritmos, como se dividem e como
funcionam estas estruturas.

c  #  <


Esta é a Parte 4 de uma série de tutoriais sobre
Algoritmos. Nesta parte você aprenderá como funciona
as estruturas de comandos utilizadas para se escrever
algoritmos bem como o seu funcionamento.

  Para acompanhar esta lição


você deve dominar os conceitos básicos de informática.

! Este tutorial faz parte do Curso:


Técnicas de Programação.



c  #   <

#*$%&$&%c*

Nos algoritmos temos 3 estruturas básica de


controle nas quais detalharemos mais adiante. São
elas: seqüencial, condicional e de repetição.

#  * =  

Esta estrutura e padrão em toda a forma de


algoritmo, como já foi dito, algoritmo é uma seqüência
onde o computador irá ler os comando de cima para
baixo e da esquerda para a direita. Esta estrutura
estará contida nas demais estruturas que iremos
estudar. Cronologicamente ficaria da seguinte forma:
<Comando-1>

<Comando-2>

<Comando-3>

<Comando-n>

Nesta estrutura o comando-3 somente será


executado após o comando-2 e o comando-2 após o
comando-1 e assim por diante.

#     

Estrutura também conhecida como de decisão


ou seleção, caracterizasse por execução de
determinados códigos de programação dependendo da
veracidade de uma condição. Esta estrutura se
subdivide em outras duas estruturas.

?2
  Ò ?

Neste, a condição ira determinar a execução ou


não de um determinado comando. Representaremos as
mesmas conforme visto no tópico formas de
representação:

Descrição Narrativa: * fizer sol   vou à


praia.

Fluxograma:

Linguagem Algorítmica:

Se tempo = sol então

Vou à praia

Fim-se

Para padronizarmos os estudos em Turbo


Pascal 7.0 teremos a seguinte sintaxe para resolução
do mesmo problema em Pascal.
If tempo: = sol then begin;

Vou à Praia;

End;

?2
  2  ?

Nesta, a condição ira determinar qual comando


será executado dentre dois listados. Na estrutura
simples temos ³Se.....Então´, nesta caso teremos
³Se.....Então.....Senão´ Representaremos as mesmas
conforme visto no tópico formas de representação:

Descrição Narrativa: * fizer sol   vou à


praia   jogarei cartas.

Fluxograma:

Linguagem Algorítmica:
Se tempo = sol então

Vou à praia

Senão

Jogarei cartas

Fim-se

Padronizando novamente para Pascal.

If tempo: = sol then begin;

Vou à praia;

end

Else begin;

Jogarei cartas;

End;

?2
  2  ? ?

Esta estrutura e extremamente utilizada


quando necessitasse de utilizar o comando if repetidas
vezes, tornando-se assim um comando de alto poder
na estruturação de qualquer algoritmo.
Descrição Narrativa: o mês seja igual a 1
  é janeiro,  igual a 2   é fevereiro, 
igual a 3   é março e assim por diante.

Fluxograma:

Linguagem Algorítmica:

Case mês of

1: mês:= Janeiro;

2: mês:= Fevereiro;

3: mês:= Xarço;

4: mês:= Abril;
5: mês:= Xaio;

6: mês:= Junho;

7: mês:= Julho;

8: mês:= Agosto;

9: mês:= Setembro;

10: mês:= Outubro;

11: mês:= Novembro;

12: mês:= Dezembro;

end;

#   %1

Essa estrutura trabalha com a repetição de


comandos até que condições se satisfaçam. Esta
estrutura e subdividida em 3 sub-estruturas.

?
     ?     
 
 


Os comandos contidos neste tipo de estrutura


podem não ser executados nenhuma vez, já que o
mesmo testa a condição no início da estrutura.
Descrição Narrativa: #   não fizer sol
; ficarei em casa.

Fluxograma:

Linguagem Algorítmica:

Enquanto tempo <> sol faça

Olhar o tempo

Fim-enquanto

Vou à praia

Padronizando:

While tempo: <> sol do begin;


Olhar o tempo

End;

Vou à praia

Enquanto o tempo for diferente de sol ou seja,


não tiver sol, (condição verdadeira) a estrutura ira
executar os comandos contidos nela, e este se repetirá
até que o tempo seja igual a sol, pois quando o tempo
for igual a sol a condição será falsa, somente assim
poderemos sair da estrutura de repetição while e
executar o comando ³Vou à praia´.

?
     ?   
 
  

Permite a repetição dos comandos contidos


nesta estrutura até que o mesmo seja verdadeira.
Neste tipo de estrutura o comando sempre será
executado pelo menos uma vez.

Descrição Narrativa: Ficarei em casa  


faça sol.

Fluxograma:
Linguagem Algorítmica:

Repita

Ficarei em casa

Até que tempo = sol

Padronizando

Repeat

begin

Ficarei em casa

End;

Until tempo = sol


?
        

 

Permite a repetição dos comandos contidos


nesta estrutura seja repetida um número específico de
vezes.

Descrição Narrativa: Imprima na tela os


números de 1 a 100.

Linguagem Algorítmica:

For N := 1 to 100 do

Begin

Writeln (N);

End;

Neste exemplo ao iniciar o comando for a


variável N recebera o valor do primeiro número da
condição (no caso 1) e será impresso na tela o valor do
mesmo, quando esse comando se repetir o N passara a
ter o valor de N+1 ou seja 2, e será impresso
novamente na tela, isso se repetira até que N seja igual
a 100. Temos também no comando for a opção que vai
decrescendo N até chegar em um valor igual ao
segundo da condição. Exemplo:
For N := 100 dowto 1 do

Begin

Writeln (N);

End;

  

Nesta parte do tutorial, mostrei o conceito de


estruturas utilizadas para manipulação de dados, ou
seja como o programa ira ordenar os dados para obter
os resultados esperados. No próximo tópico falaremos
sobre array dimensionais e arrays bidimensionais.
V