Anda di halaman 1dari 43

SUMRIO

INTRODUO.................................................................................................................................................5
ALGORITMO...................................................................................................................................................6
ALGORITMO NO COMPUTACIONAL....................................................................................................6
PROGRAMA.....................................................................................................................................................7
LINGUAGENS DE PROGRAMAO..........................................................................................................7
TCNICAS ATUAIS DE PROGRAMAO................................................................................................8
ALGORITMOS EM PORTUGOL..............................................................................................................8
OPERADORES ARITMTICOS....................................................................................................................8
OPERADORES RELACIONAIS....................................................................................................................9
LINEARIZAO DE EXPRESSES............................................................................................................9
MODULARIZAO DE EXPRESSES....................................................................................................10
OPERADORES ESPECIAIS (MOD E DIV)................................................................................................10
FUNES........................................................................................................................................................11
BIBLIOTECAS DE FUNES.....................................................................................................................12
FUNES PR-DEFINIDAS........................................................................................................................12
OPERADORES LGICOS............................................................................................................................13
TABELA VERDADE......................................................................................................................................13
EXPRESSES LGICAS..............................................................................................................................14
VARIVEIS.....................................................................................................................................................15
VARIVEIS DE ENTRADA E SADA.........................................................................................................15
CONSTANTES................................................................................................................................................16
IDENTIFICADORES.....................................................................................................................................16
TIPOS DE DADOS..........................................................................................................................................17
TIPOS PRIMITIVOS DE DADOS................................................................................................................18
COMANDOS DE I/O (INPUT/OUTPUT)....................................................................................................18
SINAL DE ATRIBUIO..............................................................................................................................19
SINAL DE IGUALDADE...............................................................................................................................19

Algoritmos

CORPO GERAL DE UM PROGRAMA......................................................................................................20


ESTRUTURAS SEQNCIAIS....................................................................................................................20
; PONTO E VRGULA ;.................................................................................................................................21
PRIMEIRO ALGORITMO............................................................................................................................21
SEGUNDO ALGORITMO.............................................................................................................................22
{LINHAS DE COMENTRIO}.....................................................................................................................22
ASPAS SIMPLES.........................................................................................................................................23
ESTRUTURAS DE DECISO......................................................................................................................23
ALGORITMO TRS......................................................................................................................................24
ALGORITMO QUATRO...............................................................................................................................25
NINHOS DE SE...............................................................................................................................................26
ALGORITMO CINCO...................................................................................................................................26
ESTRUTURAS DE CONDIO..................................................................................................................27
ALGORITMO SEIS........................................................................................................................................27
ESTRUTURA DE REPETIO DETERMINADA....................................................................................28
ALGORITMO SETE......................................................................................................................................29
ALGORITMO OITO......................................................................................................................................30
ESTRUTURA DE REPETIO INDETERMINADA COM VALIDAO INICIAL...........................31
ALGORITMO NOVE.....................................................................................................................................31
ESTRUTURA DE REPETIO INDETERMINADA COM VALIDAO FINAL..............................32
ALGORITMO DEZ........................................................................................................................................33
ALGORITMO ONZE.....................................................................................................................................34
PROGRAMAS EQUIVALENTES.................................................................................................................35
EXERCCIOS..................................................................................................................................................36

Algoritmos

INTRODUO

objetivo

demonstrar

principal

tcnicas

para

da

Lgica

resoluo

de
de

Programao

problemas

consequentemente automatizao de tarefas.


O aprendizado da Lgica essencial para formao de um
bom programador, servindo como base para o aprendizado de
todas as linguagens de programao, estruturadas ou no.

Algoritmos

ALGORITMO

Um Algoritmo uma seqncia de instrues ordenadas de


forma lgica para a resoluo de uma determinada tarefa ou
problema.
Conceitos
Procedimento - uma receita ou roteiro para executar alguma tarefa. Constituise de etapas, passos, comandos ou instrues que so executadas
seqencialmente.
Algoritmo - um procedimento que executado em um tempo finito. um
conjunto finito de regras, bem definidas, para a soluo de um problema em um
tempo finito.
Caractersticas dos algoritmos
- Execuo de algoritmos
De cima para baixo, seqencialmente, a menos que esta ordem seja
explicitamente alterada.
- Entradas
Aos valores recebidos por um algoritmo d-se o nome de entradas. No exemplo
1, o passo 1 constitui uma entrada.
- Sadas
Todo algoritmo possui pelo menos um resultado. Os resultados fornecidos por
um algoritmo recebem o nome de sadas.
- Definio dos passos
E importante que num algoritmo cada passo esteja precisamente definido no
deixando nenhuma margem a ambigidades.
- Efetividade
Todas as operaes especificadas no algoritmo devem ser suficientemente
bsicas para que possam ser, pelo menos em princpio, executadas de maneira
exata e num tempo finito.
Formas de representao de algoritmos

Algoritmos

Os algoritmos podem ser


escritos em linguagem comum,
em linguagem grfica
(fluxogramas ou diagramas de
blocos) ou ainda em linguagem
de programao como BASIC,
FORTRAN, COBOL, etc..
CLASSIFICAO E APRESENTAO DE ALGORITMOS NUMRICOS
Os algoritmos podem ser classificados em:
- no numricos
- numricos
Ou ainda podem ser classificados em:
- puramente seqenciais
- com seleo
- com repetio
Algoritmos puramente seqenciais
Todo o algoritmo puramente seqencial tem exatamente a seguinte estrutura:
- Ler valores
- Efetuar clculos
- Escrever resultados
- Parar
5

Algoritmos

ler A, B, C
MEDIA = A + B + C / 3
escrever MEDIA
parar
Algoritmos com seleo e/ou deciso
ESTRUTURAS DE DECISO
Executa uma seqncia de comandos de acordo com o resultado de um teste.
A estrutura de deciso pode ser Simples ou Composta, baseada em um resultado lgico.
Simples:
SE <<CONDIO>>
ENTO <<COMANDO1>>

Composta 1:
SE <<CONDIO>>
ENTO <<COMANDO1>>
SENO <<COMANDO1>>

Composta 2:
SE <<CONDIO>>
ENTO INICIO
<<COMANDO1>>;
<<COMANDON>>
FIM;
SENO INICIO
<<COMANDO1>>; <<COMANDON>>
FIM;

PARA <<VARIAVEL DE TIPO INTEIRO>>:=<<VALOR INICIAL>> ATE


<<VALOR FINAL>> FAA
NICIO
<<COMANDO1>>;
<<COMANDON>>
FIM;

Algoritmos

ALGORITMO NO COMPUTACIONAL

Abaixo apresentado um Algoritmo no computacional cujo


objetivo usar um telefone pblico.

Incio
1. Tirar o fone do gancho;
2. Ouvir o sinal de linha;
3. Introduzir o carto;

SEQUNCIAL

4. Teclar o nmero desejado;


5. Se der o sinal de chamar

DESVIO

5.1 Conversar;
5.2 Desligar;
5.3 Retirar o carto;
6. Seno
6.1 Repetir;
Fim.

PROGRAMA

Um programa um Algoritmo escrito em uma linguagem


computacional.

Algoritmos

LINGUAGENS DE PROGRAMAO

So
programas.

Softwares
Possuem

que
um

permitem

poder

de

desenvolvimento

criao

ilimitado,

de

desde

jogos, editores de texto, sistemas empresariais at sistemas


operacionais.
Existem vrias linguagens de programao, cada uma com
suas caractersticas prprias.
Exemplos:

Pascal

Clipper

Visual Basic

Delphi e etc.

Algoritmos

TCNICAS ATUAIS DE PROGRAMAO

Programao Seqencial

Programao Estruturada

Programao Orientada a Eventos e Objetos

ALGORITMOS EM PORTUGOL

Durante nosso curso iremos aprender a desenvolver nossos


Algoritmos em uma pseudo-linguagem conhecida como Portugol
ou Portugus Estruturado.
Portugol
Algol.

Algol

derivado
o

nome

de

da

aglutinao

uma

linguagem

de
de

Portugus

programao

estruturada usada no final da dcada de 50.

OPERADORES ARITMTICOS

Adio

Subtrao

Multiplicao

Diviso

Algoritmos

OPERADORES RELACIONAIS

>

Maior que

<

Menor que

>=

Maior ou Igual

<=

Menor ou Igual

Igual

<>

Diferente

LINEARIZAO DE EXPRESSES

Para

construo

de

Algoritmos

todas

as

expresses

aritmticas devem ser linearizadas, ou seja, colocadas em


linhas.

importante

correspondentes

tambm
da

ressalvar

aritmtica

uso

dos

tradicional

operadores
para

computacional.
Exemplo:
2

3 5 3 1

Tradicional

(2/3+(5-3))+1=

Computacional

10

Algoritmos

MODULARIZAO DE EXPRESSES

A modularizao a diviso da expresso em partes,


proporcionando maior compreenso e definindo prioridades para
resoluo da mesma.
Como

pode

ser

observado

no

exemplo

anterior,

em

expresses computacionais usamos somente parnteses ( )


para modularizao.
Na

informtica

podemos

ter

parnteses

dentro

de

parnteses.
Exemplos de prioridades:
(2+2)/2=2
2+2/2=3

OPERADORES ESPECIAIS (MOD e DIV)

MOD

Retorna

resto

da

diviso

entre

nmeros

inteiros.
DIV Retorna o valor inteiro que resulta da diviso
entre 2 nmeros inteiros.

11

Algoritmos

Exemplo:

13 2
1

MOD

13 DIV 2 = 6

6
DIV

13 MOD 2 = 1

FUNES

Uma funo um instrumento (Subalgoritmo) que tem como


objetivo retornar um valor ou uma informao.

12

Algoritmos

A chamada de uma funo feita atravs da citao do


seu nome seguido opcionalmente de seu argumento inicial entre
parnteses.
As

funes

podem

ser

predefinidas

pela

linguagem

ou

criadas pelo programador de acordo com o seu interesse.


Exemplos:

Valor Inicial X

X=9

Processamento

Valor Final Y

Y=3

BIBLIOTECAS DE FUNES

Armazenam um conjunto de funes que podem ser usadas


pelos programas.

FUNES PR-DEFINIDAS

13

Algoritmos

ABS( )

VALOR ABSOLUTO

SQRT( )

RAIZ QUADRADA

SQR( )

ELEVA AO QUADRADO

TRUNC( )

VALOR TRUNCADO

ROUND( )

VALOR ARREDONDADO

LOG( )

LOGARITMO

SIN( )

SENO

COS( )

COSENO

TAN( )

TANGENTE

As funes acima so as mais comuns e importantes para


nosso
possui

desenvolvimento
suas

lgico,

funes

entretanto,

prpias.

As

cada

funes

linguagem
podem

ser

aritmticas, temporais, de texto e etc.

OPERADORES LGICOS

Atuam sobre expresses retornando sempre valores lgicos


como Falso ou Verdadeiro.

RETORNA

VERDADEIRO

SE

AMBAS

AS

PARTES

FOREM

VERDADEIRAS.

OU BASTA QUE UMA PARTE SEJA VERDADEIRA PARA RETORNAR


VERDADEIRO.

NO INVERTE O ESTADO, DE VERDADEIRO PASSA PARA FALSO E


VICE-VERSA.

14

Algoritmos

TABELA VERDADE

A E B

A OU B

NO (A)

15

Algoritmos

EXPRESSES LGICAS

As expresses compostas de relaes sempre retornam um


valor lgico.
Exemplos:

16

Algoritmos

2+5>4 Verdadeiro

3<>3 Falso

De acordo com a necessidade, as expresses podem ser


unidas pelos operadores lgicos.
Exemplos:
2+5>4 E 3<>3 Falso
V

F
E
F

2+5>4 OU 3<>3 Verdadeiro


V

V
NO(3<>3) Verdadeiro

NO

VARIVEIS

Variveis

so

endereos

de

memria

destinados

armazenar informaes temporariamente.


* Todo Algoritmo ou programa deve possuir varivel!

17

Algoritmos

VARIVEIS DE ENTRADA E SADA

Variveis de Entrada armazenam informaes fornecidas


por um meio externo, normalmente usurios ou discos.
Variveis

de

Sada

armazenam

dados

processados

como

resultados.
Exemplo:
A

C=A+B

De acordo com a figura acima A e B so Variveis de


Entrada e C uma Varivel de Sada.
Varivel Contador
Uma contagem em um algoritmo feita por uma varivel chamada Contador.
Uma varivel contador uma varivel que recebe um valor inicial (geralmente zero) e incrementada em
algum outro passo do algoritmo, de um valor constante.
Exemplo:
1. CONT = 0
2. -------3. -------4. CONT = CONT + 1
No passo 1 inicializou-se a varivel CONT.
No passo 4, a varivel CONT recebeu um incremento (1, no caso) de forma que ela passa a armazenar a
soma do valor anterior (0) com o incremento (1). Assim, toda a vez que este passo (4) for executado, a
varivel CONT armazenar um valor igual a soma do valor anterior com o incremento.
Utilizando a varivel contador o algoritmo para calcular a mdia de cada um dos 30 alunos toma a seguinte
forma:
Este um exemplo de algoritmo com repetio porque tem alguns de seus passos com execuo repetida
(passos 2 at 6).
Varivel Acumulador
18

Algoritmos

Suponha-se o seguinte problema:


Calcular a mdia geral de uma prova de vestibular a qual compareceram 2640 alunos.
Neste caso aparece a necessidade de se acumular (somar) as notas dos 2640 alunos, para depois dividir
esta soma pelo nmero de alunos que compareceram a prova.
Uma varivel acumulador uma varivel que recebe um valor inicial (geralmente 0) e incrementada em
algum outro passo do algoritmo, de um valor varivel.
Exemplo:
1. ACUM = 0
2. -------3. -------4. ACUM = ACUM + VAR
No passo 1 inicializou-se a varivel ACUM.
No passo 4, somou-se ao valor que estava na varivel ACUM o valor que estava na varivel VAR, e o
resultado guardou-se (arnazenou-se) na varivel ACUM, que assim passa a ter um novo valor.
Utilizando-se a vrivel acumulador, o algoritmo para clculo da mdia da prova de vestibular toma a
seguinte forma:

19

Algoritmos

CONSTANTES

Constantes

so

endereos

de

memria

destinados

armazenar informaes fixas, inalterveis durante a execuo


do programa.
Exemplo:
PI = 3.1416

IDENTIFICADORES

So os nomes dados a variveis, constantes e programas.


Regras Para construo de Identificadores:

No podem ter nomes de palavras reservadas (comandos


da linguagem);

Devem

possuir

como

caractere

uma

letra

ou

nmeros

ou

minsculas

Underscore ( _ );

Ter

como

demais

caracteres

letras,

Underscore;

Ter no mximo 127 caracteres;

No possuir espaos em branco;

escolha

de

letras

maisculas

ou

indiferente.
20

Algoritmos

Exemplos:
NOME

TELEFONE

IDADE_FILHO

NOTA1

SALARIO

PI

UMNOMEMUITOCOMPRIDOEDIFICILDELER
UM_NOME_MUITO_COMPRIDO_E_FACIL_DE_LER

21

Algoritmos

TIPOS DE DADOS

Todas as Variveis devem assumir um determinado tipo de


informao.
O tipo de dado pode ser:

Primitivo Pr-definido pela linguagem;

Sub-Faixa uma parte de um tipo j existente;

Escalar Definidos pelo programador.


PRIMITIVO

Exemplos:
A : INTEIRO

SUB - FAIXA

TIPO NOTA=[1..10] DE INTEIRO


TIPO SEMANA = (Segunda-feira, Tera-feira, Quarta-feira,
Quinta-feira, Sexta-feira, Sbado, Domingo)
ESCALAR

TIPOS PRIMITIVOS DE DADOS

22

Algoritmos

INTEIRO

ADMITE

SOMENTE

UTILIZADO

NMEROS

PARA

INTEIROS.

REPRESENTAR

GERALMENTE
UMA

CONTAGEM

(QUANTIDADE).

REAL

ADMITE NMEROS REAIS (COM OU SEM CASAS DECIMAIS).


GERALMENTE UTILIZADO PARA REPRESENTAR UMA MEDIO.

CARACTERE ADMITE CARACTERES ALFANUMRICOS. OS NMEROS QUANDO


DECLARADOS COMO CARACTERES TORNAM SE REPRESENTATIVOS
E PERDEM A ATRIBUIO DE VALOR.

LGICO

ADMITE SOMENTE VALORES LGICOS(VERDADEIRO/FALSO).

COMANDOS DE I/O (INPUT/OUTPUT)

LER

Comando

de

entrada

que

permite

leitura

de

Variveis de Entrada.
ESCREVER Comando de sada que exibe uma informao na
tela do monitor.
IMPRIMIR Comando de sada que envia uma informao
para a impressora.

23

Algoritmos

SINAL DE ATRIBUIO

Uma Varivel nunca eternamente igual a um valor, seu


contedo pode ser alterado a qualquer momento. Portanto para
atribuir valores a variveis devemos usar o sinal de :=.
Exemplos:
A := 2;
B := 3;
C := A + B;

SINAL DE IGUALDADE

As

constantes

so

eternamente

iguais

determinados

valores, portanto usamos o sinal de =.


Exemplos:
PI = 3.1416;
Empresa = Colgio de Informtica L.T.D.A.
V = Verdadeiro

24

Algoritmos

CORPO GERAL DE UM PROGRAMA

PROGRAMA <<identificador>>;
CONST
<<identificador>> = <<dado>>
VAR
<<identificador>> :

<<tipo>>;

NICIO
{
COMANDOS DE ENTRADA,PROCESSAMENTO E SADA
<<comando1>>;
<<comandoN>>
}
FIM.

ESTRUTURAS SEQNCIAIS

Como

pode

ser

analisado

no

tpico

anterior,

todo

programa possui uma estrutura seqencial determinada por um


NICIO e FIM.

25

Algoritmos

; PONTO E VRGULA ;

O sinal de ponto e vrgula ; indica a existncia de um


prximo comando (passa para o prximo).
Na

estrutura

NICIO

no

comando

que

antecede

estrutura FIM no se usa ;.

PRIMEIRO ALGORITMO

Segue um Algoritmo que l o nome e as 4 notas bimestrais


de um aluno. Em seguida o Algoritmo calcula e escreve a mdia
obtida.
PROGRAMA MEDIA_FINAL;
VAR
NOTA1, NOTA2, NOTA3, NOTA4, MEDIA: INTEIRO;
NOME : CARACTERE [35]
INICIO
LER (NOME);
LER (NOTA1, NOTA2, NOTA3, NOTA4);
MEDIA := (NOTA1 + NOTA2 + NOTA3 + NOTA4) / 4;
ESCREVER (NOME, MEDIA)
FIM.
26

Algoritmos

SEGUNDO ALGORITMO

Segue um Algoritmo que l o raio de uma circunferncia e


calcula sua rea.

PROGRAMA AREA_CIRCUNFERENCIA;
CONST PI = 3.1416;
VAR RAIO, AREA : REAL;
INICIO
LER (RAIO); {PROCESSAMENTO}
AREA := PI * SQR(RAIO); {ENTRADA}
ESCREVER (AREA =, AREA) {SADA}
FIM.

{LINHAS DE COMENTRIO}

Podemos

inserir

em

um

Algoritmo

comentrios

para

aumentar a compreenso do mesmo, para isso basta que o texto


fique entre Chaves {}.
Exemplo:
LER (RAIO); {ENTRADA}

27

Algoritmos

ASPAS SIMPLES

Quando

queremos

exibir

uma

mensagem

para

tela

ou

impressora ela deve estar contida entre aspas simples, caso


contrrio,

computador

ir

identificar

mensagem

como

Varivel Indefinida.
Exemplo:
ESCREVER (AREA OBTIDA

=, AREA) {COMANDO DE SADA}

AREA OBTIDA = X.XX {RESULTADO GERADO NA TELA}

ESTRUTURAS DE DECISO

Executa

uma

seqncia

de

comandos

de

acordo

com

resultado de um teste.
A estrutura de deciso pode ser Simples ou Composta,
baseada em um resultado lgico.

28

Algoritmos

Simples:

Composta 1:

SE <<CONDIO>>

SE <<CONDIO>>

ENTO <<COMANDO1>>

ENTO <<COMANDO1>>
SENO <<COMANDO1>>

29

Algoritmos

Composta 2:
SE <<CONDIO>>
ENTO INICIO
<<COMANDO1>>;
<<COMANDON>>
FIM;
SENO INICIO
<<COMANDO1>>; <<COMANDON>>
FIM;

ALGORITMO TRS

Segue um Algoritmo que l 2 nmeros e escreve o maior.


PROGRAMA ACHA_MAIOR;
VAR A, B : INTEIRO;
INICIO
LER (A, B);
SE A>B
ENTO ESCREVER (A)
SENO ESCREVER (B)

30

Algoritmos

FIM.

ALGORITMO QUATRO

Segue um Algoritmo que l o nome e as 4 notas bimestrais


de um aluno. Em seguida o Algoritmo calcula e escreve a mdia
obtida pelo aluno escrevendo tambm se o aluno foi aprovado
ou reprovado.
Mdia para aprovao = 6

PROGRAMA MEDIA_FINAL;
VAR
NOTA1, NOTA2, NOTA3, NOTA4, MEDIA: REAL;
NOME : CARACTERE [35]
INICIO
LER (NOME);
LER (NOTA1, NOTA2, NOTA3, NOTA4);
MEDIA := (NOTA1 + NOTA2 + NOTA3 + NOTA4) / 4;
SE MEDIA>=6
ENTO ESCREVER (APROVADO)
SENO ESCREVER (REPROVADO)
ESCREVER (NOME, MEDIA)
FIM.
31

Algoritmos

NINHOS DE SE

Usados para tomadas de decises para mais de 2 opes.


Forma Geral:
SE <<CONDIO>>
ENTO <<COMANDO1>>
SENO SE <<CONDIO>>
ENTO <<COMANDO1>>
SENO <<COMANDO1>>

ALGORITMO CINCO

Segue um Algoritmo que l 3 nmeros e escreve o maior.


PROGRAMA ACHA_MAIOR;
VAR A, B, C : INTEIRO;
INICIO
LER (A, B, C);
SE (A>B) E (A>C)
ENTO ESCREVER (A)
SENO SE (B>A) E (B>C)

32

Algoritmos

ENTO ESCREVER (B)


SENO ESCREVER (C)
FIM.

ESTRUTURAS DE CONDIO

A estrutura de condio eqivale a um ninho de SES.


Forma Geral:
FACA CASO
CASO <<CONDIO1>>
<<COMANDO1>>;
CASO <<CONDION>>
<<COMANDO1>>;
OUTROS CASOS
<<COMANDO1>>;
FIM DE CASO

ALGORITMO SEIS

Segue um Algoritmo que l 3 nmeros e escreve o maior.


PROGRAMA ACHA_MAIOR;

33

Algoritmos

VAR A, B, C : INTEIRO;
INICIO
LER (A, B, C);
FACA CASO
CASO (A>B) E (A>C)
ESCREVER (A);
CASO (B>A) E (B>C)
ESCREVER (B);
OUTROS CASOS
ESCREVER (C);
FIM DE CASO
FIM.

ESTRUTURA DE REPETIO DETERMINADA

Quando

uma

seqncia

de

comandos

deve

ser

executada

repetidas vezes, tem-se uma estrutura de repetio.


A

estrutura

de

repetio,

assim

como

de

deciso,

envolve sempre a avaliao de uma condio.


Na

repetio

determinada

algoritmo

apresenta

previamente a quantidade de repeties.


Forma Geral 1:
34

Algoritmos

PARA <<VARIAVEL DE TIPO INTEIRO>>:=<<VALOR INICIAL>> ATE


<<VALOR FINAL>> FAA
<<COMANDO1>>;
Forma Geral 2:
PARA <<VARIAVEL DE TIPO INTEIRO>>:=<<VALOR INICIAL>> ATE
<<VALOR FINAL>> FAA
NICIO
<<COMANDO1>>;
<<COMANDON>>
FIM;

repetio

inicial

at

por

padro

valor

final

determina
como

sendo

passo
1.

do

valor

Determinadas

linguagens possuem passo 1 ou permitem que o programador


defina o passo.

ALGORITMO SETE

Segue um algoritmo que escreve 10 vezes a frase VASCO


DA GAMA

35

Algoritmos

PROGRAMA REPETICAO;
VAR I:INTEIRO

VARIVEL IMPLEMENTADA DE 1 EM 1

INICIO
PARA I :=1 ATE 10 FACA
ESCREVER (VASCO DA GAMA)
FIM.

ALGORITMO OITO

Segue um algoritmo que escreve os 100 primeiros nmeros


pares.
PROGRAMA PARES;
VAR I,PAR: INTEGER;
INICIO
PAR:=0;
PARA I:=1 ATE 100 FACA
INICIO
ESCREVER (PAR);
PAR := PAR+2
FIM
FIM.

36

Algoritmos

ESTRUTURA DE REPETIO INDETERMINADA COM VALIDAO


INICIAL

usada para repetir N vezes uma ou mais instrues.


Tendo

como

vantagem

fato

de

no

ser

necessrio

conhecimento prvio do nmero de repeties.


Forma Geral 1:

VALIDAO INICIAL

ENQUANTO <<CONDIO>> FACA


<<COMANDO1>>;

Forma Geral 2:
ENQUANTO <<CONDIO>> FACA
NICIO
<<COMANDO1>>;
<<COMANDON>>
FIM;

ALGORITMO NOVE

Segue um algoritmo que calcule a soma dos salrios dos


funcionrios de uma empresa. O programa termina quando o
usurio digitar um salrio menor que 0.
PROGRAMA SOMA_SALARIOS;
37

Algoritmos

VAR SOMA, SALARIO : REAL;


INICIO
SOMA:=O;
SALARIO:=1;
ENQUANTO SALARIO>=0
INICIO
LER (SALARIO);
SOMA:=SOMA+SALARIO
FIM;
ESCREVER (SOMA)
FIM.

TODAS AS VARIVEIS QUE ACUMULAM VALORES DEVEM


RECEBER UM VALOR INICIAL.

ESTRUTURA DE REPETIO INDETERMINADA COM VALIDAO


FINAL

Assim como a estrutura ENQUANTO usada para repetir N


vezes uma ou mais instrues.
Sua validao final fazendo com que a repetio seja
executada pelo menos uma vez.

38

Algoritmos

Forma Geral;
REPITA
<<COMANDO1>>;
<<COMANDON>>
ATE <<CONDIO>>

ALGORITMO DEZ

Segue um algoritmo que calcule a soma dos salrios dos


funcionrios de uma empresa. O programa termina quando o
usurio digitar um salrio menor que 0.

PROGRAMA SOMA_SALARIOS;
VAR
SOMA, SALARIO : REAL;
INICIO
SOMA:=O;
REPITA
LER (SALARIO);
SOMA:=SOMA+SALARIO
ATE SALARIO<0;

39

Algoritmos

ESCREVER (SOMA)
FIM.

ALGORITMO ONZE

Segue um algoritmo que escreve os 100 primeiros nmeros


pares.
PROGRAMA PARES_2;
VAR I, PAR, CONTADOR : INTEIRO;
INICIO
CONTADOR := 0;
PAR := 0;
REPITA
ESCREVER (PAR);
PAR := PAR+2;
CONTADOR := CONTADOR+1;
ATE CONTADOR=100
FIM.

40

Algoritmos

Programas Equivalentes

O algoritmo onze poderia ter sido criado com qualquer


estrutura de repetio. Portanto podemos ter algoritmos que
so

escritos

de

maneiras

diferentes,

mas,

funcionam

realizando o mesmo objetivo.

41

Algoritmos

EXERCCIOS
1)O QUE UM ALGORITMO?
2)O QUE UM PROGRAMA?
3)CRIE UM ALGORITMO NO COMPUTACIONAL, QUE TROQUE UM
PNEU DE CARRO.
4)O QUE UMA LINGUAGEM DE PROGRAMAO?
5)LINEARIZE AS EXPRESSES ABAIXO:

5
7 * (8 5)
8

[ 25 * 3 (7 4)]

6)Complete a tabela abaixo (A e B so variveis lgicas;


V= verdadeiro e F= falso)
A
V
V
F
F

B
V
F
V
F

A ou B

A e B

no A

7) CRIE ALGORITMOS PARA OS SEGUINTES PROBLEMAS:


A) Dados trs valores X, Y, Z, verifiquem se eles podem
ser os comprimentos dos lados de um tringulo e se forem
escrever uma mensagem informando se se um tringulo
equiltero, issceles ou escaleno.
Observaes:
O comprimento de um lado do tringulo sempre menor do
que a soma dos outros dois.
Eqiltero Todos lados iguais
Issceles Dois lados iguais
Escaleno Todos os lados diferentes
B) Recebendo quatro mdias bimestrais, calcule a media do
ano (ponderada), sabendo que o 1 bimestre tem peso 1, o 2
bimestre tem peso 2, o 3 bimestre tem peso 3 e o 4 bimestre
tem peso 4. Sabendo que para aprovao o aluno precisa ter
uma mdia anual maior ou igual a 7, escreva uma mensagem
indicando se o aluno foi aprovado ou reprovado.
42

Algoritmos

Observao:
Mdia anual = (1 bimestre * 1+ 2 bimestre * 2 + 3
bimestre * 3 + 4 bimestre * 4) / (1+2+3+4)

43