O documento apresenta um resumo de três frases ou menos de um capítulo sobre lógica de programação de um curso técnico em processamento de dados. O capítulo aborda tópicos como algoritmos, variáveis, operadores e funções.
Tcc Mauricio Bento Ghem 2009 - Proposta de uma Ferramenta de Monitoramento de...
Algoritmo
1. CURSO TÉCNICO EM PROCESSAMENTO
DE DADOS
APOSTILA DE LÓGICA DE PROGRAMAÇÃO
CAP
Criação de Algoritmos e Programas
PROFESSOR RENATO DA COSTA
2. Apostila de Lógica de Programação - Professor Renato da Costa - Última impressão 04/10/1998
03:50:00 PM
“Não
estamos
aqui
para
sobreviver e sim para explorar a
oportunidade
de
vencer
adquirindo o saber!”
R E N A T O
D A
C O S T A
2
3. Apostila de Lógica de Programação - Professor Renato da Costa - Última impressão 04/10/1998
03:50:00 PM
SUMÁRIO
PROFESSOR RENATO DA COSTA..............................................................................................................1
“NÃO ESTAMOS AQUI PARA SOBREVIVER E SIM PARA EXPLORAR A OPORTUNIDADE DE
VENCER ADQUIRINDO O SABER!”...........................................................................................................2
............................................................................................................................................................................2
R E N A T O D A C O S T A ..........................................................................................................................2
INTRODUÇÃO...............................................................................................................................................22
INTRODUÇÃO...............................................................................................................................................22
O TRABALHO A QUE ME PROPUS É RESULTADO DE MINHA EXPERIÊNCIA EM
MINISTRAR A DISCIPLINA CAP (CRIAÇÃO DE ALGORITMOS E PROGRAMAS) DESDE 1996,
MOTIVADO PELA FALTA DE TEXTO RELACIONADO ÀS CONDIÇÕES E NECESSIDADES
DO CURSO......................................................................................................................................................22
O OBJETIVO PRINCIPAL DA LÓGICA DE PROGRAMAÇÃO É DEMONSTRAR TÉCNICAS
PARA RESOLUÇÃO DE PROBLEMAS E CONSEQUENTEMENTE AUTOMATIZAÇÃO DE
TAREFAS.........................................................................................................................................................22
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....................................................22
DE UM MODO GERAL ESSES CONHECIMENTOS SERÃO DE SUPRA IMPORTÂNCIA POIS
AJUDARÃO NO COTIDIANO, DESENVOLVENDO UM RACIOCÍNIO RÁPIDO............................22
PARTINDO DO PRINCÍPIO QUE “A ÚNICA COISA CONSTANTE NO MUNDO É A
MUDANÇA”, FORNEÇO ABAIXO MEU ENDEREÇO ELETRÔNICO PARA QUE VOCÊ POSSA
ME AJUDAR, ENVIANDO CRÍTICAS, ELOGIOS OU SUGESTÕES QUE SERVIRÃO PARA O
ETERNO APRIMORAMENTO DESSE TRABALHO..............................................................................22
RENATO@PROFESSOR.MAILBR.COM.BR............................................................................................22
WWW.RENATODACOSTA.CJB.NET........................................................................................................22
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
3
4. Apostila de Lógica de Programação - Professor Renato da Costa - Última impressão 04/10/1998
03:50:00 PM
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
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
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
4
5. Apostila de Lógica de Programação - Professor Renato da Costa - Última impressão 04/10/1998
03:50:00 PM
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
= 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
MODULARIZAÇÃO DE EXPRESSÕES.....................................................................................................27
MODULARIZAÇÃO DE EXPRESSÕES.....................................................................................................27
5
6. Apostila de Lógica de Programação - Professor Renato da Costa - Última impressão 04/10/1998
03:50:00 PM
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
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( )................................................................................................................................................................29
VALOR ABSOLUTO......................................................................................................................................29
SQRT( ).............................................................................................................................................................29
RAIZ QUADRADA.........................................................................................................................................29
6
7. Apostila de Lógica de Programação - Professor Renato da Costa - Última impressão 04/10/1998
03:50:00 PM
SQR( )...............................................................................................................................................................29
ELEVA AO QUADRADO .............................................................................................................................29
TRUNC( ).........................................................................................................................................................29
VALOR TRUNCADO.....................................................................................................................................29
ROUND( ).........................................................................................................................................................29
VALOR ARREDONDADO............................................................................................................................29
LOG( )...............................................................................................................................................................29
LOGARITMO.................................................................................................................................................29
SIN( ).................................................................................................................................................................29
SENO................................................................................................................................................................29
COS( )...............................................................................................................................................................29
COSENO..........................................................................................................................................................29
TAN( )...............................................................................................................................................................29
TANGENTE.....................................................................................................................................................29
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...................................................................................................................................................................30
OPERADORES LÓGICOS............................................................................................................................30
OPERADORES LÓGICOS............................................................................................................................30
ATUAM SOBRE EXPRESSÕES RETORNANDO SEMPRE VALORES LÓGICOS COMO FALSO
OU VERDADEIRO.........................................................................................................................................30
E.........................................................................................................................................................................30
RETORNA VERDADEIRO SE AMBAS AS PARTES FOREM VERDADEIRAS................................30
OU.....................................................................................................................................................................30
BASTA QUE UMA PARTE SEJA VERDADEIRA PARA RETORNAR VERDADEIRO....................30
NÃO..................................................................................................................................................................30
INVERTE O ESTADO, DE VERDADEIRO PASSA PARA FALSO E VICE-VERSA..........................30
TABELA VERDADE......................................................................................................................................30
TABELA VERDADE......................................................................................................................................30
A........................................................................................................................................................................30
7
8. Apostila de Lógica de Programação - Professor Renato da Costa - Última impressão 04/10/1998
03:50:00 PM
B.........................................................................................................................................................................30
A E B.................................................................................................................................................................30
A OU B..............................................................................................................................................................30
NÃO (A)............................................................................................................................................................30
V........................................................................................................................................................................30
V........................................................................................................................................................................30
V........................................................................................................................................................................30
V........................................................................................................................................................................30
F.........................................................................................................................................................................30
V........................................................................................................................................................................30
F.........................................................................................................................................................................30
F.........................................................................................................................................................................30
V........................................................................................................................................................................30
F.........................................................................................................................................................................30
F.........................................................................................................................................................................30
V........................................................................................................................................................................30
F.........................................................................................................................................................................30
V........................................................................................................................................................................30
V........................................................................................................................................................................30
F.........................................................................................................................................................................30
F.........................................................................................................................................................................30
F.........................................................................................................................................................................30
F.........................................................................................................................................................................30
V........................................................................................................................................................................30
EXPRESSÕES LÓGICAS..............................................................................................................................31
EXPRESSÕES LÓGICAS..............................................................................................................................31
AS EXPRESSÕES COMPOSTAS DE RELAÇÕES SEMPRE RETORNAM UM VALOR LÓGICO.
...........................................................................................................................................................................31
EXEMPLOS:...................................................................................................................................................31
2+5>4 VERDADEIRO...............................................................................................................................32
8
9. Apostila de Lógica de Programação - Professor Renato da Costa - Última impressão 04/10/1998
03:50:00 PM
3<>3 FALSO...............................................................................................................................................32
DE ACORDO COM A NECESSIDADE, AS EXPRESSÕES PODEM SER UNIDAS PELOS
OPERADORES LÓGICOS............................................................................................................................33
EXEMPLOS:...................................................................................................................................................33
2+5>4 E 3<>3 FALSO................................................................................................................................33
2+5>4 OU 3<>3 VERDADEIRO..............................................................................................................33
NÃO(3<>3) VERDADEIRO......................................................................................................................33
VARIÁVEIS.....................................................................................................................................................33
VARIÁVEIS.....................................................................................................................................................33
VARIÁVEIS SÃO ENDEREÇOS DE MEMÓRIA DESTINADOS A ARMAZENAR INFORMAÇÕES
TEMPORARIAMENTE.................................................................................................................................33
* TODO ALGORITMO OU PROGRAMA DEVE POSSUIR VARIÁVEL!............................................33
VARIÁVEIS DE ENTRADA E SAÍDA........................................................................................................34
VARIÁVEIS DE ENTRADA E SAÍDA........................................................................................................34
VARIÁVEIS DE ENTRADA ARMAZENAM INFORMAÇÕES FORNECIDAS POR UM MEIO
EXTERNO, NORMALMENTE USUÁRIOS OU DISCOS........................................................................34
VARIÁVEIS DE SAÍDA ARMAZENAM DADOS PROCESSADOS COMO RESULTADOS.............34
EXEMPLO:......................................................................................................................................................34
DE ACORDO COM A FIGURA ACIMA A E B SÃO VARIÁVEIS DE ENTRADA E C É UMA
VARIÁVEL DE SAÍDA..................................................................................................................................34
CONSTANTES................................................................................................................................................35
CONSTANTES................................................................................................................................................35
CONSTANTES SÃO ENDEREÇOS DE MEMÓRIA DESTINADOS A ARMAZENAR
INFORMAÇÕES FIXAS, INALTERÁVEIS DURANTE A EXECUÇÃO DO PROGRAMA...............35
EXEMPLO:......................................................................................................................................................35
PI = 3.1416........................................................................................................................................................35
IDENTIFICADORES.....................................................................................................................................35
IDENTIFICADORES.....................................................................................................................................35
SÃO OS NOMES DADOS A VARIÁVEIS, CONSTANTES E PROGRAMAS.......................................35
REGRAS PARA CONSTRUÇÃO DE IDENTIFICADORES:..................................................................35
NÃO PODEM TER NOMES DE PALAVRAS RESERVADAS (COMANDOS DA LINGUAGEM);. .35
DEVEM POSSUIR COMO 1º CARACTERE UMA LETRA OU UNDERSCORE ( _ );.......................35
9
10. Apostila de Lógica de Programação - Professor Renato da Costa - Última impressão 04/10/1998
03:50:00 PM
TER COMO DEMAIS CARACTERES LETRAS, NÚMEROS OU UNDERSCORE;...........................35
TER NO MÁXIMO 127 CARACTERES;....................................................................................................35
NÃO POSSUIR ESPAÇOS EM BRANCO;.................................................................................................35
A ESCOLHA DE LETRAS MAIÚSCULAS OU MINÚSCULAS É INDIFERENTE.............................35
EXEMPLOS:...................................................................................................................................................36
NOME...............................................................................................................................................................36
TELEFONE.....................................................................................................................................................36
IDADE_FILHO...............................................................................................................................................36
NOTA1..............................................................................................................................................................36
SALARIO.........................................................................................................................................................36
PI.......................................................................................................................................................................36
UMNOMEMUITOCOMPRIDOEDIFICILDELER...................................................................................36
UM_NOME_MUITO_COMPRIDO_E_FACIL_DE_LER.........................................................................36
TIPOS DE DADOS..........................................................................................................................................37
TIPOS DE DADOS..........................................................................................................................................37
TODAS AS VARIÁVEIS DEVEM ASSUMIR UM DETERMINADO TIPO DE INFORMAÇÃO......37
O TIPO DE DADO PODE SER:....................................................................................................................37
PRIMITIVO PRÉ-DEFINIDO PELA LINGUAGEM;..........................................................................37
SUB-FAIXA É UMA PARTE DE UM TIPO JÁ EXISTENTE;...........................................................37
ESCALAR DEFINIDOS PELO PROGRAMADOR..............................................................................37
EXEMPLOS:...................................................................................................................................................37
A : INTEIRO....................................................................................................................................................37
TIPO NOTA=[1..10] DE INTEIRO...............................................................................................................37
TIPO SEMANA = (SEGUNDA-FEIRA, TERÇA-FEIRA, QUARTA-FEIRA, QUINTA-FEIRA,
SEXTA-FEIRA, SÁBADO, DOMINGO)......................................................................................................37
TIPOS PRIMITIVOS DE DADOS................................................................................................................37
TIPOS PRIMITIVOS DE DADOS................................................................................................................37
INTEIRO..........................................................................................................................................................38
ADMITE SOMENTE NÚMEROS INTEIROS. GERALMENTE É UTILIZADO PARA
REPRESENTAR UMA CONTAGEM (QUANTIDADE)...........................................................................38
10
11. Apostila de Lógica de Programação - Professor Renato da Costa - Última impressão 04/10/1998
03:50:00 PM
REAL................................................................................................................................................................38
ADMITE NÚMEROS REAIS (COM OU SEM CASAS DECIMAIS). GERALMENTE É UTILIZADO
PARA REPRESENTAR UMA MEDIÇÃO..................................................................................................38
CARACTERE..................................................................................................................................................38
ADMITE CARACTERES ALFANUMÉRICOS. OS NÚMEROS QUANDO DECLARADOS COMO
CARACTERES TORNAM SE REPRESENTATIVOS E PERDEM A ATRIBUIÇÃO DE VALOR.. .38
LÓGICO...........................................................................................................................................................38
ADMITE SOMENTE VALORES LÓGICOS(VERDADEIRO/FALSO).................................................38
COMANDOS DE I/O (INPUT/OUTPUT)....................................................................................................38
COMANDOS DE I/O (INPUT/OUTPUT)....................................................................................................38
LER COMANDO DE ENTRADA QUE PERMITE A LEITURA DE VARIÁVEIS DE ENTRADA.
...........................................................................................................................................................................38
ESCREVER COMANDO DE SAÍDA QUE EXIBE UMA INFORMAÇÃO NA TELA DO
MONITOR.......................................................................................................................................................38
IMPRIMIR COMANDO DE SAÍDA QUE ENVIA UMA INFORMAÇÃO PARA A
IMPRESSORA.................................................................................................................................................38
SINAL DE ATRIBUIÇÃO.............................................................................................................................39
SINAL DE ATRIBUIÇÃO.............................................................................................................................39
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 “:=”...................................................................................39
EXEMPLOS:...................................................................................................................................................39
A := 2;...............................................................................................................................................................39
B := 3;................................................................................................................................................................39
C := A + B;........................................................................................................................................................39
SINAL DE IGUALDADE...............................................................................................................................39
SINAL DE IGUALDADE...............................................................................................................................39
AS CONSTANTES SÃO ETERNAMENTE IGUAIS A DETERMINADOS VALORES, PORTANTO
USAMOS O SINAL DE “=”...........................................................................................................................39
EXEMPLOS:...................................................................................................................................................39
PI = 3.1416;.......................................................................................................................................................39
EMPRESA = ‘COLÉGIO DE INFORMÁTICA L.T.D.A.’........................................................................39
V = VERDADEIRO.........................................................................................................................................39
11
12. Apostila de Lógica de Programação - Professor Renato da Costa - Última impressão 04/10/1998
03:50:00 PM
CORPO GERAL DE UM PROGRAMA......................................................................................................40
CORPO GERAL DE UM PROGRAMA......................................................................................................40
PROGRAMA <<IDENTIFICADOR>>;.......................................................................................................40
CONST.............................................................................................................................................................40
<<IDENTIFICADOR>> = <<DADO>>.......................................................................................................40
VAR...................................................................................................................................................................40
<<IDENTIFICADOR>> : <<TIPO>>;........................................................................................................40
ÍNICIO..............................................................................................................................................................40
{ ........................................................................................................................................................................40
COMANDOS DE ENTRADA,PROCESSAMENTO E SAÍDA .................................................................40
<<COMANDO1>>;.........................................................................................................................................40
<<COMANDON>>..........................................................................................................................................40
}..........................................................................................................................................................................40
FIM...................................................................................................................................................................40
ESTRUTURAS SEQÜÊNCIAIS....................................................................................................................40
ESTRUTURAS SEQÜÊNCIAIS....................................................................................................................40
COMO PODE SER ANALISADO NO TÓPICO ANTERIOR, TODO PROGRAMA POSSUI UMA
ESTRUTURA SEQÜENCIAL DETERMINADA POR UM ÍNICIO E FIM...........................................40
..........................................................................................................................................................................40
; PONTO E VÍRGULA ;.................................................................................................................................41
; PONTO E VÍRGULA ;.................................................................................................................................41
O SINAL DE PONTO E VÍRGULA “;” INDICA A EXISTÊNCIA DE UM PRÓXIMO COMANDO
(PASSA PARA O PRÓXIMO).......................................................................................................................41
NA ESTRUTURA ÍNICIO E NO COMANDO QUE ANTECEDE A ESTRUTURA FIM NÃO SE USA
“;”......................................................................................................................................................................41
PRIMEIRO ALGORITMO............................................................................................................................41
PRIMEIRO ALGORITMO............................................................................................................................41
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..........................................41
PROGRAMA MEDIA_FINAL;.....................................................................................................................41
VAR...................................................................................................................................................................41
12
13. Apostila de Lógica de Programação - Professor Renato da Costa - Última impressão 04/10/1998
03:50:00 PM
NOTA1, NOTA2, NOTA3, NOTA4, MEDIA: INTEIRO;..........................................................................41
NOME : CARACTERE [35]..........................................................................................................................41
INICIO..............................................................................................................................................................41
LER (NOME);.................................................................................................................................................41
LER (NOTA1, NOTA2, NOTA3, NOTA4);..................................................................................................41
MEDIA := (NOTA1 + NOTA2 + NOTA3 + NOTA4) / 4;...........................................................................41
ESCREVER (NOME, MEDIA).....................................................................................................................41
FIM...................................................................................................................................................................41
SEGUNDO ALGORITMO.............................................................................................................................42
SEGUNDO ALGORITMO.............................................................................................................................42
SEGUE UM ALGORITMO QUE LÊ O RAIO DE UMA CIRCUNFERÊNCIA E CALCULA SUA
ÁREA................................................................................................................................................................42
PROGRAMA AREA_CIRCUNFERENCIA;...............................................................................................42
CONST PI = 3.1416;........................................................................................................................................42
VAR RAIO, AREA : REAL;..........................................................................................................................42
INICIO..............................................................................................................................................................42
LER (RAIO); {PROCESSAMENTO}..........................................................................................................42
AREA := PI * SQR(RAIO); {ENTRADA} ..................................................................................................42
ESCREVER (‘AREA =’, AREA) {SAÍDA}..................................................................................................42
FIM...................................................................................................................................................................42
{LINHAS DE COMENTÁRIO}.....................................................................................................................42
{LINHAS DE COMENTÁRIO}.....................................................................................................................42
PODEMOS INSERIR EM UM ALGORITMO COMENTÁRIOS PARA AUMENTAR A
COMPREENSÃO DO MESMO, PARA ISSO BASTA QUE O TEXTO FIQUE ENTRE CHAVES
“{}”....................................................................................................................................................................42
EXEMPLO:......................................................................................................................................................42
LER (RAIO); {ENTRADA}............................................................................................................................42
‘ASPAS SIMPLES’.........................................................................................................................................43
‘ASPAS SIMPLES’.........................................................................................................................................43
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......................................................43
13
14. Apostila de Lógica de Programação - Professor Renato da Costa - Última impressão 04/10/1998
03:50:00 PM
EXEMPLO:......................................................................................................................................................43
ESCREVER (‘AREA OBTIDA =’, AREA) {COMANDO DE SAÍDA}....................................................43
AREA OBTIDA = X.XX {RESULTADO GERADO NA TELA}...............................................................43
ESTRUTURAS DE DECISÃO.......................................................................................................................43
ESTRUTURAS DE DECISÃO.......................................................................................................................43
EXECUTA UMA SEQÜÊNCIA DE COMANDOS DE ACORDO COM O RESULTADO DE UM
TESTE..............................................................................................................................................................43
A ESTRUTURA DE DECISÃO PODE SER SIMPLES OU COMPOSTA, BASEADA EM UM
RESULTADO LÓGICO.................................................................................................................................43
SIMPLES:........................................................................................................................................................44
SE <<CONDIÇÃO>>......................................................................................................................................44
ENTÃO <<COMANDO1>>..........................................................................................................................44
COMPOSTA 1:................................................................................................................................................44
SE <<CONDIÇÃO>>......................................................................................................................................44
ENTÃO <<COMANDO1>>..........................................................................................................................44
SENÃO <<COMANDO1>>...........................................................................................................................44
COMPOSTA 2:................................................................................................................................................45
SE <<CONDIÇÃO>>......................................................................................................................................45
ENTÃO INICIO.............................................................................................................................................45
<<COMANDO1>>;.........................................................................................................................................45
<<COMANDON>>..........................................................................................................................................45
FIM;...............................................................................................................................................................45
SENÃO INICIO..............................................................................................................................................45
<<COMANDO1>>; <<COMANDON>>.......................................................................................................45
FIM;...............................................................................................................................................................45
ALGORITMO TRÊS......................................................................................................................................45
ALGORITMO TRÊS......................................................................................................................................45
SEGUE UM ALGORITMO QUE LÊ 2 NÚMEROS E ESCREVE O MAIOR........................................45
PROGRAMA ACHA_MAIOR;.....................................................................................................................45
VAR A, B : INTEIRO;....................................................................................................................................45
14
15. Apostila de Lógica de Programação - Professor Renato da Costa - Última impressão 04/10/1998
03:50:00 PM
INICIO..............................................................................................................................................................45
LER (A, B);.....................................................................................................................................................45
SE A>B.............................................................................................................................................................45
ENTÃO ESCREVER (A)..............................................................................................................................45
SENÃO ESCREVER (B)..............................................................................................................................45
FIM...................................................................................................................................................................46
ALGORITMO QUATRO...............................................................................................................................46
ALGORITMO QUATRO...............................................................................................................................46
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.................................46
MÉDIA PARA APROVAÇÃO = 6................................................................................................................46
PROGRAMA MEDIA_FINAL;.....................................................................................................................46
VAR...................................................................................................................................................................46
NOTA1, NOTA2, NOTA3, NOTA4, MEDIA: REAL;................................................................................46
NOME : CARACTERE [35]..........................................................................................................................46
INICIO..............................................................................................................................................................46
LER (NOME);.................................................................................................................................................46
LER (NOTA1, NOTA2, NOTA3, NOTA4);..................................................................................................46
MEDIA := (NOTA1 + NOTA2 + NOTA3 + NOTA4) / 4;...........................................................................46
SE MEDIA>=6................................................................................................................................................46
ENTÃO ESCREVER (‘APROVADO’).........................................................................................................46
SENÃO ESCREVER (‘REPROVADO’).......................................................................................................46
ESCREVER (NOME, MEDIA)......................................................................................................................46
FIM...................................................................................................................................................................46
NINHOS DE SE...............................................................................................................................................47
NINHOS DE SE...............................................................................................................................................47
USADOS PARA TOMADAS DE DECISÕES PARA MAIS DE 2 OPÇÕES...........................................47
FORMA GERAL:............................................................................................................................................47
SE <<CONDIÇÃO>>......................................................................................................................................47
15
16. Apostila de Lógica de Programação - Professor Renato da Costa - Última impressão 04/10/1998
03:50:00 PM
ENTÃO <<COMANDO1>>..........................................................................................................................47
SENÃO SE <<CONDIÇÃO>>......................................................................................................................47
ENTÃO <<COMANDO1>>........................................................................................................................47
SENÃO <<COMANDO1>>.........................................................................................................................47
ALGORITMO CINCO...................................................................................................................................47
ALGORITMO CINCO...................................................................................................................................47
SEGUE UM ALGORITMO QUE LÊ 3 NÚMEROS E ESCREVE O MAIOR........................................47
PROGRAMA ACHA_MAIOR;.....................................................................................................................47
VAR A, B, C : INTEIRO;...............................................................................................................................47
INICIO..............................................................................................................................................................47
LER (A, B, C);.................................................................................................................................................47
SE (A>B) E (A>C)..........................................................................................................................................47
ENTÃO ESCREVER (A)..............................................................................................................................47
SENÃO SE (B>A) E (B>C)...........................................................................................................................47
ENTÃO ESCREVER (B)................................................................................................................................48
SENÃO ESCREVER (C)................................................................................................................................48
FIM...................................................................................................................................................................48
ESTRUTURAS DE CONDIÇÃO...................................................................................................................48
ESTRUTURAS DE CONDIÇÃO...................................................................................................................48
A ESTRUTURA DE CONDIÇÃO EQÜIVALE A UM NINHO DE SE’S................................................48
FORMA GERAL:............................................................................................................................................48
FACA CASO....................................................................................................................................................48
CASO <<CONDIÇÃO1>>.............................................................................................................................48
<<COMANDO1>>;.......................................................................................................................................48
CASO <<CONDIÇÃON>>............................................................................................................................48
<<COMANDO1>>;.......................................................................................................................................48
OUTROS CASOS...........................................................................................................................................48
<<COMANDO1>>;.......................................................................................................................................48
FIM DE CASO.................................................................................................................................................48
16
17. Apostila de Lógica de Programação - Professor Renato da Costa - Última impressão 04/10/1998
03:50:00 PM
ALGORITMO SEIS........................................................................................................................................48
ALGORITMO SEIS........................................................................................................................................48
SEGUE UM ALGORITMO QUE LÊ 3 NÚMEROS E ESCREVE O MAIOR........................................48
PROGRAMA ACHA_MAIOR;.....................................................................................................................48
VAR A, B, C : INTEIRO;...............................................................................................................................49
INICIO..............................................................................................................................................................49
LER (A, B, C);.................................................................................................................................................49
FACA CASO...................................................................................................................................................49
CASO (A>B) E (A>C).....................................................................................................................................49
ESCREVER (A);...........................................................................................................................................49
CASO (B>A) E (B>C)...................................................................................................................................49
ESCREVER (B);..............................................................................................................................................49
OUTROS CASOS............................................................................................................................................49
ESCREVER (C);..............................................................................................................................................49
FIM DE CASO................................................................................................................................................49
FIM...................................................................................................................................................................49
ESTRUTURA DE REPETIÇÃO DETERMINADA....................................................................................49
ESTRUTURA DE REPETIÇÃO DETERMINADA....................................................................................49
QUANDO UMA SEQÜÊNCIA DE COMANDOS DEVE SER EXECUTADA REPETIDAS VEZES,
TEM-SE UMA ESTRUTURA DE REPETIÇÃO........................................................................................49
A ESTRUTURA DE REPETIÇÃO, ASSIM COMO A DE DECISÃO, ENVOLVE SEMPRE A
AVALIAÇÃO DE UMA CONDIÇÃO..........................................................................................................49
NA REPETIÇÃO DETERMINADA O ALGORITMO APRESENTA PREVIAMENTE A
QUANTIDADE DE REPETIÇÕES...............................................................................................................49
FORMA GERAL 1:.........................................................................................................................................49
PARA <<VARIAVEL DE TIPO INTEIRO>>:=<<VALOR INICIAL>> ATE <<VALOR FINAL>>
FAÇA................................................................................................................................................................50
<<COMANDO1>>;........................................................................................................................................50
FORMA GERAL 2:.........................................................................................................................................50
PARA <<VARIAVEL DE TIPO INTEIRO>>:=<<VALOR INICIAL>> ATE <<VALOR FINAL>>
FAÇA................................................................................................................................................................50
ÍNICIO.............................................................................................................................................................50
17
18. Apostila de Lógica de Programação - Professor Renato da Costa - Última impressão 04/10/1998
03:50:00 PM
<<COMANDO1>>;.........................................................................................................................................50
<<COMANDON>>..........................................................................................................................................50
FIM;.................................................................................................................................................................50
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...................................................................50
ALGORITMO SETE......................................................................................................................................50
ALGORITMO SETE......................................................................................................................................50
SEGUE UM ALGORITMO QUE ESCREVE 10 VEZES A FRASE “VASCO DA GAMA”.................50
PROGRAMA REPETICAO;.........................................................................................................................51
VAR I:INTEIRO.............................................................................................................................................51
INICIO..............................................................................................................................................................51
PARA I :=1 ATE 10 FACA............................................................................................................................51
ESCREVER (‘VASCO DA GAMA’)...........................................................................................................51
FIM...................................................................................................................................................................51
ALGORITMO OITO......................................................................................................................................51
ALGORITMO OITO......................................................................................................................................51
SEGUE UM ALGORITMO QUE ESCREVE OS 100 PRIMEIROS NÚMEROS PARES.....................51
PROGRAMA PARES;....................................................................................................................................51
VAR I,PAR: INTEGER;.................................................................................................................................51
INICIO..............................................................................................................................................................51
PAR:=0;...........................................................................................................................................................51
PARA I:=1 ATE 100 FACA............................................................................................................................51
INICIO............................................................................................................................................................51
ESCREVER (PAR);.....................................................................................................................................51
PAR := PAR+2..............................................................................................................................................51
FIM.................................................................................................................................................................51
FIM..................................................................................................................................................................51
ESTRUTURA DE REPETIÇÃO INDETERMINADA COM VALIDAÇÃO INICIAL..........................52
ESTRUTURA DE REPETIÇÃO INDETERMINADA COM VALIDAÇÃO INICIAL..........................52
18
19. Apostila de Lógica de Programação - Professor Renato da Costa - Última impressão 04/10/1998
03:50:00 PM
É 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...........................................................................................................................................52
FORMA GERAL 1:.........................................................................................................................................52
ENQUANTO <<CONDIÇÃO>> FACA........................................................................................................52
<<COMANDO1>>;........................................................................................................................................52
FORMA GERAL 2:.........................................................................................................................................52
ENQUANTO <<CONDIÇÃO>> FACA........................................................................................................52
ÍNICIO.............................................................................................................................................................52
<<COMANDO1>>;.......................................................................................................................................52
<<COMANDON>>........................................................................................................................................52
FIM;.................................................................................................................................................................52
ALGORITMO NOVE.....................................................................................................................................52
ALGORITMO NOVE.....................................................................................................................................52
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...............................................................................................................................................52
PROGRAMA SOMA_SALARIOS;..............................................................................................................52
VAR SOMA, SALARIO : REAL;..................................................................................................................53
INICIO..............................................................................................................................................................53
SOMA:=O;......................................................................................................................................................53
SALARIO:=1;.................................................................................................................................................53
ENQUANTO SALARIO>=0.........................................................................................................................53
INICIO............................................................................................................................................................53
LER (SALARIO);.........................................................................................................................................53
SOMA:=SOMA+SALARIO........................................................................................................................53
FIM;................................................................................................................................................................53
ESCREVER (SOMA).....................................................................................................................................53
FIM...................................................................................................................................................................53
ESTRUTURA DE REPETIÇÃO INDETERMINADA COM VALIDAÇÃO FINAL.............................53
ESTRUTURA DE REPETIÇÃO INDETERMINADA COM VALIDAÇÃO FINAL.............................53
19
20. Apostila de Lógica de Programação - Professor Renato da Costa - Última impressão 04/10/1998
03:50:00 PM
ASSIM COMO A ESTRUTURA ENQUANTO É USADA PARA REPETIR N VEZES UMA OU
MAIS INSTRUÇÕES. ....................................................................................................................................53
SUA VALIDAÇÃO É FINAL FAZENDO COM QUE A REPETIÇÃO SEJA EXECUTADA PELO
MENOS UMA VEZ.........................................................................................................................................53
FORMA GERAL;............................................................................................................................................54
REPITA............................................................................................................................................................54
<<COMANDO1>>;........................................................................................................................................54
<<COMANDON>>.........................................................................................................................................54
ATE <<CONDIÇÃO>>...................................................................................................................................54
ALGORITMO DEZ........................................................................................................................................54
ALGORITMO DEZ........................................................................................................................................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...................................................................................................................................................................54
SOMA, SALARIO : REAL;...........................................................................................................................54
INICIO..............................................................................................................................................................54
SOMA:=O;......................................................................................................................................................54
REPITA...........................................................................................................................................................54
LER (SALARIO);..........................................................................................................................................54
SOMA:=SOMA+SALARIO.........................................................................................................................54
ATE SALARIO<0;.........................................................................................................................................54
ESCREVER (SOMA).....................................................................................................................................55
FIM...................................................................................................................................................................55
ALGORITMO ONZE.....................................................................................................................................55
ALGORITMO ONZE.....................................................................................................................................55
SEGUE UM ALGORITMO QUE ESCREVE OS 100 PRIMEIROS NÚMEROS PARES.....................55
PROGRAMA PARES_2;................................................................................................................................55
VAR I, PAR, CONTADOR : INTEIRO;......................................................................................................55
INICIO..............................................................................................................................................................55
20
21. Apostila de Lógica de Programação - Professor Renato da Costa - Última impressão 04/10/1998
03:50:00 PM
CONTADOR := 0;..........................................................................................................................................55
PAR := 0;..........................................................................................................................................................55
REPITA............................................................................................................................................................55
ESCREVER (PAR);......................................................................................................................................55
PAR := PAR+2;..............................................................................................................................................55
CONTADOR := CONTADOR+1;...............................................................................................................55
ATE CONTADOR=100.................................................................................................................................55
FIM...................................................................................................................................................................55
PROGRAMAS EQUIVALENTES................................................................................................................56
PROGRAMAS EQUIVALENTES................................................................................................................56
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..............56
EXERCÍCIOS..................................................................................................................................................57
EXERCÍCIOS..................................................................................................................................................57
1)O QUE É UM ALGORITMO?...................................................................................................................57
2)O QUE É UM PROGRAMA?.....................................................................................................................57
3)CRIE UM ALGORITMO NÃO COMPUTACIONAL, QUE TROQUE UM PNEU DE CARRO.....57
4)O QUE É UMA LINGUAGEM DE PROGRAMAÇÃO?........................................................................57
5)LINEARIZE AS EXPRESSÕES ABAIXO:..............................................................................................57
21
22. Apostila de Lógica de Programação - Professor Renato da Costa - Última impressão 04/10/1998
03:50:00 PM
INTRODUÇÃO
O
trabalho
experiência
em
a
que
me
ministrar
propus
a
é
resultado
disciplina
CAP
de
minha
(criação
de
Algoritmos e Programas) desde 1996, motivado pela falta de
texto relacionado às condições e necessidades do curso.
O
objetivo
demonstrar
principal
técnicas
da
para
Lógica
de
resolução
de
Programação
é
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.
De um modo geral esses conhecimentos serão de supra
importância
pois
ajudarão
no
cotidiano,
desenvolvendo
um
raciocínio rápido.
Partindo do princípio que “a única coisa constante no
mundo é a mudança”, forneço abaixo meu endereço eletrônico
para que você possa me ajudar, enviando críticas, elogios ou
sugestões
que
servirão
para
o
eterno
aprimoramento
desse
trabalho.
renato@professor.mailbr.com.br
www.renatodacosta.cjb.net
22
23. Apostila de Lógica de Programação - Professor Renato da Costa - Última impressão 04/10/1998
03:50:00 PM
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;
SEQUÊNCIAL
4. Teclar o número desejado;
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
24. Apostila de Lógica de Programação - Professor Renato da Costa - Última impressão 04/10/1998
03:50:00 PM
PROGRAMA
Um programa é um Algoritmo escrito em uma linguagem
computacional.
LINGUAGENS DE PROGRAMAÇÃO
São
programas.
Softwares
Possuem
que
um
permitem
poder
de
o
desenvolvimento
criação
ilimitado,
de
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
25. Apostila de Lógica de Programação - Professor Renato da Costa - Última impressão 04/10/1998
03:50:00 PM
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”
Algol.
Algol
é
é
derivado
o
nome
de
da
aglutinação
uma
linguagem
de
de
Português
+
programação
estruturada usada no final da década de 50.
OPERADORES ARITMÉTICOS
+
Adição
-
Subtração
*
Multiplicação
/
Divisão
25
26. Apostila de Lógica de Programação - Professor Renato da Costa - Última impressão 04/10/1998
03:50:00 PM
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
correspondentes
também
da
ressalvar
aritmética
o
uso
dos
tradicional
operadores
para
a
computacional.
Exemplo:
2
3 + ( 5 − 3) + 1 =
Tradicional
(2/3+(5-3))+1=
Computacional
26
27. Apostila de Lógica de Programação - Professor Renato da Costa - Última impressão 04/10/1998
03:50:00 PM
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
28. Apostila de Lógica de Programação - Professor Renato da Costa - Última impressão 04/10/1998
03:50:00 PM
Exemplo:
13 2
1
13 DIV 2 = 6
6
MOD
13 MOD 2 = 1
DIV
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
Processamento
X=9
x
28
29. Apostila de Lógica de Programação - Professor Renato da Costa - Última impressão 04/10/1998
03:50:00 PM
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
ABS( )
VALOR ABSOLUTO
SQRT( )
RAIZ QUADRADA
SQR( )
ELEVA AO QUADRADO
TRUNC( )
VALOR TRUNCADO
ROUND( )
VALOR ARREDONDADO
LOG( )
LOGARITMO
SIN( )
SENO
COS( )
COSENO
TAN( )
TANGENTE
29
30. Apostila de Lógica de Programação - Professor Renato da Costa - Última impressão 04/10/1998
03:50:00 PM
As funções acima são as mais comuns e importantes para
nosso
possui
desenvolvimento
suas
lógico,
funções
entretanto,
própias.
As
cada
funções
linguagem
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
30
31. Apostila de Lógica de Programação - Professor Renato da Costa - Última impressão 04/10/1998
03:50:00 PM
EXPRESSÕES LÓGICAS
As expressões compostas de relações sempre retornam um
valor lógico.
Exemplos:
31
32. Apostila de Lógica de Programação - Professor Renato da Costa - Última impressão 04/10/1998
03:50:00 PM
2+5>4 Verdadeiro
3<>3 Falso
32
33. Apostila de Lógica de Programação - Professor Renato da Costa - Última impressão 04/10/1998
03:50:00 PM
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
E
F
2+5>4 OU 3<>3 Verdadeiro
V
V
NÃO(3<>3) Verdadeiro
NÃO
V
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!
33
34. Apostila de Lógica de Programação - Professor Renato da Costa - Última impressão 04/10/1998
03:50:00 PM
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
2
B
5
C=A+B
7
De acordo com a figura acima A e B são Variáveis de
Entrada e C é uma Variável de Saída.
34
35. Apostila de Lógica de Programação - Professor Renato da Costa - Última impressão 04/10/1998
03:50:00 PM
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
números
ou
minúsculas
é
Underscore ( _ );
•
Ter
como
demais
caracteres
letras,
Underscore;
•
Ter no máximo 127 caracteres;
•
Não possuir espaços em branco;
•
A
escolha
de
letras
maiúsculas
ou
indiferente.
35
36. Apostila de Lógica de Programação - Professor Renato da Costa - Última impressão 04/10/1998
03:50:00 PM
Exemplos:
NOME
TELEFONE
IDADE_FILHO
NOTA1
SALARIO
PI
UMNOMEMUITOCOMPRIDOEDIFICILDELER
UM_NOME_MUITO_COMPRIDO_E_FACIL_DE_LER
36
37. Apostila de Lógica de Programação - Professor Renato da Costa - Última impressão 04/10/1998
03:50:00 PM
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.
PRIMITIVO
Exemplos:
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
37
38. Apostila de Lógica de Programação - Professor Renato da Costa - Última impressão 04/10/1998
03:50:00 PM
INTEIRO
ADMITE
SOMENTE
UTILIZADO
NÚMEROS
PARA
INTEIROS.
REPRESENTAR
GERALMENTE
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.
38
39. Apostila de Lógica de Programação - Professor Renato da Costa - Última impressão 04/10/1998
03:50:00 PM
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
39
40. Apostila de Lógica de Programação - Professor Renato da Costa - Última impressão 04/10/1998
03:50:00 PM
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.
40
41. Apostila de Lógica de Programação - Professor Renato da Costa - Última impressão 04/10/1998
03:50:00 PM
; 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.
41
42. Apostila de Lógica de Programação - Professor Renato da Costa - Última impressão 04/10/1998
03:50:00 PM
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}
42
43. Apostila de Lógica de Programação - Professor Renato da Costa - Última impressão 04/10/1998
03:50:00 PM
‘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.
43
44. Apostila de Lógica de Programação - Professor Renato da Costa - Última impressão 04/10/1998
03:50:00 PM
Simples:
Composta 1:
SE <<CONDIÇÃO>>
SE <<CONDIÇÃO>>
ENTÃO <<COMANDO1>>
ENTÃO <<COMANDO1>>
SENÃO <<COMANDO1>>
44
45. Apostila de Lógica de Programação - Professor Renato da Costa - Última impressão 04/10/1998
03:50:00 PM
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)
45
46. Apostila de Lógica de Programação - Professor Renato da Costa - Última impressão 04/10/1998
03:50:00 PM
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.
46
47. Apostila de Lógica de Programação - Professor Renato da Costa - Última impressão 04/10/1998
03:50:00 PM
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)
47
48. Apostila de Lógica de Programação - Professor Renato da Costa - Última impressão 04/10/1998
03:50:00 PM
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;
48
49. Apostila de Lógica de Programação - Professor Renato da Costa - Última impressão 04/10/1998
03:50:00 PM
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:
49
50. Apostila de Lógica de Programação - Professor Renato da Costa - Última impressão 04/10/1998
03:50:00 PM
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
inicial
até
o
por
padrão
valor
final
determina
como
o
sendo
passo
1.
do
valor
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”
50
51. Apostila de Lógica de Programação - Professor Renato da Costa - Última impressão 04/10/1998
03:50:00 PM
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.
51