Você está na página 1de 61

ALGORITMOS

LEANDRO NEVES
Algoritmos

2
Algoritmos

SUMÁRIO

ALGORITMO.................................................................................................................................................23

ALGORITMO.................................................................................................................................................23

UM ALGORITMO É UMA SEQÜÊNCIA DE INSTRUÇÕES ORDENADAS DE FORMA LÓGICA


PARA A RESOLUÇÃO DE UMA DETERMINADA TAREFA OU PROBLEMA.................................23

ALGORITMO NÃO COMPUTACIONAL..................................................................................................23

ALGORITMO NÃO COMPUTACIONAL..................................................................................................23

ABAIXO É APRESENTADO UM ALGORITMO NÃO COMPUTACIONAL CUJO OBJETIVO É


USAR UM TELEFONE PÚBLICO...............................................................................................................23

INÍCIO..............................................................................................................................................................23

1.TIRAR O FONE DO GANCHO;................................................................................................................23

2.OUVIR O SINAL DE LINHA;....................................................................................................................23

3.INTRODUZIR O CARTÃO;......................................................................................................................23

4.TECLAR O NÚMERO DESEJADO;.........................................................................................................23

5.SE DER O SINAL DE CHAMAR...............................................................................................................23


DESVIO.........................................................................................................................................................23
5.1 CONVERSAR;...........................................................................................................................................23

5.2 DESLIGAR;...............................................................................................................................................23

5.3 RETIRAR O CARTÃO;...........................................................................................................................23

6. SENÃO.........................................................................................................................................................23

6.1 REPETIR;.................................................................................................................................................23

FIM...................................................................................................................................................................23

PROGRAMA...................................................................................................................................................24

PROGRAMA...................................................................................................................................................24

UM PROGRAMA É UM ALGORITMO ESCRITO EM UMA LINGUAGEM COMPUTACIONAL.


...........................................................................................................................................................................24

LINGUAGENS DE PROGRAMAÇÃO........................................................................................................24

LINGUAGENS DE PROGRAMAÇÃO........................................................................................................24

SÃO SOFTWARES QUE PERMITEM O DESENVOLVIMENTO DE PROGRAMAS. POSSUEM


UM PODER DE CRIAÇÃO ILIMITADO, DESDE JOGOS, EDITORES DE TEXTO, SISTEMAS
EMPRESARIAIS ATÉ SISTEMAS OPERACIONAIS..............................................................................24

EXISTEM VÁRIAS LINGUAGENS DE PROGRAMAÇÃO, CADA UMA COM SUAS


CARACTERÍSTICAS PRÓPRIAS...............................................................................................................24

3
Algoritmos

EXEMPLOS:..................................................................................................................................................24

PASCAL...........................................................................................................................................................24

CLIPPER..........................................................................................................................................................24

C........................................................................................................................................................................24

VISUAL BASIC...............................................................................................................................................24

DELPHI E ETC. .............................................................................................................................................24

TÉCNICAS ATUAIS DE PROGRAMAÇÃO..............................................................................................25

TÉCNICAS ATUAIS DE PROGRAMAÇÃO..............................................................................................25

PROGRAMAÇÃO SEQÜENCIAL...............................................................................................................25

PROGRAMAÇÃO ESTRUTURADA...........................................................................................................25

PROGRAMAÇÃO ORIENTADA A EVENTOS E OBJETOS..................................................................25

ALGORITMOS EM “PORTUGOL”............................................................................................................25

ALGORITMOS EM “PORTUGOL”............................................................................................................25

DURANTE NOSSO CURSO IREMOS APRENDER A DESENVOLVER NOSSOS ALGORITMOS


EM UMA PSEUDO-LINGUAGEM CONHECIDA COMO “PORTUGOL” OU PORTUGUÊS
ESTRUTURADO.............................................................................................................................................25

“PORTUGOL” É DERIVADO DA AGLUTINAÇÃO DE PORTUGUÊS + ALGOL. ALGOL É O


NOME DE UMA LINGUAGEM DE PROGRAMAÇÃO ESTRUTURADA USADA NO FINAL DA
DÉCADA DE 50...............................................................................................................................................25

OPERADORES ARITMÉTICOS..................................................................................................................25

OPERADORES ARITMÉTICOS..................................................................................................................25

+  ADIÇÃO..................................................................................................................................................25

-  SUBTRAÇÃO..........................................................................................................................................25

*  MULTIPLICAÇÃO................................................................................................................................25

/  DIVISÃO...................................................................................................................................................25

OPERADORES RELACIONAIS..................................................................................................................26

OPERADORES RELACIONAIS..................................................................................................................26

>  MAIOR QUE...........................................................................................................................................26

<  MENOR QUE..........................................................................................................................................26

>=  MAIOR OU IGUAL.............................................................................................................................26

<=  MENOR OU IGUAL............................................................................................................................26

4
Algoritmos

=  IGUAL.....................................................................................................................................................26

<>  DIFERENTE.........................................................................................................................................26

LINEARIZAÇÃO DE EXPRESSÕES..........................................................................................................26

LINEARIZAÇÃO DE EXPRESSÕES..........................................................................................................26

PARA A CONSTRUÇÃO DE ALGORITMOS TODAS AS EXPRESSÕES ARITMÉTICAS DEVEM


SER LINEARIZADAS, OU SEJA, COLOCADAS EM LINHAS..............................................................26

É IMPORTANTE TAMBÉM RESSALVAR O USO DOS OPERADORES CORRESPONDENTES


DA ARITMÉTICA TRADICIONAL PARA A COMPUTACIONAL......................................................26

EXEMPLO:......................................................................................................................................................26
TRADICIONAL....................................................................................................................................................26
COMPUTACIONAL...............................................................................................................................................26
MODULARIZAÇÃO DE EXPRESSÕES.....................................................................................................27

MODULARIZAÇÃO DE EXPRESSÕES.....................................................................................................27

A MODULARIZAÇÃO É A DIVISÃO DA EXPRESSÃO EM PARTES, PROPORCIONANDO


MAIOR COMPREENSÃO E DEFININDO PRIORIDADES PARA RESOLUÇÃO DA MESMA......27

COMO PODE SER OBSERVADO NO EXEMPLO ANTERIOR, EM EXPRESSÕES


COMPUTACIONAIS USAMOS SOMENTE PARÊNTESES “( )” PARA MODULARIZAÇÃO........27

NA INFORMÁTICA PODEMOS TER PARÊNTESES DENTRO DE PARÊNTESES.........................27

EXEMPLOS DE PRIORIDADES:................................................................................................................27

(2+2)/2=2...........................................................................................................................................................27

2+2/2=3.............................................................................................................................................................27

OPERADORES ESPECIAIS (MOD E DIV)................................................................................................27

OPERADORES ESPECIAIS (MOD E DIV)................................................................................................27

MOD  RETORNA O RESTO DA DIVISÃO ENTRE 2 NÚMEROS INTEIROS................................27

DIV  RETORNA O VALOR INTEIRO QUE RESULTA DA DIVISÃO ENTRE 2 NÚMEROS


INTEIROS........................................................................................................................................................27

EXEMPLO:......................................................................................................................................................28

FUNÇÕES........................................................................................................................................................28

FUNÇÕES........................................................................................................................................................28

UMA FUNÇÃO É UM INSTRUMENTO (SUB–ALGORITMO) QUE TEM COMO OBJETIVO


RETORNAR UM VALOR OU UMA INFORMAÇÃO..............................................................................28

A CHAMADA DE UMA FUNÇÃO É FEITA ATRAVÉS DA CITAÇÃO DO SEU NOME SEGUIDO


OPCIONALMENTE DE SEU ARGUMENTO INICIAL ENTRE PARÊNTESES.................................28

5
Algoritmos

AS FUNÇÕES PODEM SER PREDEFINIDAS PELA LINGUAGEM OU CRIADAS PELO


PROGRAMADOR DE ACORDO COM O SEU INTERESSE..................................................................28

EXEMPLOS:...................................................................................................................................................28

BIBLIOTECAS DE FUNÇÕES.....................................................................................................................29

BIBLIOTECAS DE FUNÇÕES.....................................................................................................................29

ARMAZENAM UM CONJUNTO DE FUNÇÕES QUE PODEM SER USADAS PELOS


PROGRAMAS.................................................................................................................................................29

FUNÇÕES PRÉ-DEFINIDAS........................................................................................................................29

FUNÇÕES PRÉ-DEFINIDAS........................................................................................................................29

ABS( )................................................................................................................................................................30

VALOR ABSOLUTO......................................................................................................................................30

SQRT( ).............................................................................................................................................................30

RAIZ QUADRADA.........................................................................................................................................30

SQR( )...............................................................................................................................................................30

ELEVA AO QUADRADO .............................................................................................................................30

TRUNC( ).........................................................................................................................................................30

VALOR TRUNCADO.....................................................................................................................................30

ROUND( ).........................................................................................................................................................30

VALOR ARREDONDADO............................................................................................................................30

LOG( )...............................................................................................................................................................30

LOGARITMO.................................................................................................................................................30

SIN( ).................................................................................................................................................................30

SENO................................................................................................................................................................30

COS( )...............................................................................................................................................................30

COSENO..........................................................................................................................................................30

TAN( )...............................................................................................................................................................31

TANGENTE.....................................................................................................................................................31

AS FUNÇÕES ACIMA SÃO AS MAIS COMUNS E IMPORTANTES PARA NOSSO


DESENVOLVIMENTO LÓGICO, ENTRETANTO, CADA LINGUAGEM POSSUI SUAS
FUNÇÕES PRÓPIAS. AS FUNÇÕES PODEM SER ARITMÉTICAS, TEMPORAIS, DE TEXTO E
ETC...................................................................................................................................................................31

OPERADORES LÓGICOS............................................................................................................................31

6
Algoritmos

OPERADORES LÓGICOS............................................................................................................................31

ATUAM SOBRE EXPRESSÕES RETORNANDO SEMPRE VALORES LÓGICOS COMO FALSO


OU VERDADEIRO.........................................................................................................................................31

E.........................................................................................................................................................................31

RETORNA VERDADEIRO SE AMBAS AS PARTES FOREM VERDADEIRAS................................31

OU.....................................................................................................................................................................31

BASTA QUE UMA PARTE SEJA VERDADEIRA PARA RETORNAR VERDADEIRO....................31

NÃO..................................................................................................................................................................31

INVERTE O ESTADO, DE VERDADEIRO PASSA PARA FALSO E VICE-VERSA..........................31

TABELA VERDADE......................................................................................................................................31

TABELA VERDADE......................................................................................................................................31

A........................................................................................................................................................................31

B.........................................................................................................................................................................31

A E B.................................................................................................................................................................31

A OU B..............................................................................................................................................................31

NÃO (A)............................................................................................................................................................31

V........................................................................................................................................................................31

V........................................................................................................................................................................31

V........................................................................................................................................................................31

V........................................................................................................................................................................31

F.........................................................................................................................................................................31

V........................................................................................................................................................................31

F.........................................................................................................................................................................31

F.........................................................................................................................................................................31

V........................................................................................................................................................................31

F.........................................................................................................................................................................31

F.........................................................................................................................................................................31

V........................................................................................................................................................................31

F.........................................................................................................................................................................31

V........................................................................................................................................................................31

7
Algoritmos

V........................................................................................................................................................................31

F.........................................................................................................................................................................31

F.........................................................................................................................................................................31

F.........................................................................................................................................................................31

F.........................................................................................................................................................................31

V........................................................................................................................................................................31

EXPRESSÕES LÓGICAS..............................................................................................................................32

EXPRESSÕES LÓGICAS..............................................................................................................................32

AS EXPRESSÕES COMPOSTAS DE RELAÇÕES SEMPRE RETORNAM UM VALOR LÓGICO.


...........................................................................................................................................................................32

EXEMPLOS:...................................................................................................................................................32

2+5>4  VERDADEIRO...............................................................................................................................33

3<>3  FALSO...............................................................................................................................................33

DE ACORDO COM A NECESSIDADE, AS EXPRESSÕES PODEM SER UNIDAS PELOS


OPERADORES LÓGICOS............................................................................................................................34

EXEMPLOS:...................................................................................................................................................34

2+5>4 E 3<>3  FALSO................................................................................................................................34

2+5>4 OU 3<>3  VERDADEIRO..............................................................................................................34

NÃO(3<>3) VERDADEIRO......................................................................................................................34

VARIÁVEIS.....................................................................................................................................................34

VARIÁVEIS.....................................................................................................................................................34

VARIÁVEIS SÃO ENDEREÇOS DE MEMÓRIA DESTINADOS A ARMAZENAR INFORMAÇÕES


TEMPORARIAMENTE.................................................................................................................................34

* TODO ALGORITMO OU PROGRAMA DEVE POSSUIR VARIÁVEL!............................................34

VARIÁVEIS DE ENTRADA E SAÍDA........................................................................................................35

VARIÁVEIS DE ENTRADA E SAÍDA........................................................................................................35

VARIÁVEIS DE ENTRADA ARMAZENAM INFORMAÇÕES FORNECIDAS POR UM MEIO


EXTERNO, NORMALMENTE USUÁRIOS OU DISCOS........................................................................35

VARIÁVEIS DE SAÍDA ARMAZENAM DADOS PROCESSADOS COMO RESULTADOS.............35

EXEMPLO:......................................................................................................................................................35

DE ACORDO COM A FIGURA ACIMA A E B SÃO VARIÁVEIS DE ENTRADA E C É UMA


VARIÁVEL DE SAÍDA..................................................................................................................................35

8
Algoritmos

CONSTANTES................................................................................................................................................36

CONSTANTES................................................................................................................................................36

CONSTANTES SÃO ENDEREÇOS DE MEMÓRIA DESTINADOS A ARMAZENAR


INFORMAÇÕES FIXAS, INALTERÁVEIS DURANTE A EXECUÇÃO DO PROGRAMA...............36

EXEMPLO:......................................................................................................................................................36

PI = 3.1416........................................................................................................................................................36

IDENTIFICADORES.....................................................................................................................................36

IDENTIFICADORES.....................................................................................................................................36

SÃO OS NOMES DADOS A VARIÁVEIS, CONSTANTES E PROGRAMAS.......................................36

REGRAS PARA CONSTRUÇÃO DE IDENTIFICADORES:..................................................................36

NÃO PODEM TER NOMES DE PALAVRAS RESERVADAS (COMANDOS DA LINGUAGEM);. .36

DEVEM POSSUIR COMO 1º CARACTERE UMA LETRA OU UNDERSCORE ( _ );.......................36

TER COMO DEMAIS CARACTERES LETRAS, NÚMEROS OU UNDERSCORE;...........................36

TER NO MÁXIMO 127 CARACTERES;....................................................................................................36

NÃO POSSUIR ESPAÇOS EM BRANCO;.................................................................................................36

A ESCOLHA DE LETRAS MAIÚSCULAS OU MINÚSCULAS É INDIFERENTE.............................36

EXEMPLOS:...................................................................................................................................................37

NOME...............................................................................................................................................................38

TELEFONE.....................................................................................................................................................38

IDADE_FILHO...............................................................................................................................................38

NOTA1..............................................................................................................................................................38

SALARIO.........................................................................................................................................................38

PI.......................................................................................................................................................................38

UMNOMEMUITOCOMPRIDOEDIFICILDELER...................................................................................39

UM_NOME_MUITO_COMPRIDO_E_FACIL_DE_LER.........................................................................39

TIPOS DE DADOS..........................................................................................................................................40

TIPOS DE DADOS..........................................................................................................................................40

TODAS AS VARIÁVEIS DEVEM ASSUMIR UM DETERMINADO TIPO DE INFORMAÇÃO......40

O TIPO DE DADO PODE SER:....................................................................................................................40

PRIMITIVO  PRÉ-DEFINIDO PELA LINGUAGEM;..........................................................................40

9
Algoritmos

SUB-FAIXA  É UMA PARTE DE UM TIPO JÁ EXISTENTE;...........................................................40

ESCALAR  DEFINIDOS PELO PROGRAMADOR..............................................................................40

EXEMPLOS:...................................................................................................................................................40

A : INTEIRO....................................................................................................................................................40

TIPO NOTA=[1..10] DE INTEIRO...............................................................................................................40

TIPO SEMANA = (SEGUNDA-FEIRA, TERÇA-FEIRA, QUARTA-FEIRA, QUINTA-FEIRA,


SEXTA-FEIRA, SÁBADO, DOMINGO)......................................................................................................40

TIPOS PRIMITIVOS DE DADOS................................................................................................................40

TIPOS PRIMITIVOS DE DADOS................................................................................................................40

INTEIRO..........................................................................................................................................................41

ADMITE SOMENTE NÚMEROS INTEIROS. GERALMENTE É UTILIZADO PARA


REPRESENTAR UMA CONTAGEM (QUANTIDADE)...........................................................................41

REAL................................................................................................................................................................41

ADMITE NÚMEROS REAIS (COM OU SEM CASAS DECIMAIS). GERALMENTE É UTILIZADO


PARA REPRESENTAR UMA MEDIÇÃO..................................................................................................41

CARACTERE..................................................................................................................................................41

ADMITE CARACTERES ALFANUMÉRICOS. OS NÚMEROS QUANDO DECLARADOS COMO


CARACTERES TORNAM SE REPRESENTATIVOS E PERDEM A ATRIBUIÇÃO DE VALOR.. .41

LÓGICO...........................................................................................................................................................41

ADMITE SOMENTE VALORES LÓGICOS(VERDADEIRO/FALSO).................................................41

COMANDOS DE I/O (INPUT/OUTPUT)....................................................................................................41

COMANDOS DE I/O (INPUT/OUTPUT)....................................................................................................41

LER  COMANDO DE ENTRADA QUE PERMITE A LEITURA DE VARIÁVEIS DE ENTRADA.


...........................................................................................................................................................................41

ESCREVER  COMANDO DE SAÍDA QUE EXIBE UMA INFORMAÇÃO NA TELA DO


MONITOR.......................................................................................................................................................41

IMPRIMIR  COMANDO DE SAÍDA QUE ENVIA UMA INFORMAÇÃO PARA A


IMPRESSORA.................................................................................................................................................41

SINAL DE ATRIBUIÇÃO.............................................................................................................................42

SINAL DE ATRIBUIÇÃO.............................................................................................................................42

UMA VARIÁVEL NUNCA É ETERNAMENTE IGUAL A UM VALOR, SEU CONTEÚDO PODE


SER ALTERADO A QUALQUER MOMENTO. PORTANTO PARA ATRIBUIR VALORES A
VARIÁVEIS DEVEMOS USAR O SINAL DE “:=”...................................................................................42

EXEMPLOS:...................................................................................................................................................42

10
Algoritmos

A := 2;...............................................................................................................................................................42

B := 3;................................................................................................................................................................42

C := A + B;........................................................................................................................................................42

SINAL DE IGUALDADE...............................................................................................................................42

SINAL DE IGUALDADE...............................................................................................................................42

AS CONSTANTES SÃO ETERNAMENTE IGUAIS A DETERMINADOS VALORES, PORTANTO


USAMOS O SINAL DE “=”...........................................................................................................................42

EXEMPLOS:...................................................................................................................................................42

PI = 3.1416;.......................................................................................................................................................42

EMPRESA = ‘COLÉGIO DE INFORMÁTICA L.T.D.A.’........................................................................42

V = VERDADEIRO.........................................................................................................................................42

CORPO GERAL DE UM PROGRAMA......................................................................................................43

CORPO GERAL DE UM PROGRAMA......................................................................................................43

PROGRAMA <<IDENTIFICADOR>>;.......................................................................................................43

CONST.............................................................................................................................................................43

<<IDENTIFICADOR>> = <<DADO>>.......................................................................................................43

VAR...................................................................................................................................................................43

<<IDENTIFICADOR>> : <<TIPO>>;........................................................................................................43

ÍNICIO..............................................................................................................................................................43

{ ........................................................................................................................................................................43

COMANDOS DE ENTRADA,PROCESSAMENTO E SAÍDA .................................................................43

<<COMANDO1>>;.........................................................................................................................................43

<<COMANDON>>..........................................................................................................................................43

}..........................................................................................................................................................................43

FIM...................................................................................................................................................................43

ESTRUTURAS SEQÜÊNCIAIS....................................................................................................................43

ESTRUTURAS SEQÜÊNCIAIS....................................................................................................................43

COMO PODE SER ANALISADO NO TÓPICO ANTERIOR, TODO PROGRAMA POSSUI UMA
ESTRUTURA SEQÜENCIAL DETERMINADA POR UM ÍNICIO E FIM...........................................43

..........................................................................................................................................................................43

11
Algoritmos

; PONTO E VÍRGULA ;.................................................................................................................................44

; PONTO E VÍRGULA ;.................................................................................................................................44

O SINAL DE PONTO E VÍRGULA “;” INDICA A EXISTÊNCIA DE UM PRÓXIMO COMANDO


(PASSA PARA O PRÓXIMO).......................................................................................................................44

NA ESTRUTURA ÍNICIO E NO COMANDO QUE ANTECEDE A ESTRUTURA FIM NÃO SE USA


“;”......................................................................................................................................................................44

PRIMEIRO ALGORITMO............................................................................................................................44

PRIMEIRO ALGORITMO............................................................................................................................44

SEGUE UM ALGORITMO QUE LÊ O NOME E AS 4 NOTAS BIMESTRAIS DE UM ALUNO. EM


SEGUIDA O ALGORITMO CALCULA E ESCREVE A MÉDIA OBTIDA..........................................44

PROGRAMA MEDIA_FINAL;.....................................................................................................................44

VAR...................................................................................................................................................................44

NOTA1, NOTA2, NOTA3, NOTA4, MEDIA: INTEIRO;..........................................................................44

NOME : CARACTERE [35]..........................................................................................................................44

INICIO..............................................................................................................................................................44

LER (NOME);.................................................................................................................................................44

LER (NOTA1, NOTA2, NOTA3, NOTA4);..................................................................................................44

MEDIA := (NOTA1 + NOTA2 + NOTA3 + NOTA4) / 4;...........................................................................44

ESCREVER (NOME, MEDIA).....................................................................................................................44

FIM...................................................................................................................................................................44

SEGUNDO ALGORITMO.............................................................................................................................45

SEGUNDO ALGORITMO.............................................................................................................................45

SEGUE UM ALGORITMO QUE LÊ O RAIO DE UMA CIRCUNFERÊNCIA E CALCULA SUA


ÁREA................................................................................................................................................................45

PROGRAMA AREA_CIRCUNFERENCIA;...............................................................................................45

CONST PI = 3.1416;........................................................................................................................................45

VAR RAIO, AREA : REAL;..........................................................................................................................45

INICIO..............................................................................................................................................................45

LER (RAIO); {PROCESSAMENTO}..........................................................................................................45

AREA := PI * SQR(RAIO); {ENTRADA} ..................................................................................................45

ESCREVER (‘AREA =’, AREA) {SAÍDA}..................................................................................................45

12
Algoritmos

FIM...................................................................................................................................................................45

{LINHAS DE COMENTÁRIO}.....................................................................................................................45

{LINHAS DE COMENTÁRIO}.....................................................................................................................45

PODEMOS INSERIR EM UM ALGORITMO COMENTÁRIOS PARA AUMENTAR A


COMPREENSÃO DO MESMO, PARA ISSO BASTA QUE O TEXTO FIQUE ENTRE CHAVES
“{}”....................................................................................................................................................................45

EXEMPLO:......................................................................................................................................................45

LER (RAIO); {ENTRADA}............................................................................................................................45

‘ASPAS SIMPLES’.........................................................................................................................................46

‘ASPAS SIMPLES’.........................................................................................................................................46

QUANDO QUEREMOS EXIBIR UMA MENSAGEM PARA A TELA OU IMPRESSORA ELA


DEVE ESTAR CONTIDA ENTRE ASPAS SIMPLES, CASO CONTRÁRIO, O COMPUTADOR IRÁ
IDENTIFICAR A MENSAGEM COMO VARIÁVEL INDEFINIDA......................................................46

EXEMPLO:......................................................................................................................................................46

ESCREVER (‘AREA OBTIDA =’, AREA) {COMANDO DE SAÍDA}....................................................46

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

ESTRUTURAS DE DECISÃO.......................................................................................................................46

ESTRUTURAS DE DECISÃO.......................................................................................................................46

EXECUTA UMA SEQÜÊNCIA DE COMANDOS DE ACORDO COM O RESULTADO DE UM


TESTE..............................................................................................................................................................46

A ESTRUTURA DE DECISÃO PODE SER SIMPLES OU COMPOSTA, BASEADA EM UM


RESULTADO LÓGICO.................................................................................................................................46

SIMPLES:........................................................................................................................................................47

SE <<CONDIÇÃO>>......................................................................................................................................47

ENTÃO <<COMANDO1>>..........................................................................................................................47

COMPOSTA 1:................................................................................................................................................47

SE <<CONDIÇÃO>>......................................................................................................................................47

ENTÃO <<COMANDO1>>..........................................................................................................................47

SENÃO <<COMANDO1>>...........................................................................................................................47

COMPOSTA 2:................................................................................................................................................48

SE <<CONDIÇÃO>>......................................................................................................................................48

ENTÃO INICIO.............................................................................................................................................48

13
Algoritmos

<<COMANDO1>>;.........................................................................................................................................48

<<COMANDON>>..........................................................................................................................................48

FIM;...............................................................................................................................................................48

SENÃO INICIO..............................................................................................................................................48

<<COMANDO1>>; <<COMANDON>>.......................................................................................................48

FIM;...............................................................................................................................................................48

ALGORITMO TRÊS......................................................................................................................................48

ALGORITMO TRÊS......................................................................................................................................48

SEGUE UM ALGORITMO QUE LÊ 2 NÚMEROS E ESCREVE O MAIOR........................................48

PROGRAMA ACHA_MAIOR;.....................................................................................................................48

VAR A, B : INTEIRO;....................................................................................................................................48

INICIO..............................................................................................................................................................48

LER (A, B);.....................................................................................................................................................48

SE A>B.............................................................................................................................................................48

ENTÃO ESCREVER (A)..............................................................................................................................48

SENÃO ESCREVER (B)..............................................................................................................................48

FIM...................................................................................................................................................................49

ALGORITMO QUATRO...............................................................................................................................49

ALGORITMO QUATRO...............................................................................................................................49

SEGUE UM ALGORITMO QUE LÊ O NOME E AS 4 NOTAS BIMESTRAIS DE UM ALUNO. EM


SEGUIDA O ALGORITMO CALCULA E ESCREVE A MÉDIA OBTIDA PELO ALUNO
ESCREVENDO TAMBÉM SE O ALUNO FOI APROVADO OU REPROVADO.................................49

MÉDIA PARA APROVAÇÃO = 6................................................................................................................49

PROGRAMA MEDIA_FINAL;.....................................................................................................................49

VAR...................................................................................................................................................................49

NOTA1, NOTA2, NOTA3, NOTA4, MEDIA: REAL;................................................................................49

NOME : CARACTERE [35]..........................................................................................................................49

INICIO..............................................................................................................................................................49

LER (NOME);.................................................................................................................................................49

LER (NOTA1, NOTA2, NOTA3, NOTA4);..................................................................................................49

14
Algoritmos

MEDIA := (NOTA1 + NOTA2 + NOTA3 + NOTA4) / 4;...........................................................................49

SE MEDIA>=6................................................................................................................................................49

ENTÃO ESCREVER (‘APROVADO’).........................................................................................................49

SENÃO ESCREVER (‘REPROVADO’).......................................................................................................49

ESCREVER (NOME, MEDIA)......................................................................................................................49

FIM...................................................................................................................................................................49

NINHOS DE SE...............................................................................................................................................50

NINHOS DE SE...............................................................................................................................................50

USADOS PARA TOMADAS DE DECISÕES PARA MAIS DE 2 OPÇÕES...........................................50

FORMA GERAL:............................................................................................................................................50

SE <<CONDIÇÃO>>......................................................................................................................................50

ENTÃO <<COMANDO1>>..........................................................................................................................50

SENÃO SE <<CONDIÇÃO>>......................................................................................................................50

ENTÃO <<COMANDO1>>........................................................................................................................50

SENÃO <<COMANDO1>>.........................................................................................................................50

ALGORITMO CINCO...................................................................................................................................50

ALGORITMO CINCO...................................................................................................................................50

SEGUE UM ALGORITMO QUE LÊ 3 NÚMEROS E ESCREVE O MAIOR........................................50

PROGRAMA ACHA_MAIOR;.....................................................................................................................50

VAR A, B, C : INTEIRO;...............................................................................................................................50

INICIO..............................................................................................................................................................50

LER (A, B, C);.................................................................................................................................................50

SE (A>B) E (A>C)..........................................................................................................................................50

ENTÃO ESCREVER (A)..............................................................................................................................50

SENÃO SE (B>A) E (B>C)...........................................................................................................................50

ENTÃO ESCREVER (B)................................................................................................................................51

SENÃO ESCREVER (C)................................................................................................................................51

FIM...................................................................................................................................................................51

ESTRUTURAS DE CONDIÇÃO...................................................................................................................51

15
Algoritmos

ESTRUTURAS DE CONDIÇÃO...................................................................................................................51

A ESTRUTURA DE CONDIÇÃO EQÜIVALE A UM NINHO DE SE’S................................................51

FORMA GERAL:............................................................................................................................................51

FACA CASO....................................................................................................................................................51

CASO <<CONDIÇÃO1>>.............................................................................................................................51

<<COMANDO1>>;.......................................................................................................................................51

CASO <<CONDIÇÃON>>............................................................................................................................51

<<COMANDO1>>;.......................................................................................................................................51

OUTROS CASOS...........................................................................................................................................51

<<COMANDO1>>;.......................................................................................................................................51

FIM DE CASO.................................................................................................................................................51

ALGORITMO SEIS........................................................................................................................................51

ALGORITMO SEIS........................................................................................................................................51

SEGUE UM ALGORITMO QUE LÊ 3 NÚMEROS E ESCREVE O MAIOR........................................51

PROGRAMA ACHA_MAIOR;.....................................................................................................................51

VAR A, B, C : INTEIRO;...............................................................................................................................52

INICIO..............................................................................................................................................................52

LER (A, B, C);.................................................................................................................................................52

FACA CASO...................................................................................................................................................52

CASO (A>B) E (A>C).....................................................................................................................................52

ESCREVER (A);...........................................................................................................................................52

CASO (B>A) E (B>C)...................................................................................................................................52

ESCREVER (B);..............................................................................................................................................52

OUTROS CASOS............................................................................................................................................52

ESCREVER (C);..............................................................................................................................................52

FIM DE CASO................................................................................................................................................52

FIM...................................................................................................................................................................52

ESTRUTURA DE REPETIÇÃO DETERMINADA....................................................................................52

ESTRUTURA DE REPETIÇÃO DETERMINADA....................................................................................52

16
Algoritmos

QUANDO UMA SEQÜÊNCIA DE COMANDOS DEVE SER EXECUTADA REPETIDAS VEZES,


TEM-SE UMA ESTRUTURA DE REPETIÇÃO........................................................................................52

A ESTRUTURA DE REPETIÇÃO, ASSIM COMO A DE DECISÃO, ENVOLVE SEMPRE A


AVALIAÇÃO DE UMA CONDIÇÃO..........................................................................................................52

NA REPETIÇÃO DETERMINADA O ALGORITMO APRESENTA PREVIAMENTE A


QUANTIDADE DE REPETIÇÕES...............................................................................................................52

FORMA GERAL 1:.........................................................................................................................................52

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


FAÇA................................................................................................................................................................53

<<COMANDO1>>;........................................................................................................................................53

FORMA GERAL 2:.........................................................................................................................................53

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


FAÇA................................................................................................................................................................53

ÍNICIO.............................................................................................................................................................53

<<COMANDO1>>;.........................................................................................................................................53

<<COMANDON>>..........................................................................................................................................53

FIM;.................................................................................................................................................................53

A REPETIÇÃO POR PADRÃO 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...................................................................53

ALGORITMO SETE......................................................................................................................................53

ALGORITMO SETE......................................................................................................................................53

SEGUE UM ALGORITMO QUE ESCREVE 10 VEZES A FRASE “VASCO DA GAMA”.................53

PROGRAMA REPETICAO;.........................................................................................................................54

VAR I:INTEIRO.............................................................................................................................................54

INICIO..............................................................................................................................................................54

PARA I :=1 ATE 10 FACA............................................................................................................................54

ESCREVER (‘VASCO DA GAMA’)...........................................................................................................54

FIM...................................................................................................................................................................54

ALGORITMO OITO......................................................................................................................................54

ALGORITMO OITO......................................................................................................................................54

SEGUE UM ALGORITMO QUE ESCREVE OS 100 PRIMEIROS NÚMEROS PARES.....................54

PROGRAMA PARES;....................................................................................................................................54

17
Algoritmos

VAR I,PAR: INTEGER;.................................................................................................................................54

INICIO..............................................................................................................................................................54

PAR:=0;...........................................................................................................................................................54

PARA I:=1 ATE 100 FACA............................................................................................................................54

INICIO............................................................................................................................................................54

ESCREVER (PAR);.....................................................................................................................................54

PAR := PAR+2..............................................................................................................................................54

FIM.................................................................................................................................................................54

FIM..................................................................................................................................................................54

ESTRUTURA DE REPETIÇÃO INDETERMINADA COM VALIDAÇÃO INICIAL..........................55

ESTRUTURA DE REPETIÇÃO INDETERMINADA COM VALIDAÇÃO INICIAL..........................55

É USADA PARA REPETIR N VEZES UMA OU MAIS INSTRUÇÕES. TENDO COMO


VANTAGEM O FATO DE NÃO SER NECESSÁRIO O CONHECIMENTO PRÉVIO DO NÚMERO
DE REPETIÇÕES...........................................................................................................................................55

FORMA GERAL 1:.........................................................................................................................................55

ENQUANTO <<CONDIÇÃO>> FACA........................................................................................................55

<<COMANDO1>>;........................................................................................................................................55

FORMA GERAL 2:.........................................................................................................................................55

ENQUANTO <<CONDIÇÃO>> FACA........................................................................................................55

ÍNICIO.............................................................................................................................................................55

<<COMANDO1>>;.......................................................................................................................................55

<<COMANDON>>........................................................................................................................................55

FIM;.................................................................................................................................................................55

ALGORITMO NOVE.....................................................................................................................................55

ALGORITMO NOVE.....................................................................................................................................55

SEGUE UM ALGORITMO QUE CALCULE A SOMA DOS SALÁRIOS DOS FUNCIONÁRIOS DE


UMA EMPRESA. O PROGRAMA TERMINA QUANDO O USUÁRIO DIGITAR UM SALÁRIO
MENOR QUE 0...............................................................................................................................................55

PROGRAMA SOMA_SALARIOS;..............................................................................................................55

VAR SOMA, SALARIO : REAL;..................................................................................................................56

INICIO..............................................................................................................................................................56

18
Algoritmos

SOMA:=O;......................................................................................................................................................56

SALARIO:=1;.................................................................................................................................................56

ENQUANTO SALARIO>=0.........................................................................................................................56

INICIO............................................................................................................................................................56

LER (SALARIO);.........................................................................................................................................56

SOMA:=SOMA+SALARIO........................................................................................................................56

FIM;................................................................................................................................................................56

ESCREVER (SOMA).....................................................................................................................................56

FIM...................................................................................................................................................................56

ESTRUTURA DE REPETIÇÃO INDETERMINADA COM VALIDAÇÃO FINAL.............................56

ESTRUTURA DE REPETIÇÃO INDETERMINADA COM VALIDAÇÃO FINAL.............................56

ASSIM COMO A ESTRUTURA ENQUANTO É USADA PARA REPETIR N VEZES UMA OU


MAIS INSTRUÇÕES. ....................................................................................................................................56

SUA VALIDAÇÃO É FINAL FAZENDO COM QUE A REPETIÇÃO SEJA EXECUTADA PELO
MENOS UMA VEZ.........................................................................................................................................56

FORMA GERAL;............................................................................................................................................57

REPITA............................................................................................................................................................57

<<COMANDO1>>;........................................................................................................................................57

<<COMANDON>>.........................................................................................................................................57

ATE <<CONDIÇÃO>>...................................................................................................................................57

ALGORITMO DEZ........................................................................................................................................57

ALGORITMO DEZ........................................................................................................................................57

SEGUE UM ALGORITMO QUE CALCULE A SOMA DOS SALÁRIOS DOS FUNCIONÁRIOS DE


UMA EMPRESA. O PROGRAMA TERMINA QUANDO O USUÁRIO DIGITAR UM SALÁRIO
MENOR QUE 0...............................................................................................................................................57

PROGRAMA SOMA_SALARIOS;..............................................................................................................57

VAR...................................................................................................................................................................57

SOMA, SALARIO : REAL;...........................................................................................................................57

INICIO..............................................................................................................................................................57

SOMA:=O;......................................................................................................................................................57

REPITA...........................................................................................................................................................57

19
Algoritmos

LER (SALARIO);..........................................................................................................................................57

SOMA:=SOMA+SALARIO.........................................................................................................................57

ATE SALARIO<0;.........................................................................................................................................57

ESCREVER (SOMA).....................................................................................................................................58

FIM...................................................................................................................................................................58

ALGORITMO ONZE.....................................................................................................................................58

ALGORITMO ONZE.....................................................................................................................................58

SEGUE UM ALGORITMO QUE ESCREVE OS 100 PRIMEIROS NÚMEROS PARES.....................58

PROGRAMA PARES_2;................................................................................................................................58

VAR I, PAR, CONTADOR : INTEIRO;......................................................................................................58

INICIO..............................................................................................................................................................58

CONTADOR := 0;..........................................................................................................................................58

PAR := 0;..........................................................................................................................................................58

REPITA............................................................................................................................................................58

ESCREVER (PAR);......................................................................................................................................58

PAR := PAR+2;..............................................................................................................................................58

CONTADOR := CONTADOR+1;...............................................................................................................58

ATE CONTADOR=100.................................................................................................................................58

FIM...................................................................................................................................................................58

PROGRAMAS EQUIVALENTES................................................................................................................59

PROGRAMAS EQUIVALENTES................................................................................................................59

O ALGORITMO ONZE PODERIA TER SIDO CRIADO COM QUALQUER ESTRUTURA DE


REPETIÇÃO. PORTANTO PODEMOS TER ALGORITMOS QUE SÃO ESCRITOS DE
MANEIRAS DIFERENTES, MAS, FUNCIONAM REALIZANDO O MESMO OBJETIVO..............59

EXERCÍCIOS..................................................................................................................................................60

EXERCÍCIOS..................................................................................................................................................60

1)O QUE É UM ALGORITMO?...................................................................................................................60

2)O QUE É UM PROGRAMA?.....................................................................................................................60

3)CRIE UM ALGORITMO NÃO COMPUTACIONAL, QUE TROQUE UM PNEU DE CARRO.....60

4)O QUE É UMA LINGUAGEM DE PROGRAMAÇÃO?........................................................................60

20
Algoritmos

5)LINEARIZE AS EXPRESSÕES ABAIXO:..............................................................................................60


A................................................................................................................................................................60
B................................................................................................................................................................60
A ou B........................................................................................................................................................60

21
Algoritmos

22
Algoritmos

ALGORITMO

Um Algoritmo é uma seqüência de instruções ordenadas de


forma lógica para a resolução de uma determinada tarefa ou
problema.

ALGORITMO NÃO COMPUTACIONAL

Abaixo é apresentado um Algoritmo não computacional cujo

objetivo é usar um telefone público.

Início

1. Tirar o fone do gancho;

2. Ouvir o sinal de linha;

3. Introduzir o cartão;

4. Teclar o número desejado;


SEQUÊNCIAL

5. Se der o sinal de chamar


DESVIO
5.1 Conversar;

5.2 Desligar;

5.3 Retirar o cartão;

6. Senão

6.1 Repetir;

Fim.

23
Algoritmos

PROGRAMA

Um programa é um Algoritmo escrito em uma linguagem

computacional.

LINGUAGENS DE PROGRAMAÇÃO

São Softwares que permitem o desenvolvimento de

programas. Possuem um poder de criação ilimitado, desde

jogos, editores de texto, sistemas empresariais até sistemas

operacionais.

Existem várias linguagens de programação, cada uma com

suas características próprias.

Exemplos:

• Pascal

• Clipper

• C

• Visual Basic

• Delphi e etc.

24
Algoritmos

TÉCNICAS ATUAIS DE PROGRAMAÇÃO

• Programação Seqüencial

• Programação Estruturada

• Programação 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 Português Estruturado.

“Portugol” é derivado da aglutinação de Português +

Algol. Algol é o nome de uma linguagem de programação

estruturada usada no final da década de 50.

OPERADORES ARITMÉTICOS

+  Adição

-  Subtração

*  Multiplicação

/  Divisão

25
Algoritmos

OPERADORES RELACIONAIS

>  Maior que

<  Menor que

>=  Maior ou Igual

<=  Menor ou Igual

=  Igual

<>  Diferente

LINEARIZAÇÃO DE EXPRESSÕES

Para a construção de Algoritmos todas as expressões

aritméticas devem ser linearizadas, ou seja, colocadas em

linhas.

É importante também ressalvar o uso dos operadores

correspondentes da aritmética tradicional para a

computacional.

Exemplo:

2 
 3 + ( 5 − 3)  + 1 = (2/3+(5-3))+1=
 

Tradicional Computacional

26
Algoritmos

MODULARIZAÇÃO DE EXPRESSÕES

A modularização é a divisão da expressão em partes,

proporcionando maior compreensão e definindo prioridades para

resolução da mesma.

Como pode ser observado no exemplo anterior, em

expressões computacionais usamos somente parênteses “( )”

para modularização.

Na informática podemos ter parênteses dentro de

parênteses.

Exemplos de prioridades:

(2+2)/2=2

2+2/2=3

OPERADORES ESPECIAIS (MOD e DIV)

MOD  Retorna o resto da divisão entre 2 números

inteiros.

DIV  Retorna o valor inteiro que resulta da divisão

entre 2 números inteiros.

27
Algoritmos

Exemplo:
13 2
1 6 13 DIV 2 = 6

MOD DIV 13 MOD 2 = 1

FUNÇÕES

Uma função é um instrumento (Sub–algoritmo) que tem como

objetivo retornar um valor ou uma informação.

A chamada de uma função é feita através da citação do

seu nome seguido opcionalmente de seu argumento inicial entre

parênteses.

As funções podem ser predefinidas pela linguagem ou

criadas pelo programador de acordo com o seu interesse.

Exemplos:

Valor Inicial X X=9

Processamento x

28
Algoritmos

Valor Final Y Y=3

BIBLIOTECAS DE FUNÇÕES

Armazenam um conjunto de funções que podem ser usadas

pelos programas.

FUNÇÕES PRÉ-DEFINIDAS

29
Algoritmos

ABS( ) VALOR ABSOLUTO


SQRT( ) RAIZ QUADRADA
SQR( ) ELEVA AO QUADRADO
TRUNC( ) VALOR TRUNCADO
ROUND( ) VALOR ARREDONDADO
LOG( ) LOGARITMO
SIN( ) SENO
COS( ) COSENO

30
Algoritmos

TAN( ) TANGENTE

As funções acima são as mais comuns e importantes para

nosso desenvolvimento lógico, entretanto, cada linguagem

possui suas funções própias. As funções podem ser

aritméticas, temporais, de texto e etc.

OPERADORES LÓGICOS

Atuam sobre expressões retornando sempre valores lógicos

como Falso ou Verdadeiro.

E RETORNA VERDADEIRO SE AMBAS AS PARTES FOREM

VERDADEIRAS.
OU BASTA QUE UMA PARTE SEJA VERDADEIRA PARA RETORNAR
VERDADEIRO.
NÃO INVERTE O ESTADO, DE VERDADEIRO PASSA PARA FALSO E
VICE-VERSA.

TABELA VERDADE

A B A E B A OU B NÃO (A)
V V V V F
V F F V F
F V F V V
F F F F V

31
Algoritmos

EXPRESSÕES LÓGICAS

As expressões compostas de relações sempre retornam um

valor lógico.

Exemplos:

32
Algoritmos

2+5>4  Verdadeiro 3<>3  Falso

33
Algoritmos

De acordo com a necessidade, as expressões podem ser

unidas pelos operadores lógicos.

Exemplos:

2+5>4 E 3<>3  Falso


V F

2+5>4 OU 3<>3  Verdadeiro


V

NÃO(3<>3) Verdadeiro

NÃO

VARIÁVEIS

Variáveis são endereços de memória destinados a

armazenar informações temporariamente.

* Todo Algoritmo ou programa deve possuir variável!

34
Algoritmos

VARIÁVEIS DE ENTRADA E SAÍDA

Variáveis de Entrada armazenam informações fornecidas

por um meio externo, normalmente usuários ou discos.

Variáveis de Saída armazenam dados processados como

resultados.

Exemplo:
A B C=A+B

2 5 7

De acordo com a figura acima A e B são Variáveis de

Entrada e C é uma Variável de Saída.

35
Algoritmos

CONSTANTES

Constantes são endereços de memória destinados a

armazenar informações fixas, inalteráveis durante a execução

do programa.

Exemplo:

PI = 3.1416

IDENTIFICADORES

São os nomes dados a variáveis, constantes e programas.

Regras Para construção de Identificadores:

• Não podem ter nomes de palavras reservadas

(comandos da linguagem);

• Devem possuir como 1º caractere uma letra ou

Underscore ( _ );

• Ter como demais caracteres letras, números ou

Underscore;

• Ter no máximo 127 caracteres;

• Não possuir espaços em branco;

• A escolha de letras maiúsculas ou minúsculas é

indiferente.

36
Algoritmos

Exemplos:

37
Algoritmos

NOME TELEFONE IDADE_FILHO


NOTA1 SALARIO PI

38
Algoritmos

UMNOMEMUITOCOMPRIDOEDIFICILDELER

UM_NOME_MUITO_COMPRIDO_E_FACIL_DE_LER

39
Algoritmos

TIPOS DE DADOS

Todas as Variáveis devem assumir um determinado tipo de

informação.

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, Terça-feira, Quarta-feira,

Quinta-feira, Sexta-feira, Sábado, Domingo)

ESCALAR

TIPOS PRIMITIVOS DE DADOS

40
Algoritmos

INTEIRO ADMITE SOMENTE NÚMEROS INTEIROS. GERALMENTE É

UTILIZADO PARA REPRESENTAR UMA CONTAGEM

(QUANTIDADE).
REAL ADMITE NÚMEROS REAIS (COM OU SEM CASAS DECIMAIS).

GERALMENTE É UTILIZADO PARA REPRESENTAR UMA MEDIÇÃO.


CARACTERE ADMITE CARACTERES ALFANUMÉRICOS. OS NÚMEROS QUANDO
DECLARADOS COMO CARACTERES TORNAM SE REPRESENTATIVOS

E PERDEM A ATRIBUIÇÃO DE VALOR.


LÓGICO ADMITE SOMENTE VALORES LÓGICOS(VERDADEIRO/FALSO).

COMANDOS DE I/O (INPUT/OUTPUT)

LER  Comando de entrada que permite a leitura de

Variáveis de Entrada.

ESCREVER  Comando de saída que exibe uma informação na

tela do monitor.

IMPRIMIR  Comando de saída que envia uma informação

para a impressora.

41
Algoritmos

SINAL DE ATRIBUIÇÃO

Uma Variável nunca é eternamente igual a um valor, seu

conteúdo pode ser alterado a qualquer momento. Portanto para

atribuir valores a variáveis devemos usar o sinal de “:=”.

Exemplos:

A := 2;

B := 3;

C := A + B;

SINAL DE IGUALDADE

As constantes são eternamente iguais a determinados

valores, portanto usamos o sinal de “=”.

Exemplos:

PI = 3.1416;

Empresa = ‘Colégio de Informática L.T.D.A.’

V = Verdadeiro

42
Algoritmos

CORPO GERAL DE UM PROGRAMA

PROGRAMA <<identificador>>;

CONST

<<identificador>> = <<dado>>

VAR

<<identificador>> : <<tipo>>;

ÍNICIO

COMANDOS DE ENTRADA,PROCESSAMENTO E SAÍDA

<<comando1>>;

<<comandoN>>

FIM.

ESTRUTURAS SEQÜÊNCIAIS

Como pode ser analisado no tópico anterior, todo

programa possui uma estrutura seqüencial determinada por um

ÍNICIO e FIM.

43
Algoritmos

; PONTO E VÍRGULA ;

O sinal de ponto e vírgula “;” indica a existência de um

próximo comando (passa para o próximo).

Na estrutura ÍNICIO e no comando que antecede a

estrutura FIM não 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 média

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.

44
Algoritmos

SEGUNDO ALGORITMO

Segue um Algoritmo que lê o raio de uma circunferência 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) {SAÍDA}

FIM.

{LINHAS DE COMENTÁRIO}

Podemos inserir em um Algoritmo comentários para

aumentar a compreensão do mesmo, para isso basta que o texto

fique entre Chaves “{}”.

Exemplo:

LER (RAIO); {ENTRADA}

45
Algoritmos

‘ASPAS SIMPLES’

Quando queremos exibir uma mensagem para a tela ou

impressora ela deve estar contida entre aspas simples, caso

contrário, o computador irá identificar a mensagem como

Variável Indefinida.

Exemplo:

ESCREVER (‘AREA OBTIDA =’, AREA) {COMANDO DE SAÍDA}

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

ESTRUTURAS DE DECISÃO

Executa uma seqüência de comandos de acordo com o

resultado de um teste.

A estrutura de decisão pode ser Simples ou Composta,

baseada em um resultado lógico.

46
Algoritmos

Simples: Composta 1:

SE <<CONDIÇÃO>> SE <<CONDIÇÃO>>

ENTÃO <<COMANDO1>> ENTÃO <<COMANDO1>>

SENÃO <<COMANDO1>>

47
Algoritmos

Composta 2:

SE <<CONDIÇÃO>>

ENTÃO INICIO

<<COMANDO1>>;

<<COMANDON>>

FIM;

SENÃO INICIO

<<COMANDO1>>; <<COMANDON>>

FIM;

ALGORITMO TRÊS

Segue um Algoritmo que lê 2 números e escreve o maior.

PROGRAMA ACHA_MAIOR;

VAR A, B : INTEIRO;

INICIO

LER (A, B);

SE A>B

ENTÃO ESCREVER (A)

SENÃO ESCREVER (B)

48
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 média

obtida pelo aluno escrevendo também se o aluno foi aprovado

ou reprovado.

Média para aprovação = 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

ENTÃO ESCREVER (‘APROVADO’)

SENÃO ESCREVER (‘REPROVADO’)

ESCREVER (NOME, MEDIA)

FIM.

49
Algoritmos

NINHOS DE SE

Usados para tomadas de decisões para mais de 2 opções.

Forma Geral:

SE <<CONDIÇÃO>>

ENTÃO <<COMANDO1>>

SENÃO SE <<CONDIÇÃO>>

ENTÃO <<COMANDO1>>

SENÃO <<COMANDO1>>

ALGORITMO CINCO

Segue um Algoritmo que lê 3 números e escreve o maior.

PROGRAMA ACHA_MAIOR;

VAR A, B, C : INTEIRO;

INICIO

LER (A, B, C);

SE (A>B) E (A>C)

ENTÃO ESCREVER (A)

SENÃO SE (B>A) E (B>C)

50
Algoritmos

ENTÃO ESCREVER (B)

SENÃO ESCREVER (C)

FIM.

ESTRUTURAS DE CONDIÇÃO

A estrutura de condição eqüivale a um ninho de SE’S.

Forma Geral:

FACA CASO

CASO <<CONDIÇÃO1>>

<<COMANDO1>>;

CASO <<CONDIÇÃON>>

<<COMANDO1>>;

OUTROS CASOS

<<COMANDO1>>;

FIM DE CASO

ALGORITMO SEIS

Segue um Algoritmo que lê 3 números e escreve o maior.

PROGRAMA ACHA_MAIOR;

51
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 REPETIÇÃO DETERMINADA

Quando uma seqüência de comandos deve ser executada

repetidas vezes, tem-se uma estrutura de repetição.

A estrutura de repetição, assim como a de decisão,

envolve sempre a avaliação de uma condição.

Na repetição determinada o algoritmo apresenta

previamente a quantidade de repetições.

Forma Geral 1:

52
Algoritmos

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

<<VALOR FINAL>> FAÇA

<<COMANDO1>>;

Forma Geral 2:

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

<<VALOR FINAL>> FAÇA

ÍNICIO

<<COMANDO1>>;

<<COMANDON>>

FIM;

A repetição por padrão 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”

53
Algoritmos

PROGRAMA REPETICAO;

VAR I:INTEIRO
VARIÁVEL 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 números

pares.

PROGRAMA PARES;

VAR I,PAR: INTEGER;

INICIO

PAR:=0;

PARA I:=1 ATE 100 FACA

INICIO

ESCREVER (PAR);

PAR := PAR+2

FIM

FIM.

54
Algoritmos

ESTRUTURA DE REPETIÇÃO INDETERMINADA COM VALIDAÇÃO

INICIAL

É usada para repetir N vezes uma ou mais instruções.

Tendo como vantagem o fato de não ser necessário o

conhecimento prévio do número de repetições.

Forma Geral 1: VALIDAÇÃO INICIAL

ENQUANTO <<CONDIÇÃO>> FACA

<<COMANDO1>>;

Forma Geral 2:

ENQUANTO <<CONDIÇÃO>> FACA

ÍNICIO

<<COMANDO1>>;

<<COMANDON>>

FIM;

ALGORITMO NOVE

Segue um algoritmo que calcule a soma dos salários dos

funcionários de uma empresa. O programa termina quando o

usuário digitar um salário menor que 0.

PROGRAMA SOMA_SALARIOS;

55
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 VARIÁVEIS QUE ACUMULAM VALORES DEVEM


RECEBER UM VALOR INICIAL.

ESTRUTURA DE REPETIÇÃO INDETERMINADA COM VALIDAÇÃO

FINAL

Assim como a estrutura ENQUANTO É usada para repetir N

vezes uma ou mais instruções.

Sua validação é final fazendo com que a repetição seja

executada pelo menos uma vez.

56
Algoritmos

Forma Geral;

REPITA

<<COMANDO1>>;

<<COMANDON>>

ATE <<CONDIÇÃO>>

ALGORITMO DEZ

Segue um algoritmo que calcule a soma dos salários dos

funcionários de uma empresa. O programa termina quando o

usuário digitar um salário menor que 0.

PROGRAMA SOMA_SALARIOS;

VAR

SOMA, SALARIO : REAL;

INICIO

SOMA:=O;

REPITA

LER (SALARIO);

SOMA:=SOMA+SALARIO

ATE SALARIO<0;

57
Algoritmos

ESCREVER (SOMA)

FIM.

ALGORITMO ONZE

Segue um algoritmo que escreve os 100 primeiros números

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.

58
Algoritmos

Programas Equivalentes

O algoritmo onze poderia ter sido criado com qualquer

estrutura de repetição. Portanto podemos ter algoritmos que

são escritos de maneiras diferentes, mas, funcionam

realizando o mesmo objetivo.

59
Algoritmos

EXERCÍCIOS

1)O QUE É UM ALGORITMO?

2)O QUE É UM PROGRAMA?

3)CRIE UM ALGORITMO NÃO COMPUTACIONAL, QUE TROQUE UM

PNEU DE CARRO.

4)O QUE É UMA LINGUAGEM DE PROGRAMAÇÃO?

5)LINEARIZE AS EXPRESSÕES ABAIXO:

5
+ 7 * (8 − 5) = [ 25 * 3 +(7 −4)]
8
6)Complete a tabela abaixo (A e B são variáveis lógicas;
V= verdadeiro e F= falso)

A B A ou B A e B não A
V V
V F
F V
F F

7) CRIE ALGORITMOS PARA OS SEGUINTES PROBLEMAS:

A) Dados três valores X, Y, Z, verifiquem se eles podem


ser os comprimentos dos lados de um triângulo e se forem
escrever uma mensagem informando se é se é um triângulo
equilátero, isósceles ou escaleno.

Observações:
O comprimento de um lado do triângulo é sempre menor do
que a soma dos outros dois.
Eqüilátero Todos lados iguais
Isósceles Dois lados iguais
Escaleno Todos os lados diferentes

B) Recebendo quatro médias 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 aprovação o aluno precisa ter
uma média anual maior ou igual a 7, escreva uma mensagem
indicando se o aluno foi aprovado ou reprovado.

60
Algoritmos

Observação:
Média anual = (1º bimestre * 1+ 2º bimestre * 2 + 3º
bimestre * 3 + 4º bimestre * 4) / (1+2+3+4)

61

Você também pode gostar