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

2
Algoritmos

INTRODUO

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.

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


se 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

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

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

<<VALOR FINAL>> FAA

NICIO

<<COMANDO1>>;

<<COMANDON>>

FIM;

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

4. Teclar o nmero desejado;


SEQUNCIAL

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.

7
Algoritmos

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

Clipper

Visual Basic

Delphi e etc.

8
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 derivado da aglutinao de Portugus +

Algol. Algol o nome de uma linguagem de programao

estruturada usada no final da dcada de 50.

OPERADORES ARITMTICOS

+ Adio

- Subtrao

* Multiplicao

/ Diviso

9
Algoritmos

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.

Exemplo:

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

Tradicional 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 o resto da diviso entre 2 nmeros

inteiros.

DIV Retorna o valor inteiro que resulta da diviso

entre 2 nmeros inteiros.

11
Algoritmos

Exemplo:
13 2
1 6 13 DIV 2 = 6

MOD 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 x

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

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

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

2+5>4 OU 3<>3 Verdadeiro


V

NO(3<>3) Verdadeiro

NO

V
VARIVEIS

Variveis so endereos de memria destinados a

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 B C=A+B

2 5 7

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 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 ( _ );

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.

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.

Exemplos: PRIMITIVO

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

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

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

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 a de deciso,

envolve sempre a avaliao de uma condio.

Na repetio determinada o 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;

A repetio por padro determina o passo do valor

inicial at o valor final como sendo 1. 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 o fato de no ser necessrio o

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) [ 25 * 3 (7 4)]
8
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
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

Anda mungkin juga menyukai