1. SUMÁRIO
INTRODUÇÃO...............................................................................................................................................20
INTRODUÇÃO...............................................................................................................................................20
O OBJETIVO PRINCIPAL DA LÓGICA DE PROGRAMAÇÃO É DEMONSTRAR TÉCNICAS
PARA RESOLUÇÃO DE PROBLEMAS E CONSEQUENTEMENTE AUTOMATIZAÇÃO DE
TAREFAS.........................................................................................................................................................20
O APRENDIZADO DA LÓGICA É ESSENCIAL PARA FORMAÇÃO DE UM BOM
PROGRAMADOR, SERVINDO COMO BASE PARA O APRENDIZADO DE TODAS AS
LINGUAGENS DE PROGRAMAÇÃO, ESTRUTURADAS OU NÃO....................................................20
ALGORITMO.................................................................................................................................................21
ALGORITMO.................................................................................................................................................21
UM ALGORITMO É UMA SEQÜÊNCIA DE INSTRUÇÕES ORDENADAS DE FORMA LÓGICA
PARA A RESOLUÇÃO DE UMA DETERMINADA TAREFA OU PROBLEMA.................................21
PARA <<VARIAVEL DE TIPO INTEIRO>>:=<<VALOR INICIAL>> ATE <<VALOR FINAL>>
FAÇA................................................................................................................................................................23
ÍNICIO.............................................................................................................................................................23
<<COMANDO1>>;.........................................................................................................................................23
<<COMANDON>>..........................................................................................................................................23
FIM;.................................................................................................................................................................23
ALGORITMO NÃO COMPUTACIONAL..................................................................................................24
ALGORITMO NÃO COMPUTACIONAL..................................................................................................24
ABAIXO É APRESENTADO UM ALGORITMO NÃO COMPUTACIONAL CUJO OBJETIVO É
USAR UM TELEFONE PÚBLICO...............................................................................................................24
INÍCIO..............................................................................................................................................................24
1.TIRAR O FONE DO GANCHO;................................................................................................................24
2.OUVIR O SINAL DE LINHA;....................................................................................................................24
3.INTRODUZIR O CARTÃO;......................................................................................................................24
4.TECLAR O NÚMERO DESEJADO;.........................................................................................................24
5.SE DER O SINAL DE CHAMAR...............................................................................................................24
5.1 CONVERSAR;...........................................................................................................................................24
5.2 DESLIGAR;...............................................................................................................................................24
5.3 RETIRAR O CARTÃO;...........................................................................................................................24
2. Algoritmos
6. SENÃO.........................................................................................................................................................24
6.1 REPETIR;.................................................................................................................................................24
FIM...................................................................................................................................................................24
PROGRAMA...................................................................................................................................................24
PROGRAMA...................................................................................................................................................24
UM PROGRAMA É UM ALGORITMO ESCRITO EM UMA LINGUAGEM COMPUTACIONAL.
...........................................................................................................................................................................24
LINGUAGENS DE PROGRAMAÇÃO........................................................................................................25
LINGUAGENS DE PROGRAMAÇÃO........................................................................................................25
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..............................................................................25
EXISTEM VÁRIAS LINGUAGENS DE PROGRAMAÇÃO, CADA UMA COM SUAS
CARACTERÍSTICAS PRÓPRIAS...............................................................................................................25
EXEMPLOS:..................................................................................................................................................25
PASCAL...........................................................................................................................................................25
CLIPPER..........................................................................................................................................................25
C........................................................................................................................................................................25
VISUAL BASIC...............................................................................................................................................25
DELPHI E ETC. .............................................................................................................................................25
TÉCNICAS ATUAIS DE PROGRAMAÇÃO..............................................................................................26
TÉCNICAS ATUAIS DE PROGRAMAÇÃO..............................................................................................26
PROGRAMAÇÃO SEQÜENCIAL...............................................................................................................26
PROGRAMAÇÃO ESTRUTURADA...........................................................................................................26
PROGRAMAÇÃO ORIENTADA A EVENTOS E OBJETOS..................................................................26
ALGORITMOS EM “PORTUGOL”............................................................................................................26
ALGORITMOS EM “PORTUGOL”............................................................................................................26
DURANTE NOSSO CURSO IREMOS APRENDER A DESENVOLVER NOSSOS ALGORITMOS
EM UMA PSEUDO-LINGUAGEM CONHECIDA COMO “PORTUGOL” OU PORTUGUÊS
ESTRUTURADO.............................................................................................................................................26
“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...............................................................................................................................................26
OPERADORES ARITMÉTICOS..................................................................................................................26
2
3. Algoritmos
OPERADORES ARITMÉTICOS..................................................................................................................26
+ ADIÇÃO..................................................................................................................................................26
- SUBTRAÇÃO..........................................................................................................................................26
* MULTIPLICAÇÃO................................................................................................................................26
/ DIVISÃO...................................................................................................................................................26
OPERADORES RELACIONAIS..................................................................................................................27
OPERADORES RELACIONAIS..................................................................................................................27
> MAIOR QUE...........................................................................................................................................27
< MENOR QUE..........................................................................................................................................27
>= MAIOR OU IGUAL.............................................................................................................................27
<= MENOR OU IGUAL............................................................................................................................27
= IGUAL......................................................................................................................................................27
<> DIFERENTE.........................................................................................................................................27
LINEARIZAÇÃO DE EXPRESSÕES..........................................................................................................27
LINEARIZAÇÃO DE EXPRESSÕES..........................................................................................................27
PARA A CONSTRUÇÃO DE ALGORITMOS TODAS AS EXPRESSÕES ARITMÉTICAS DEVEM
SER LINEARIZADAS, OU SEJA, COLOCADAS EM LINHAS..............................................................27
É IMPORTANTE TAMBÉM RESSALVAR O USO DOS OPERADORES CORRESPONDENTES
DA ARITMÉTICA TRADICIONAL PARA A COMPUTACIONAL......................................................27
EXEMPLO:......................................................................................................................................................27
MODULARIZAÇÃO DE EXPRESSÕES.....................................................................................................28
MODULARIZAÇÃO DE EXPRESSÕES.....................................................................................................28
A MODULARIZAÇÃO É A DIVISÃO DA EXPRESSÃO EM PARTES, PROPORCIONANDO
MAIOR COMPREENSÃO E DEFININDO PRIORIDADES PARA RESOLUÇÃO DA MESMA......28
COMO PODE SER OBSERVADO NO EXEMPLO ANTERIOR, EM EXPRESSÕES
COMPUTACIONAIS USAMOS SOMENTE PARÊNTESES “( )” PARA MODULARIZAÇÃO........28
NA INFORMÁTICA PODEMOS TER PARÊNTESES DENTRO DE PARÊNTESES.........................28
EXEMPLOS DE PRIORIDADES:................................................................................................................28
(2+2)/2=2...........................................................................................................................................................28
2+2/2=3.............................................................................................................................................................28
OPERADORES ESPECIAIS (MOD E DIV)................................................................................................28
3
4. Algoritmos
OPERADORES ESPECIAIS (MOD E DIV)................................................................................................28
MOD RETORNA O RESTO DA DIVISÃO ENTRE 2 NÚMEROS INTEIROS................................28
DIV RETORNA O VALOR INTEIRO QUE RESULTA DA DIVISÃO ENTRE 2 NÚMEROS
INTEIROS........................................................................................................................................................28
EXEMPLO:......................................................................................................................................................29
FUNÇÕES........................................................................................................................................................29
FUNÇÕES........................................................................................................................................................29
UMA FUNÇÃO É UM INSTRUMENTO (SUB–ALGORITMO) QUE TEM COMO OBJETIVO
RETORNAR UM VALOR OU UMA INFORMAÇÃO..............................................................................29
A CHAMADA DE UMA FUNÇÃO É FEITA ATRAVÉS DA CITAÇÃO DO SEU NOME SEGUIDO
OPCIONALMENTE DE SEU ARGUMENTO INICIAL ENTRE PARÊNTESES.................................29
AS FUNÇÕES PODEM SER PREDEFINIDAS PELA LINGUAGEM OU CRIADAS PELO
PROGRAMADOR DE ACORDO COM O SEU INTERESSE..................................................................29
EXEMPLOS:...................................................................................................................................................29
BIBLIOTECAS DE FUNÇÕES.....................................................................................................................30
BIBLIOTECAS DE FUNÇÕES.....................................................................................................................30
ARMAZENAM UM CONJUNTO DE FUNÇÕES QUE PODEM SER USADAS PELOS
PROGRAMAS.................................................................................................................................................30
FUNÇÕES PRÉ-DEFINIDAS........................................................................................................................30
FUNÇÕES PRÉ-DEFINIDAS........................................................................................................................30
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
4
5. Algoritmos
SIN( ).................................................................................................................................................................30
SENO................................................................................................................................................................30
COS( )...............................................................................................................................................................30
COSENO..........................................................................................................................................................30
TAN( )...............................................................................................................................................................30
TANGENTE.....................................................................................................................................................30
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
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
5
7. Algoritmos
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
CONSTANTES................................................................................................................................................37
CONSTANTES................................................................................................................................................37
CONSTANTES SÃO ENDEREÇOS DE MEMÓRIA DESTINADOS A ARMAZENAR
INFORMAÇÕES FIXAS, INALTERÁVEIS DURANTE A EXECUÇÃO DO PROGRAMA...............37
EXEMPLO:......................................................................................................................................................37
PI = 3.1416........................................................................................................................................................37
IDENTIFICADORES.....................................................................................................................................37
IDENTIFICADORES.....................................................................................................................................37
SÃO OS NOMES DADOS A VARIÁVEIS, CONSTANTES E PROGRAMAS.......................................37
REGRAS PARA CONSTRUÇÃO DE IDENTIFICADORES:..................................................................37
NÃO PODEM TER NOMES DE PALAVRAS RESERVADAS (COMANDOS DA LINGUAGEM);..37
DEVEM POSSUIR COMO 1º CARACTERE UMA LETRA OU UNDERSCORE ( _ );.......................37
TER COMO DEMAIS CARACTERES LETRAS, NÚMEROS OU UNDERSCORE;...........................37
TER NO MÁXIMO 127 CARACTERES;....................................................................................................37
NÃO POSSUIR ESPAÇOS EM BRANCO;.................................................................................................37
A ESCOLHA DE LETRAS MAIÚSCULAS OU MINÚSCULAS É INDIFERENTE.............................37
EXEMPLOS:...................................................................................................................................................38
NOME...............................................................................................................................................................38
TELEFONE.....................................................................................................................................................38
7
9. Algoritmos
COMANDOS DE I/O (INPUT/OUTPUT)....................................................................................................40
COMANDOS DE I/O (INPUT/OUTPUT)....................................................................................................40
LER COMANDO DE ENTRADA QUE PERMITE A LEITURA DE VARIÁVEIS DE ENTRADA.
...........................................................................................................................................................................40
ESCREVER COMANDO DE SAÍDA QUE EXIBE UMA INFORMAÇÃO NA TELA DO
MONITOR.......................................................................................................................................................40
IMPRIMIR COMANDO DE SAÍDA QUE ENVIA UMA INFORMAÇÃO PARA A
IMPRESSORA.................................................................................................................................................40
SINAL DE ATRIBUIÇÃO.............................................................................................................................41
SINAL DE ATRIBUIÇÃO.............................................................................................................................41
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 “:=”...................................................................................41
EXEMPLOS:...................................................................................................................................................41
A := 2;...............................................................................................................................................................41
B := 3;................................................................................................................................................................41
C := A + B;........................................................................................................................................................41
SINAL DE IGUALDADE...............................................................................................................................41
SINAL DE IGUALDADE...............................................................................................................................41
AS CONSTANTES SÃO ETERNAMENTE IGUAIS A DETERMINADOS VALORES, PORTANTO
USAMOS O SINAL DE “=”...........................................................................................................................41
EXEMPLOS:...................................................................................................................................................41
PI = 3.1416;.......................................................................................................................................................41
EMPRESA = ‘COLÉGIO DE INFORMÁTICA L.T.D.A.’........................................................................41
V = VERDADEIRO.........................................................................................................................................41
CORPO GERAL DE UM PROGRAMA......................................................................................................42
CORPO GERAL DE UM PROGRAMA......................................................................................................42
PROGRAMA <<IDENTIFICADOR>>;.......................................................................................................42
CONST.............................................................................................................................................................42
<<IDENTIFICADOR>> = <<DADO>>.......................................................................................................42
VAR...................................................................................................................................................................42
<<IDENTIFICADOR>> : <<TIPO>>;........................................................................................................42
9
10. Algoritmos
ÍNICIO..............................................................................................................................................................42
{ ........................................................................................................................................................................42
COMANDOS DE ENTRADA,PROCESSAMENTO E SAÍDA .................................................................42
<<COMANDO1>>;.........................................................................................................................................42
<<COMANDON>>..........................................................................................................................................42
}..........................................................................................................................................................................42
FIM...................................................................................................................................................................42
ESTRUTURAS SEQÜÊNCIAIS....................................................................................................................42
ESTRUTURAS SEQÜÊNCIAIS....................................................................................................................42
COMO PODE SER ANALISADO NO TÓPICO ANTERIOR, TODO PROGRAMA POSSUI UMA
ESTRUTURA SEQÜENCIAL DETERMINADA POR UM ÍNICIO E FIM...........................................42
..........................................................................................................................................................................42
; PONTO E VÍRGULA ;.................................................................................................................................43
; PONTO E VÍRGULA ;.................................................................................................................................43
O SINAL DE PONTO E VÍRGULA “;” INDICA A EXISTÊNCIA DE UM PRÓXIMO COMANDO
(PASSA PARA O PRÓXIMO).......................................................................................................................43
NA ESTRUTURA ÍNICIO E NO COMANDO QUE ANTECEDE A ESTRUTURA FIM NÃO SE USA
“;”......................................................................................................................................................................43
PRIMEIRO ALGORITMO............................................................................................................................43
PRIMEIRO ALGORITMO............................................................................................................................43
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..........................................43
PROGRAMA MEDIA_FINAL;.....................................................................................................................43
VAR...................................................................................................................................................................43
NOTA1, NOTA2, NOTA3, NOTA4, MEDIA: INTEIRO;..........................................................................43
NOME : CARACTERE [35]..........................................................................................................................43
INICIO..............................................................................................................................................................43
LER (NOME);.................................................................................................................................................43
LER (NOTA1, NOTA2, NOTA3, NOTA4);..................................................................................................43
MEDIA := (NOTA1 + NOTA2 + NOTA3 + NOTA4) / 4;...........................................................................43
ESCREVER (NOME, MEDIA).....................................................................................................................43
10
11. Algoritmos
FIM...................................................................................................................................................................43
SEGUNDO ALGORITMO.............................................................................................................................44
SEGUNDO ALGORITMO.............................................................................................................................44
SEGUE UM ALGORITMO QUE LÊ O RAIO DE UMA CIRCUNFERÊNCIA E CALCULA SUA
ÁREA................................................................................................................................................................44
PROGRAMA AREA_CIRCUNFERENCIA;...............................................................................................44
CONST PI = 3.1416;........................................................................................................................................44
VAR RAIO, AREA : REAL;..........................................................................................................................44
INICIO..............................................................................................................................................................44
LER (RAIO); {PROCESSAMENTO}..........................................................................................................44
AREA := PI * SQR(RAIO); {ENTRADA} ..................................................................................................44
ESCREVER (‘AREA =’, AREA) {SAÍDA}..................................................................................................44
FIM...................................................................................................................................................................44
{LINHAS DE COMENTÁRIO}.....................................................................................................................44
{LINHAS DE COMENTÁRIO}.....................................................................................................................44
PODEMOS INSERIR EM UM ALGORITMO COMENTÁRIOS PARA AUMENTAR A
COMPREENSÃO DO MESMO, PARA ISSO BASTA QUE O TEXTO FIQUE ENTRE CHAVES
“{}”....................................................................................................................................................................44
EXEMPLO:......................................................................................................................................................44
LER (RAIO); {ENTRADA}............................................................................................................................44
‘ASPAS SIMPLES’.........................................................................................................................................45
‘ASPAS SIMPLES’.........................................................................................................................................45
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......................................................45
EXEMPLO:......................................................................................................................................................45
ESCREVER (‘AREA OBTIDA =’, AREA) {COMANDO DE SAÍDA}....................................................45
AREA OBTIDA = X.XX {RESULTADO GERADO NA TELA}...............................................................45
ESTRUTURAS DE DECISÃO.......................................................................................................................45
ESTRUTURAS DE DECISÃO.......................................................................................................................45
EXECUTA UMA SEQÜÊNCIA DE COMANDOS DE ACORDO COM O RESULTADO DE UM
TESTE..............................................................................................................................................................45
11
12. Algoritmos
A ESTRUTURA DE DECISÃO PODE SER SIMPLES OU COMPOSTA, BASEADA EM UM
RESULTADO LÓGICO.................................................................................................................................45
SIMPLES:........................................................................................................................................................46
SE <<CONDIÇÃO>>......................................................................................................................................46
ENTÃO <<COMANDO1>>..........................................................................................................................46
COMPOSTA 1:................................................................................................................................................46
SE <<CONDIÇÃO>>......................................................................................................................................46
ENTÃO <<COMANDO1>>..........................................................................................................................46
SENÃO <<COMANDO1>>...........................................................................................................................46
COMPOSTA 2:................................................................................................................................................47
SE <<CONDIÇÃO>>......................................................................................................................................47
ENTÃO INICIO.............................................................................................................................................47
<<COMANDO1>>;.........................................................................................................................................47
<<COMANDON>>..........................................................................................................................................47
FIM;...............................................................................................................................................................47
SENÃO INICIO..............................................................................................................................................47
<<COMANDO1>>; <<COMANDON>>.......................................................................................................47
FIM;...............................................................................................................................................................47
ALGORITMO TRÊS......................................................................................................................................47
ALGORITMO TRÊS......................................................................................................................................47
SEGUE UM ALGORITMO QUE LÊ 2 NÚMEROS E ESCREVE O MAIOR........................................47
PROGRAMA ACHA_MAIOR;.....................................................................................................................47
VAR A, B : INTEIRO;....................................................................................................................................47
INICIO..............................................................................................................................................................47
LER (A, B);.....................................................................................................................................................47
SE A>B.............................................................................................................................................................47
ENTÃO ESCREVER (A)..............................................................................................................................47
SENÃO ESCREVER (B)..............................................................................................................................47
FIM...................................................................................................................................................................48
ALGORITMO QUATRO...............................................................................................................................48
12
13. Algoritmos
ALGORITMO QUATRO...............................................................................................................................48
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.................................48
MÉDIA PARA APROVAÇÃO = 6................................................................................................................48
PROGRAMA MEDIA_FINAL;.....................................................................................................................48
VAR...................................................................................................................................................................48
NOTA1, NOTA2, NOTA3, NOTA4, MEDIA: REAL;................................................................................48
NOME : CARACTERE [35]..........................................................................................................................48
INICIO..............................................................................................................................................................48
LER (NOME);.................................................................................................................................................48
LER (NOTA1, NOTA2, NOTA3, NOTA4);..................................................................................................48
MEDIA := (NOTA1 + NOTA2 + NOTA3 + NOTA4) / 4;...........................................................................48
SE MEDIA>=6................................................................................................................................................48
ENTÃO ESCREVER (‘APROVADO’).........................................................................................................48
SENÃO ESCREVER (‘REPROVADO’).......................................................................................................48
ESCREVER (NOME, MEDIA)......................................................................................................................48
FIM...................................................................................................................................................................48
NINHOS DE SE...............................................................................................................................................49
NINHOS DE SE...............................................................................................................................................49
USADOS PARA TOMADAS DE DECISÕES PARA MAIS DE 2 OPÇÕES...........................................49
FORMA GERAL:............................................................................................................................................49
SE <<CONDIÇÃO>>......................................................................................................................................49
ENTÃO <<COMANDO1>>..........................................................................................................................49
SENÃO SE <<CONDIÇÃO>>......................................................................................................................49
ENTÃO <<COMANDO1>>........................................................................................................................49
SENÃO <<COMANDO1>>.........................................................................................................................49
ALGORITMO CINCO...................................................................................................................................49
ALGORITMO CINCO...................................................................................................................................49
SEGUE UM ALGORITMO QUE LÊ 3 NÚMEROS E ESCREVE O MAIOR........................................49
13
14. Algoritmos
PROGRAMA ACHA_MAIOR;.....................................................................................................................49
VAR A, B, C : INTEIRO;...............................................................................................................................49
INICIO..............................................................................................................................................................49
LER (A, B, C);.................................................................................................................................................49
SE (A>B) E (A>C)..........................................................................................................................................49
ENTÃO ESCREVER (A)..............................................................................................................................49
SENÃO SE (B>A) E (B>C)...........................................................................................................................49
ENTÃO ESCREVER (B)................................................................................................................................50
SENÃO ESCREVER (C)................................................................................................................................50
FIM...................................................................................................................................................................50
ESTRUTURAS DE CONDIÇÃO...................................................................................................................50
ESTRUTURAS DE CONDIÇÃO...................................................................................................................50
A ESTRUTURA DE CONDIÇÃO EQÜIVALE A UM NINHO DE SE’S................................................50
FORMA GERAL:............................................................................................................................................50
FACA CASO....................................................................................................................................................50
CASO <<CONDIÇÃO1>>.............................................................................................................................50
<<COMANDO1>>;.......................................................................................................................................50
CASO <<CONDIÇÃON>>............................................................................................................................50
<<COMANDO1>>;.......................................................................................................................................50
OUTROS CASOS...........................................................................................................................................50
<<COMANDO1>>;.......................................................................................................................................50
FIM DE CASO.................................................................................................................................................50
ALGORITMO SEIS........................................................................................................................................50
ALGORITMO SEIS........................................................................................................................................50
SEGUE UM ALGORITMO QUE LÊ 3 NÚMEROS E ESCREVE O MAIOR........................................50
PROGRAMA ACHA_MAIOR;.....................................................................................................................50
VAR A, B, C : INTEIRO;...............................................................................................................................51
INICIO..............................................................................................................................................................51
LER (A, B, C);.................................................................................................................................................51
14
15. Algoritmos
FACA CASO...................................................................................................................................................51
CASO (A>B) E (A>C).....................................................................................................................................51
ESCREVER (A);...........................................................................................................................................51
CASO (B>A) E (B>C)...................................................................................................................................51
ESCREVER (B);..............................................................................................................................................51
OUTROS CASOS............................................................................................................................................51
ESCREVER (C);..............................................................................................................................................51
FIM DE CASO................................................................................................................................................51
FIM...................................................................................................................................................................51
ESTRUTURA DE REPETIÇÃO DETERMINADA....................................................................................51
ESTRUTURA DE REPETIÇÃO DETERMINADA....................................................................................51
QUANDO UMA SEQÜÊNCIA DE COMANDOS DEVE SER EXECUTADA REPETIDAS VEZES,
TEM-SE UMA ESTRUTURA DE REPETIÇÃO........................................................................................51
A ESTRUTURA DE REPETIÇÃO, ASSIM COMO A DE DECISÃO, ENVOLVE SEMPRE A
AVALIAÇÃO DE UMA CONDIÇÃO..........................................................................................................51
NA REPETIÇÃO DETERMINADA O ALGORITMO APRESENTA PREVIAMENTE A
QUANTIDADE DE REPETIÇÕES...............................................................................................................51
FORMA GERAL 1:.........................................................................................................................................51
PARA <<VARIAVEL DE TIPO INTEIRO>>:=<<VALOR INICIAL>> ATE <<VALOR FINAL>>
FAÇA................................................................................................................................................................52
<<COMANDO1>>;........................................................................................................................................52
FORMA GERAL 2:.........................................................................................................................................52
PARA <<VARIAVEL DE TIPO INTEIRO>>:=<<VALOR INICIAL>> ATE <<VALOR FINAL>>
FAÇA................................................................................................................................................................52
ÍNICIO.............................................................................................................................................................52
<<COMANDO1>>;.........................................................................................................................................52
<<COMANDON>>..........................................................................................................................................52
FIM;.................................................................................................................................................................52
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...................................................................52
ALGORITMO SETE......................................................................................................................................52
ALGORITMO SETE......................................................................................................................................52
15
16. Algoritmos
SEGUE UM ALGORITMO QUE ESCREVE 10 VEZES A FRASE “VASCO DA GAMA”.................52
PROGRAMA REPETICAO;.........................................................................................................................53
VAR I:INTEIRO.............................................................................................................................................53
INICIO..............................................................................................................................................................53
PARA I :=1 ATE 10 FACA............................................................................................................................53
ESCREVER (‘VASCO DA GAMA’)...........................................................................................................53
FIM...................................................................................................................................................................53
ALGORITMO OITO......................................................................................................................................53
ALGORITMO OITO......................................................................................................................................53
SEGUE UM ALGORITMO QUE ESCREVE OS 100 PRIMEIROS NÚMEROS PARES.....................53
PROGRAMA PARES;....................................................................................................................................53
VAR I,PAR: INTEGER;.................................................................................................................................53
INICIO..............................................................................................................................................................53
PAR:=0;...........................................................................................................................................................53
PARA I:=1 ATE 100 FACA............................................................................................................................53
INICIO............................................................................................................................................................53
ESCREVER (PAR);.....................................................................................................................................53
PAR := PAR+2..............................................................................................................................................53
FIM.................................................................................................................................................................53
FIM..................................................................................................................................................................53
ESTRUTURA DE REPETIÇÃO INDETERMINADA COM VALIDAÇÃO INICIAL..........................54
ESTRUTURA DE REPETIÇÃO INDETERMINADA COM VALIDAÇÃO INICIAL..........................54
É 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...........................................................................................................................................54
FORMA GERAL 1:.........................................................................................................................................54
ENQUANTO <<CONDIÇÃO>> FACA........................................................................................................54
<<COMANDO1>>;........................................................................................................................................54
FORMA GERAL 2:.........................................................................................................................................54
ENQUANTO <<CONDIÇÃO>> FACA........................................................................................................54
16
17. Algoritmos
ÍNICIO.............................................................................................................................................................54
<<COMANDO1>>;.......................................................................................................................................54
<<COMANDON>>........................................................................................................................................54
FIM;.................................................................................................................................................................54
ALGORITMO NOVE.....................................................................................................................................54
ALGORITMO NOVE.....................................................................................................................................54
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...............................................................................................................................................54
PROGRAMA SOMA_SALARIOS;..............................................................................................................54
VAR SOMA, SALARIO : REAL;..................................................................................................................55
INICIO..............................................................................................................................................................55
SOMA:=O;......................................................................................................................................................55
SALARIO:=1;.................................................................................................................................................55
ENQUANTO SALARIO>=0.........................................................................................................................55
INICIO............................................................................................................................................................55
LER (SALARIO);.........................................................................................................................................55
SOMA:=SOMA+SALARIO........................................................................................................................55
FIM;................................................................................................................................................................55
ESCREVER (SOMA).....................................................................................................................................55
FIM...................................................................................................................................................................55
ESTRUTURA DE REPETIÇÃO INDETERMINADA COM VALIDAÇÃO FINAL.............................55
ESTRUTURA DE REPETIÇÃO INDETERMINADA COM VALIDAÇÃO FINAL.............................55
ASSIM COMO A ESTRUTURA ENQUANTO É USADA PARA REPETIR N VEZES UMA OU
MAIS INSTRUÇÕES. ....................................................................................................................................55
SUA VALIDAÇÃO É FINAL FAZENDO COM QUE A REPETIÇÃO SEJA EXECUTADA PELO
MENOS UMA VEZ.........................................................................................................................................55
FORMA GERAL;............................................................................................................................................56
REPITA............................................................................................................................................................56
<<COMANDO1>>;........................................................................................................................................56
<<COMANDON>>.........................................................................................................................................56
17
18. Algoritmos
ATE <<CONDIÇÃO>>...................................................................................................................................56
ALGORITMO DEZ........................................................................................................................................56
ALGORITMO DEZ........................................................................................................................................56
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...............................................................................................................................................56
PROGRAMA SOMA_SALARIOS;..............................................................................................................56
VAR...................................................................................................................................................................56
SOMA, SALARIO : REAL;...........................................................................................................................56
INICIO..............................................................................................................................................................56
SOMA:=O;......................................................................................................................................................56
REPITA...........................................................................................................................................................56
LER (SALARIO);..........................................................................................................................................56
SOMA:=SOMA+SALARIO.........................................................................................................................56
ATE SALARIO<0;.........................................................................................................................................56
ESCREVER (SOMA).....................................................................................................................................57
FIM...................................................................................................................................................................57
ALGORITMO ONZE.....................................................................................................................................57
ALGORITMO ONZE.....................................................................................................................................57
SEGUE UM ALGORITMO QUE ESCREVE OS 100 PRIMEIROS NÚMEROS PARES.....................57
PROGRAMA PARES_2;................................................................................................................................57
VAR I, PAR, CONTADOR : INTEIRO;......................................................................................................57
INICIO..............................................................................................................................................................57
CONTADOR := 0;..........................................................................................................................................57
PAR := 0;..........................................................................................................................................................57
REPITA............................................................................................................................................................57
ESCREVER (PAR);......................................................................................................................................57
PAR := PAR+2;..............................................................................................................................................57
CONTADOR := CONTADOR+1;...............................................................................................................57
ATE CONTADOR=100.................................................................................................................................57
18
20. Algoritmos
INTRODUÇÃO
O objetivo principal da Lógica de Programação é
demonstrar técnicas para resolução de problemas e
consequentemente automatização de tarefas.
O aprendizado da Lógica é essencial para formação de um
bom programador, servindo como base para o aprendizado de
todas as linguagens de programação, estruturadas ou não.
20
21. 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.
Conceitos
Procedimento - é uma receita ou roteiro para executar alguma tarefa. Constitui-
se de etapas, passos, comandos ou instruções que são executadas
seqüencialmente.
Algoritmo - é um procedimento que é executado em um tempo finito. É um
conjunto finito de regras, bem definidas, para a solução de um problema em um
tempo finito.
Características dos algoritmos
- Execução de algoritmos
De cima para baixo, seqüencialmente, a menos que esta ordem seja
explicitamente alterada.
- Entradas
Aos valores recebidos por um algoritmo dá-se o nome de entradas. No exemplo
1, o passo 1 constitui uma entrada.
- Saídas
Todo algoritmo possui pelo menos um resultado. Os resultados fornecidos por
um algoritmo recebem o nome de saídas.
- Definição dos passos
E importante que num algoritmo cada passo esteja precisamente definido não
deixando nenhuma margem a ambigüidades.
- Efetividade
Todas as operações especificadas no algoritmo devem ser suficientemente
básicas para que possam ser, pelo menos em princípio, executadas de maneira
exata e num tempo finito.
Formas de representação de algoritmos
21
22. Algoritmos
Os algoritmos podem ser
escritos em linguagem comum,
em linguagem gráfica
(fluxogramas ou diagramas de
blocos) ou ainda em linguagem
de programação como BASIC,
FORTRAN, COBOL, etc..
CLASSIFICAÇÃO E APRESENTAÇÃO DE ALGORITMOS NUMÉRICOS
Os algoritmos podem ser classificados em:
- não numéricos
- numéricos
Ou ainda podem ser classificados em:
- puramente seqüenciais
- com seleção
- com repetição
Algoritmos puramente seqüenciais
Todo o algoritmo puramente seqüencial tem exatamente a seguinte estrutura:
- Ler valores
- Efetuar cálculos
- Escrever resultados
- Parar
22
23. Algoritmos
ler A, B, C
MEDIA = A + B + C / 3
escrever MEDIA
parar
Algoritmos com seleção e/ou decisão
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.
Simples:
SE <<CONDIÇÃO>>
ENTÃO <<COMANDO1>>
Composta 1:
SE <<CONDIÇÃO>>
ENTÃO <<COMANDO1>>
SENÃO <<COMANDO1>>
Composta 2:
SE <<CONDIÇÃO>>
ENTÃO INICIO
<<COMANDO1>>;
<<COMANDON>>
FIM;
SENÃO INICIO
<<COMANDO1>>; <<COMANDON>>
FIM;
PARA <<VARIAVEL DE TIPO INTEIRO>>:=<<VALOR INICIAL>> ATE
<<VALOR FINAL>> FAÇA
ÍNICIO
<<COMANDO1>>;
<<COMANDON>>
FIM;
23
24. Algoritmos
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;
5. Se der o sinal de chamar
5.1 Conversar;
5.2 Desligar;
5.3 Retirar o cartão;
6. Senão
6.1 Repetir;
Fim.
PROGRAMA
Um programa é um Algoritmo escrito em uma linguagem
computacional.
24
SEQUÊNCIAL
DESVIO
25. Algoritmos
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.
25
26. 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
26
27. 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:
27
( ) =+
−+ 135
3
2
(2/3+(5-3))+1=
Tradicional Computacional
28. 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.
28
29. Algoritmos
Exemplo:
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:
29
13 2
61
MOD DIV
13 DIV 2 = 6
13 MOD 2 = 1
Valor Inicial X
Processamento
X=9
x
30. Algoritmos
BIBLIOTECAS DE FUNÇÕES
Armazenam um conjunto de funções que podem ser usadas
pelos programas.
FUNÇÕES PRÉ-DEFINIDAS
ABS( ) VALOR ABSOLUTO
SQRT( ) RAIZ QUADRADA
SQR( ) ELEVA AO QUADRADO
TRUNC( ) VALOR TRUNCADO
ROUND( ) VALOR ARREDONDADO
LOG( ) LOGARITMO
SIN( ) SENO
COS( ) COSENO
TAN( ) TANGENTE
30
Valor Final Y Y=3
31. Algoritmos
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
34. Algoritmos
De acordo com a necessidade, as expressões podem ser
unidas pelos operadores lógicos.
Exemplos:
2+5>4 E 3<>3 Falso
2+5>4 OU 3<>3 Verdadeiro
NÃO(3<>3) Verdadeiro
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
V F
F
E
V
V
V
NÃO
35. 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:
De acordo com a figura acima A e B são Variáveis de
Entrada e C é uma Variável de Saída.
Variável Contador
Uma contagem em um algoritmo é feita por uma variável chamada Contador.
Uma variável contador é uma variável que recebe um valor inicial (geralmente zero) e é incrementada em
algum outro passo do algoritmo, de um valor constante.
Exemplo:
1. CONT = 0
2. --------
3. --------
4. CONT = CONT + 1
No passo 1 inicializou-se a variável CONT.
No passo 4, a variável CONT recebeu um incremento (1, no caso) de forma que ela passa a armazenar a
soma do valor anterior (0) com o incremento (1). Assim, toda a vez que este passo (4) for executado, a
variável CONT armazenará um valor igual a soma do valor anterior com o incremento.
Utilizando a variável contador o algoritmo para calcular a média de cada um dos 30 alunos toma a seguinte
forma:
Este é um exemplo de algoritmo com repetição porque tem alguns de seus passos com execução repetida
(passos 2 até 6).
Variável Acumulador
35
A B C=A+B
752
36. Algoritmos
Suponha-se o seguinte problema:
Calcular a média geral de uma prova de vestibular a qual compareceram 2640 alunos.
Neste caso aparece a necessidade de se acumular (somar) as notas dos 2640 alunos, para depois dividir
esta soma pelo número de alunos que compareceram a prova.
Uma variável acumulador é uma variável que recebe um valor inicial (geralmente 0) e é incrementada em
algum outro passo do algoritmo, de um valor variável.
Exemplo:
1. ACUM = 0
2. --------
3. --------
4. ACUM = ACUM + VAR
No passo 1 inicializou-se a variável ACUM.
No passo 4, somou-se ao valor que estava na variável ACUM o valor que estava na variável VAR, e o
resultado guardou-se (arnazenou-se) na variável ACUM, que assim passa a ter um novo valor.
Utilizando-se a váriável acumulador, o algoritmo para cálculo da média da prova de vestibular toma a
seguinte forma:
36
37. 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.
37
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:
A : INTEIRO
TIPO NOTA=[1..10] DE INTEIRO
TIPO SEMANA = (Segunda-feira, Terça-feira, Quarta-feira,
Quinta-feira, Sexta-feira, Sábado, Domingo)
TIPOS PRIMITIVOS DE DADOS
39
PRIMITIVO
SUB - FAIXA
ESCALAR
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.
40
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
41
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.
42
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.
43
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}
44
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.
45
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)
47
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.
48
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)
49
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;
50
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:
51
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”
52
53. Algoritmos
PROGRAMA REPETICAO;
VAR I:INTEIRO
INICIO
PARA I :=1 ATE 10 FACA
ESCREVER (‘VASCO DA GAMA’)
FIM.
ALGORITMO OITO
Segue um algoritmo que escreve os 100 primeiros 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.
53
VARIÁVEL IMPLEMENTADA DE 1 EM 1
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:
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;
54
VALIDAÇÃO INICIAL
55. Algoritmos
VAR SOMA, SALARIO : REAL;
INICIO
SOMA:=O;
SALARIO:=1;
ENQUANTO SALARIO>=0
INICIO
LER (SALARIO);
SOMA:=SOMA+SALARIO
FIM;
ESCREVER (SOMA)
FIM.
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.
55
TODAS AS VARIÁVEIS QUE ACUMULAM VALORES DEVEM
RECEBER UM VALOR INICIAL.
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;
56
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.
57
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.
58