Você está na página 1de 39

SUMRIO

INTRODUO ............................................................................................................................................... 3
ALGORITMO ................................................................................................................................................. 4
ALGORITMO NO COMPUTACIONAL .................................................................................................. 7
PROGRAMA ................................................................................................................................................... 7
LINGUAGENS DE PROGRAMAO ........................................................................................................ 8
TCNICAS ATUAIS DE PROGRAMAO .............................................................................................. 9
ALGORITMOS EM PORTUGOL ............................................................................................................ 9
OPERADORES ARITMTICOS.................................................................................................................. 9
OPERADORES RELACIONAIS ................................................................................................................ 10
LINEARIZAO DE EXPRESSES ........................................................................................................ 10
MODULARIZAO DE EXPRESSES ................................................................................................... 11
OPERADORES ESPECIAIS (MOD E DIV) .............................................................................................. 11
FUNES ...................................................................................................................................................... 12
BIBLIOTECAS DE FUNES ................................................................................................................... 13
FUNES PR-DEFINIDAS ...................................................................................................................... 13
OPERADORES LGICOS .......................................................................................................................... 14
TABELA VERDADE .................................................................................................................................... 14
EXPRESSES LGICAS ............................................................................................................................ 15
VARIVEIS .................................................................................................................................................. 16
VARIVEIS DE ENTRADA E SADA ...................................................................................................... 16
CONSTANTES .............................................................................................................................................. 18
IDENTIFICADORES ................................................................................................................................... 18
TIPOS DE DADOS ....................................................................................................................................... 19
TIPOS PRIMITIVOS DE DADOS .............................................................................................................. 20
COMANDOS DE I/O (INPUT/OUTPUT) .................................................................................................. 20
SINAL DE ATRIBUIO ........................................................................................................................... 21
SINAL DE IGUALDADE ............................................................................................................................. 21
Algoritmos
2
CORPO GERAL DE UM PROGRAMA .................................................................................................... 22
ESTRUTURAS SEQNCIAIS .................................................................................................................. 22
; PONTO E VRGULA ; ............................................................................................................................... 23
PRIMEIRO ALGORITMO ......................................................................................................................... 23
SEGUNDO ALGORITMO ........................................................................................................................... 24
{LINHAS DE COMENTRIO} ................................................................................................................... 24
ASPAS SIMPLES ....................................................................................................................................... 25
ESTRUTURAS DE DECISO .................................................................................................................... 25
ALGORITMO TRS .................................................................................................................................... 26
ALGORITMO QUATRO ............................................................................................................................. 27
NINHOS DE SE ............................................................................................................................................. 28
ALGORITMO CINCO ................................................................................................................................. 28
ESTRUTURAS DE CONDIO................................................................................................................. 29
ALGORITMO SEIS ...................................................................................................................................... 29
ESTRUTURA DE REPETIO DETERMINADA .................................................................................. 30
ALGORITMO SETE .................................................................................................................................... 31
ALGORITMO OITO .................................................................................................................................... 32
ESTRUTURA DE REPETIO INDETERMINADA COM VALIDAO INICIAL ........................ 33
ALGORITMO NOVE ................................................................................................................................... 33
ESTRUTURA DE REPETIO INDETERMINADA COM VALIDAO FINAL ............................ 34
ALGORITMO DEZ ...................................................................................................................................... 35
ALGORITMO ONZE ................................................................................................................................... 36
PROGRAMAS EQUIVALENTES .............................................................................................................. 37
EXERCCIOS ................................................................................................................................................ 38
Algoritmos
3
INTRODUO

O objetivo principal da Lgica de Programao demons-
trar tcnicas para resoluo de problemas e consequentemente
automatizao de tarefas.
O aprendizado da Lgica essencial para formao de um
bom programador, servindo como base para o aprendizado de to-
das as linguagens de programao, estruturadas ou no.



Algoritmos
4
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. Constitui-
se de etapas, passos, comandos ou instrues que so executadas seqencial-
mente.

Algoritmo - um procedimento que executado em um tempo finito. um con-
junto finito de regras, bem definidas, para a soluo de um problema em um tem-
po finito.

Caractersticas dos algoritmos

- Execuo de algoritmos

De cima para baixo, seqencialmente, a menos que esta ordem seja explicita-
mente 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 b-
sicas para que possam ser, pelo menos em princpio, executadas de maneira exa-
ta e num tempo finito.

Formas de representao de algoritmos

Algoritmos
5
Os algoritmos podem ser
escritos em linguagem comum,
em linguagem grfica (fluxo-
gramas ou diagramas de blocos)
ou ainda em linguagem de pro-
gramao 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
Algoritmos
6

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
7

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;
4. Teclar o nmero desejado;
5. Se der o sinal de chamar
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 com-
putacional.
S
E
Q
U

N
C
I
A
L

DESVIO
Algoritmos
8

LINGUAGENS DE PROGRAMAO

So Softwares que permitem o desenvolvimento de progra-
mas. Possuem um poder de criao ilimitado, desde jogos, edi-
tores de texto, sistemas empresariais at sistemas operacio-
nais.
Existem vrias linguagens de programao, cada uma com
suas caractersticas prprias.
Exemplos:
- Pascal
- Clipper
- C
- Visual Basic
- Delphi e etc.
Algoritmos
9
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 derivado da aglutinao de Portugus + Al-
gol. Algol o nome de uma linguagem de programao estrutu-
rada usada no final da dcada de 50.

OPERADORES ARITMTICOS

+ Adio
- Subtrao
* Multiplicao
/ Diviso
Algoritmos
10
OPERADORES RELACIONAIS

> Maior que
< Menor que
>= Maior ou Igual
<= Menor ou Igual
= Igual
<> Diferente

LINEARIZAO DE EXPRESSES

Para a construo de Algoritmos todas as expresses
aritmticas devem ser linearizadas, ou seja, colocadas em li-
nhas.
importante tambm ressalvar o uso dos operadores cor-
respondentes da aritmtica tradicional para a computacional.
Exemplo:



( ) = +
(

+ 1 3 5
3
2

(2/3+(5-3))+1=
Tradicional Computacional
Algoritmos
11
MODULARIZAO DE EXPRESSES

A modularizao a diviso da expresso em partes, pro-
porcionando maior compreenso e definindo prioridades para
resoluo da mesma.
Como pode ser observado no exemplo anterior, em expres-
ses computacionais usamos somente parnteses ( ) para mo-
dularizao.
Na informtica podemos ter parnteses dentro de parnte-
ses.
Exemplos de prioridades:
(2+2)/2=2
2+2/2=3

OPERADORES ESPECIAIS (MOD e DIV)

MOD Retorna o resto da diviso entre 2 nmeros intei-
ros.
DIV Retorna o valor inteiro que resulta da diviso
entre 2 nmeros inteiros.


Algoritmos
12
Exemplo:



FUNES

Uma funo um instrumento (Subalgoritmo) que tem como
objetivo retornar um valor ou uma informao.
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 cri-
adas pelo programador de acordo com o seu interesse.
Exemplos:







13 2
6 1
MOD DIV
13 DIV 2 = 6

13 MOD 2 = 1
Valor Final Y
Valor Inicial X
Processamento
X=9
Y=3
x
Algoritmos
13
BIBLIOTECAS DE FUNES

Armazenam um conjunto de funes que podem ser usadas
pelos programas.

FUNES PR-DEFINIDAS

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 desenvolvimento lgico, entretanto, cada linguagem pos-
sui suas funes prpias. As funes podem ser aritmticas,
temporais, de texto e etc.

Algoritmos
14
OPERADORES LGICOS

Atuam sobre expresses retornando sempre valores lgicos
como Falso ou Verdadeiro.
E
RETORNA VERDADEIRO SE AMBAS AS PARTES FOREM VERDADEI-
RAS.
OU
BASTA QUE UMA PARTE SEJA VERDADEIRA PARA RETORNAR
VERDADEIRO.
NO
INVERTE O ESTADO, DE VERDADEIRO PASSA PARA FALSO E
VICE-VERSA.

TABELA VERDADE

A B A E B A OU B NO (A)
V V V V F
V F F V F
F V F V V
F F F F V

Algoritmos
15
EXPRESSES LGICAS

As expresses compostas de relaes sempre retornam um
valor lgico.
Exemplos:
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



2+5>4 OU 3<>3 Verdadeiro



NO(3<>3) Verdadeiro



V F
F
E
V F
V
OU
F
V
NO
Algoritmos
16
VARIVEIS

Variveis so endereos de memria destinados a armaze-
nar informaes temporariamente.
* Todo Algoritmo ou programa deve possuir varivel!

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 re-
sultados.
Exemplo:



De acordo com a figura acima A e B so Variveis de En-
trada 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. --------
A B

C=A+B

7 5 2
Algoritmos
17
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 vari-
vel 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

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:

Algoritmos
18
CONSTANTES

Constantes so endereos de memria destinados a armaze-
nar 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 1 caractere uma letra ou Unders-
core ( _ );
- Ter como demais caracteres letras, nmeros ou Unders-
core;
- Ter no mximo 127 caracteres;
- No possuir espaos em branco;
- A escolha de letras maisculas ou minsculas indi-
ferente.
Algoritmos
19
Exemplos:
NOME TELEFONE IDADE_FILHO
NOTA1 SALARIO PI

UMNOMEMUITOCOMPRIDOEDIFICILDELER
UM_NOME_MUITO_COMPRIDO_E_FACIL_DE_LER

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.
Exemplos:
A : INTEIRO
TIPO NOTA=[1..10] DE INTEIRO
TIPO SEMANA = (Segunda-feira, Tera-feira, Quarta-feira,
Quinta-feira, Sexta-feira, Sbado, Domingo)

PRIMITIVO
SUB - FAIXA
ESCALAR
Algoritmos
20
TIPOS PRIMITIVOS DE DADOS

INTEIRO
ADMITE SOMENTE NMEROS INTEIROS. GERALMENTE UTILI-
ZADO PARA REPRESENTAR 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 a leitura de Vari-
veis 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.
Algoritmos
21
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 a determinados va-
lores, portanto usamos o sinal de =.
Exemplos:
PI = 3.1416;
Empresa = Colgio de Informtica L.T.D.A.
V = Verdadeiro
Algoritmos
22
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 progra-
ma possui uma estrutura seqencial determinada por um NICIO
e FIM.

Algoritmos
23
; PONTO E VRGULA ;

O sinal de ponto e vrgula ; indica a existncia de um
prximo comando (passa para o prximo).
Na estrutura NICIO e no comando que antecede a estrutu-
ra 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.
Algoritmos
24
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 aumen-
tar a compreenso do mesmo, para isso basta que o texto fique
entre Chaves {}.
Exemplo:
LER (RAIO); {ENTRADA}

Algoritmos
25
ASPAS SIMPLES

Quando queremos exibir uma mensagem para a tela ou im-
pressora ela deve estar contida entre aspas simples, caso
contrrio, o computador ir identificar a mensagem como Vari-
vel 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 o resul-
tado de um teste.
A estrutura de deciso pode ser Simples ou Composta, ba-
seada em um resultado lgico.

Simples:
SE <<CONDIO>>
ENTO <<COMANDO1>>

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

Algoritmos
26
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)
FIM.
Algoritmos
27
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.

Algoritmos
28
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)
ENTO ESCREVER (B)
Algoritmos
29
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;
VAR A, B, C : INTEIRO;
Algoritmos
30
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 re-
petidas vezes, tem-se uma estrutura de repetio.
A estrutura de repetio, assim como a de deciso, en-
volve sempre a avaliao de uma condio.
Na repetio determinada o algoritmo apresenta previa-
mente a quantidade de repeties.
Forma Geral 1:
Algoritmos
31
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;

A repetio por padro determina o passo do valor inici-
al at o valor final como sendo 1. Determinadas linguagens
possuem passo 1 ou permitem que o programador defina o pas-
so.

ALGORITMO SETE

Segue um algoritmo que escreve 10 vezes a frase VASCO
DA GAMA
Algoritmos
32
PROGRAMA REPETICAO;
VAR I:INTEIRO
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.
VARIVEL IMPLEMENTADA DE 1 EM 1
Algoritmos
33
ESTRUTURA DE REPETIO INDETERMINADA COM VALIDAO
INICIAL

usada para repetir N vezes uma ou mais instrues.
Tendo como vantagem o fato de no ser necessrio o conheci-
mento prvio do nmero de repeties.
Forma Geral 1:
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 usu-
rio digitar um salrio menor que 0.
PROGRAMA SOMA_SALARIOS;
VALIDAO INICIAL
Algoritmos
34
VAR SOMA, SALARIO : REAL;
INICIO
SOMA:=O;
SALARIO:=1;
ENQUANTO SALARIO>=0
INICIO
LER (SALARIO);
SOMA:=SOMA+SALARIO
FIM;
ESCREVER (SOMA)
FIM.



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.
TODAS AS VARIVEIS QUE ACUMULAM VALORES DEVEM
RECEBER UM VALOR INICIAL.
Algoritmos
35
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 usu-
rio 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;
Algoritmos
36
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.
Algoritmos
37
Programas Equivalentes

O algoritmo onze poderia ter sido criado com qualquer es-
trutura de repetio. Portanto podemos ter algoritmos que so
escritos de maneiras diferentes, mas, funcionam realizando o
mesmo objetivo.
Algoritmos
38
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:

6)Complete a tabela abaixo (A e B so variveis lgicas;
V= verdadeiro e F= falso)

A B A ou B A e B no A
V V
V F
F V
F F

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 es-
crever uma mensagem informando se se um tringulo equil-
tero, 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
= + ) 5 8 ( * 7
8
5
)] 4 7 ( 3 * 25 [ +
Algoritmos
39
uma mdia anual maior ou igual a 7, escreva uma mensagem in-
dicando se o aluno foi aprovado ou reprovado.

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

Você também pode gostar