Você está na página 1de 35

APOSTILA DE LGICA DE PROGRAMAO

APOSTILA DE LGICA DE PROGRAMAO


CAP
Criao de Algoritmos e Programas

file:///C|/cursos_e_livros_cd/informtica/programao/lgica/Algoritmo.htm (1 of 35)28/09/2004 19:03:20

APOSTILA DE LGICA DE PROGRAMAO

SUMRIO
INTRODUO................................................................................................................................................................... 3
ALGORITMO...................................................................................................................................................................... 3
ALGORITMO NO COMPUTACIONAL..................................................................................................................... 3
PROGRAMA....................................................................................................................................................................... 3
LINGUAGENS DE PROGRAMAO............................................................................................................................ 3
TCNICAS ATUAIS DE PROGRAMAO................................................................................................................. 3
ALGORITMOS EM PORTUGOL............................................................................................................................... 3
OPERADORES ARITMTICOS..................................................................................................................................... 3
OPERADORES RELACIONAIS..................................................................................................................................... 3
LINEARIZAO DE EXPRESSES.............................................................................................................................. 3
MODULARIZAO DE EXPRESSES........................................................................................................................ 3
OPERADORES ESPECIAIS (MOD e DIV)................................................................................................................... 3
FUNES............................................................................................................................................................................ 3
BIBLIOTECAS DE FUNES......................................................................................................................................... 3
FUNES PR-DEFINIDAS............................................................................................................................................ 3
OPERADORES LGICOS............................................................................................................................................... 3
TABELA VERDADE.......................................................................................................................................................... 3
EXPRESSES LGICAS................................................................................................................................................. 3
VARIVEIS......................................................................................................................................................................... 3
VARIVEIS DE ENTRADA E SADA............................................................................................................................ 3
CONSTANTES................................................................................................................................................................... 3
IDENTIFICADORES.......................................................................................................................................................... 3
TIPOS DE DADOS............................................................................................................................................................. 3
TIPOS PRIMITIVOS DE DADOS................................................................................................................................... 3
COMANDOS DE I/O (INPUT/OUTPUT)....................................................................................................................... 3
SINAL DE ATRIBUIO................................................................................................................................................. 3
SINAL DE IGUALDADE.................................................................................................................................................... 3
CORPO GERAL DE UM PROGRAMA.......................................................................................................................... 3
ESTRUTURAS SEQNCIAIS........................................................................................................................................ 3
; PONTO E VRGULA ;..................................................................................................................................................... 3
PRIMEIRO ALGORITMO................................................................................................................................................ 3
SEGUNDO ALGORITMO................................................................................................................................................. 3

file:///C|/cursos_e_livros_cd/informtica/programao/lgica/Algoritmo.htm (2 of 35)28/09/2004 19:03:20

APOSTILA DE LGICA DE PROGRAMAO

{LINHAS DE COMENTRIO}......................................................................................................................................... 3
ASPAS SIMPLES............................................................................................................................................................ 3
ESTRUTURAS DE DECISO.......................................................................................................................................... 3
ALGORITMO TRS.......................................................................................................................................................... 3
ALGORITMO QUATRO................................................................................................................................................... 3
NINHOS DE SE................................................................................................................................................................... 3
ALGORITMO CINCO....................................................................................................................................................... 3
ESTRUTURAS DE CONDIO...................................................................................................................................... 3
ALGORITMO SEIS............................................................................................................................................................ 3
ESTRUTURA DE REPETIO DETERMINADA......................................................................................................... 3
ALGORITMO SETE........................................................................................................................................................... 3
ALGORITMO OITO.......................................................................................................................................................... 3
ESTRUTURA DE REPETIO INDETERMINADA COM VALIDAO INICIAL.............................................. 3
ALGORITMO NOVE......................................................................................................................................................... 3
ESTRUTURA DE REPETIO INDETERMINADA COM VALIDAO FINAL.................................................. 3
ALGORITMO DEZ............................................................................................................................................................. 3
ALGORITMO ONZE......................................................................................................................................................... 3
Programas Equivalentes.................................................................................................................................... 3
EXERCCIOS...................................................................................................................................................................... 3

INTRODUO

O trabalho a que me propus resultado de minha experincia em


ministrar a disciplina CAP (criao de Algoritmos e Programas)
desde 1996, motivado pela falta de texto relacionado s condies e
necessidades do curso.
O objetivo principal da Lgica de Programao demonstrar 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 todas as
linguagens de programao, estruturadas ou no.

file:///C|/cursos_e_livros_cd/informtica/programao/lgica/Algoritmo.htm (3 of 35)28/09/2004 19:03:20

APOSTILA DE LGICA DE PROGRAMAO

De um modo geral esses conhecimentos sero de supra importncia


pois ajudaro no cotidiano, desenvolvendo um raciocnio rpido.
Partindo do princpio que a nica coisa constante no mundo a
mudana, forneo abaixo meu endereo eletrnico para que voc
possa me ajudar, enviando crticas, elogios ou sugestes que
serviro para o eterno aprimoramento desse trabalho.

renato@professor.mailbr.com.br
TU

www.renatodacosta.cjb.net
TU

ALGORITMO
Um Algoritmo uma seqncia de instrues ordenadas de forma
lgica para a resoluo de uma determinada tarefa ou problema.

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;

file:///C|/cursos_e_livros_cd/informtica/programao/lgica/Algoritmo.htm (4 of 35)28/09/2004 19:03:20

UT

UT

APOSTILA DE LGICA DE PROGRAMAO

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 computacional.

LINGUAGENS DE PROGRAMAO

So Softwares que permitem o desenvolvimento de programas. Possuem


um poder de criao ilimitado, desde jogos, editores de texto,
sistemas empresariais at sistemas operacionais.
Existem vrias linguagens de programao, cada uma com suas
caractersticas prprias.
Exemplos:

Pascal

file:///C|/cursos_e_livros_cd/informtica/programao/lgica/Algoritmo.htm (5 of 35)28/09/2004 19:03:20

APOSTILA DE LGICA DE PROGRAMAO

Clipper

Visual Basic

Delphi e etc.

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 + Algol. Algol
o nome de uma linguagem de programao estruturada usada no final
da dcada de 50.

OPERADORES ARITMTICOS
file:///C|/cursos_e_livros_cd/informtica/programao/lgica/Algoritmo.htm (6 of 35)28/09/2004 19:03:20

APOSTILA DE LGICA DE PROGRAMAO

Adio

Subtrao

Multiplicao

Diviso

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 linhas.
importante tambm ressalvar o uso dos operadores correspondentes
da aritmtica tradicional para a computacional.
file:///C|/cursos_e_livros_cd/informtica/programao/lgica/Algoritmo.htm (7 of 35)28/09/2004 19:03:20

APOSTILA DE LGICA DE PROGRAMAO

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

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)


file:///C|/cursos_e_livros_cd/informtica/programao/lgica/Algoritmo.htm (8 of 35)28/09/2004 19:03:20

APOSTILA DE LGICA DE PROGRAMAO

MOD Retorna o resto da diviso entre 2 nmeros inteiros.


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

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 criadas pelo
programador de acordo com o seu interesse.
Exemplos:

file:///C|/cursos_e_livros_cd/informtica/programao/lgica/Algoritmo.htm (9 of 35)28/09/2004 19:03:20

APOSTILA DE LGICA DE PROGRAMAO

Processamento

file:///C|/cursos_e_livros_cd/informtica/programao/lgica/Algoritmo.htm (10 of 35)28/09/2004 19:03:20

APOSTILA DE LGICA DE PROGRAMAO

Valor Final Y

Y=3

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

file:///C|/cursos_e_livros_cd/informtica/programao/lgica/Algoritmo.htm (11 of 35)28/09/2004 19:03:20

APOSTILA DE LGICA DE PROGRAMAO

As funes acima so as mais comuns e importantes para nosso


desenvolvimento lgico, entretanto, cada linguagem possui suas
funes prpias. As funes 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 VICEVERSA.

TABELA VERDADE

A E B

A OU B

NO (A)

file:///C|/cursos_e_livros_cd/informtica/programao/lgica/Algoritmo.htm (12 of 35)28/09/2004 19:03:20

APOSTILA DE LGICA DE PROGRAMAO

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

V
F
V
2+5>4 OU 3<>3 Verdadeiro

file:///C|/cursos_e_livros_cd/informtica/programao/lgica/Algoritmo.htm (13 of 35)28/09/2004 19:03:20

APOSTILA DE LGICA DE PROGRAMAO

OU

V
F
NO(3<>3) Verdadeiro

NO

VARIVEIS

Variveis so endereos de memria destinados a armazenar


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 resultados.
Exemplo:

file:///C|/cursos_e_livros_cd/informtica/programao/lgica/Algoritmo.htm (14 of 35)28/09/2004 19:03:20

APOSTILA DE LGICA DE PROGRAMAO

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


uma Varivel de Sada.

CONSTANTES

Constantes so endereos de memria destinados a 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 1 caractere uma letra ou Underscore

( _ );

file:///C|/cursos_e_livros_cd/informtica/programao/lgica/Algoritmo.htm (15 of 35)28/09/2004 19:03:20

APOSTILA DE LGICA DE PROGRAMAO

Ter como demais caracteres letras, nmeros ou Underscore;

Ter no mximo 127 caracteres;

No possuir espaos em branco;

A escolha de letras maisculas ou minsculas

indiferente.
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:

file:///C|/cursos_e_livros_cd/informtica/programao/lgica/Algoritmo.htm (16 of 35)28/09/2004 19:03:20

APOSTILA DE LGICA DE PROGRAMAO

A : INTEIRO
TIPO NOTA=[1..10] DE INTEIRO
TIPO SEMANA = (Segunda-feira, Tera-feira, Quarta-feira, Quintafeira, Sexta-feira, Sbado, Domingo)

TIPOS PRIMITIVOS DE DADOS

INTEIRO

ADMITE SOMENTE NMEROS INTEIROS. GERALMENTE


UTILIZADO 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 Variveis de


Entrada.

file:///C|/cursos_e_livros_cd/informtica/programao/lgica/Algoritmo.htm (17 of 35)28/09/2004 19:03:20

APOSTILA DE LGICA DE PROGRAMAO

ESCREVER Comando de sada que exibe uma informao na tela do


monitor.
IMPRIMIR Comando de sada que envia uma informao para a
impressora.

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 valores,


portanto usamos o sinal de =.
Exemplos:
PI = 3.1416;
Empresa = Colgio de Informtica L.T.D.A.
file:///C|/cursos_e_livros_cd/informtica/programao/lgica/Algoritmo.htm (18 of 35)28/09/2004 19:03:20

APOSTILA DE LGICA DE PROGRAMAO

V = Verdadeiro

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.
file:///C|/cursos_e_livros_cd/informtica/programao/lgica/Algoritmo.htm (19 of 35)28/09/2004 19:03:20

APOSTILA DE LGICA DE PROGRAMAO

; 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 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)
file:///C|/cursos_e_livros_cd/informtica/programao/lgica/Algoritmo.htm (20 of 35)28/09/2004 19:03:20

APOSTILA DE LGICA DE PROGRAMAO

FIM.

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:
file:///C|/cursos_e_livros_cd/informtica/programao/lgica/Algoritmo.htm (21 of 35)28/09/2004 19:03:20

APOSTILA DE LGICA DE PROGRAMAO

LER (RAIO); {ENTRADA}

ASPAS SIMPLES

Quando queremos exibir uma mensagem para a tela ou impressora ela


deve estar contida entre aspas simples, caso contrrio, o
computador ir identificar a 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 o resultado de um


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

file:///C|/cursos_e_livros_cd/informtica/programao/lgica/Algoritmo.htm (22 of 35)28/09/2004 19:03:20

APOSTILA DE LGICA DE PROGRAMAO

Simples:

Composta 1:

SE <<CONDIO>>

SE <<CONDIO>>

ENTO <<COMANDO1>>

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

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;

file:///C|/cursos_e_livros_cd/informtica/programao/lgica/Algoritmo.htm (23 of 35)28/09/2004 19:03:20

APOSTILA DE LGICA DE PROGRAMAO

INICIO
LER (A, B);
SE A>B
ENTO ESCREVER (A)
SENO ESCREVER (B)
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;
file:///C|/cursos_e_livros_cd/informtica/programao/lgica/Algoritmo.htm (24 of 35)28/09/2004 19:03:20

APOSTILA DE LGICA DE PROGRAMAO

SE MEDIA>=6
ENTO ESCREVER (APROVADO)
SENO ESCREVER (REPROVADO)
ESCREVER (NOME, MEDIA)
FIM.

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;

file:///C|/cursos_e_livros_cd/informtica/programao/lgica/Algoritmo.htm (25 of 35)28/09/2004 19:03:20

APOSTILA DE LGICA DE PROGRAMAO

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)
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

file:///C|/cursos_e_livros_cd/informtica/programao/lgica/Algoritmo.htm (26 of 35)28/09/2004 19:03:20

APOSTILA DE LGICA DE PROGRAMAO

<<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;
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.

file:///C|/cursos_e_livros_cd/informtica/programao/lgica/Algoritmo.htm (27 of 35)28/09/2004 19:03:20

APOSTILA DE LGICA DE PROGRAMAO

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 a de deciso, envolve sempre a
avaliao de uma condio.
Na repetio determinada o algoritmo apresenta previamente a
quantidade de repeties.
Forma Geral 1:
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 inicial at o


valor final como sendo 1. Determinadas linguagens possuem passo 1
file:///C|/cursos_e_livros_cd/informtica/programao/lgica/Algoritmo.htm (28 of 35)28/09/2004 19:03:20

APOSTILA DE LGICA DE PROGRAMAO

ou permitem que o programador defina o passo.

ALGORITMO SETE

Segue um algoritmo que escreve 10 vezes a frase VASCO DA GAMA

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
file:///C|/cursos_e_livros_cd/informtica/programao/lgica/Algoritmo.htm (29 of 35)28/09/2004 19:03:20

APOSTILA DE LGICA DE PROGRAMAO

INICIO
ESCREVER (PAR);
PAR := PAR+2
FIM
FIM.

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 conhecimento prvio do
nmero de repeties.
Forma Geral 1:
ENQUANTO <<CONDIO>> FACA
<<COMANDO1>>;

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

file:///C|/cursos_e_livros_cd/informtica/programao/lgica/Algoritmo.htm (30 of 35)28/09/2004 19:03:20

APOSTILA DE LGICA DE PROGRAMAO

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;
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

file:///C|/cursos_e_livros_cd/informtica/programao/lgica/Algoritmo.htm (31 of 35)28/09/2004 19:03:20

APOSTILA DE LGICA DE PROGRAMAO

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.
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

file:///C|/cursos_e_livros_cd/informtica/programao/lgica/Algoritmo.htm (32 of 35)28/09/2004 19:03:20

APOSTILA DE LGICA DE PROGRAMAO

SOMA:=O;
REPITA
LER (SALARIO);
SOMA:=SOMA+SALARIO
ATE SALARIO<0;
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;

file:///C|/cursos_e_livros_cd/informtica/programao/lgica/Algoritmo.htm (33 of 35)28/09/2004 19:03:20

APOSTILA DE LGICA DE PROGRAMAO

ATE CONTADOR=100
FIM.

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.

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
V
V
F
F

B
V
F
V
F

A ou B

A e B

7) CRIE ALGORITMOS PARA OS SEGUINTES PROBLEMAS:

file:///C|/cursos_e_livros_cd/informtica/programao/lgica/Algoritmo.htm (34 of 35)28/09/2004 19:03:20

no A

APOSTILA DE LGICA DE PROGRAMAO

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.
Observao:
Mdia anual = (1 bimestre * 1+ 2 bimestre * 2 + 3 bimestre * 3 +
4 bimestre * 4) / (1+2+3+4)

file:///C|/cursos_e_livros_cd/informtica/programao/lgica/Algoritmo.htm (35 of 35)28/09/2004 19:03:20

Você também pode gostar