SlideShare una empresa de Scribd logo
1 de 58
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Curso técnico em processamento de dados apostila lógica programação
Curso técnico em processamento de dados apostila lógica programação
Curso técnico em processamento de dados apostila lógica programação
Curso técnico em processamento de dados apostila lógica programação
Curso técnico em processamento de dados apostila lógica programação
Curso técnico em processamento de dados apostila lógica programação
Curso técnico em processamento de dados apostila lógica programação

Más contenido relacionado

La actualidad más candente

Cursos abeline-secretariado
Cursos abeline-secretariadoCursos abeline-secretariado
Cursos abeline-secretariadoJanine Silva
 
Querer é Poder I
Querer é Poder IQuerer é Poder I
Querer é Poder IProfmaria
 
Curso de Direito Processual Penal para Carreira Jurídica 2019
Curso de Direito Processual Penal para Carreira Jurídica 2019Curso de Direito Processual Penal para Carreira Jurídica 2019
Curso de Direito Processual Penal para Carreira Jurídica 2019Estratégia Carreira Jurídica
 
Curso de Direito Processual Penal para Procurador da República 2019
Curso de Direito Processual Penal para Procurador da República 2019Curso de Direito Processual Penal para Procurador da República 2019
Curso de Direito Processual Penal para Procurador da República 2019Estratégia Carreira Jurídica
 
Apostila para trabalhar números até 50
Apostila para trabalhar números até 50Apostila para trabalhar números até 50
Apostila para trabalhar números até 50Isa ...
 
Curso de Direito Processual Penal para Promotor de Justiça 2019
Curso de Direito Processual Penal para Promotor de Justiça 2019Curso de Direito Processual Penal para Promotor de Justiça 2019
Curso de Direito Processual Penal para Promotor de Justiça 2019Estratégia Carreira Jurídica
 
Chico xavier a luz da oração - diversos
Chico xavier   a luz da oração - diversosChico xavier   a luz da oração - diversos
Chico xavier a luz da oração - diversoshavatar
 
Exito quantico sandra_anne_taylor
Exito quantico sandra_anne_taylorExito quantico sandra_anne_taylor
Exito quantico sandra_anne_taylorAnna Coelho
 
Apostila Desenho Técnico, CArtografia e Topografia
Apostila  Desenho Técnico, CArtografia e TopografiaApostila  Desenho Técnico, CArtografia e Topografia
Apostila Desenho Técnico, CArtografia e TopografiaProfessor Renato Mascarenhas
 
Apostila estatistica 2004_2
Apostila estatistica 2004_2Apostila estatistica 2004_2
Apostila estatistica 2004_2Míriam Pimenta
 

La actualidad más candente (17)

Cursos abeline-secretariado
Cursos abeline-secretariadoCursos abeline-secretariado
Cursos abeline-secretariado
 
Querer é Poder I
Querer é Poder IQuerer é Poder I
Querer é Poder I
 
Curso de Direito Penal para Carreira Jurídica 2019
Curso de Direito Penal para Carreira Jurídica 2019Curso de Direito Penal para Carreira Jurídica 2019
Curso de Direito Penal para Carreira Jurídica 2019
 
Curso de Direito Processual Penal para Carreira Jurídica 2019
Curso de Direito Processual Penal para Carreira Jurídica 2019Curso de Direito Processual Penal para Carreira Jurídica 2019
Curso de Direito Processual Penal para Carreira Jurídica 2019
 
Topografia
TopografiaTopografia
Topografia
 
Fortran
FortranFortran
Fortran
 
Curso de Direito Processual Penal para Procurador da República 2019
Curso de Direito Processual Penal para Procurador da República 2019Curso de Direito Processual Penal para Procurador da República 2019
Curso de Direito Processual Penal para Procurador da República 2019
 
Apostila para trabalhar números até 50
Apostila para trabalhar números até 50Apostila para trabalhar números até 50
Apostila para trabalhar números até 50
 
Curso de Direito Penal para Concursos de Juiz
Curso de Direito Penal para Concursos de JuizCurso de Direito Penal para Concursos de Juiz
Curso de Direito Penal para Concursos de Juiz
 
Curso de Direito Processual Penal para Promotor de Justiça 2019
Curso de Direito Processual Penal para Promotor de Justiça 2019Curso de Direito Processual Penal para Promotor de Justiça 2019
Curso de Direito Processual Penal para Promotor de Justiça 2019
 
Curso de Direito Penal para Promotor de Justiça 2019
Curso de Direito Penal para Promotor de Justiça 2019Curso de Direito Penal para Promotor de Justiça 2019
Curso de Direito Penal para Promotor de Justiça 2019
 
Chico xavier a luz da oração - diversos
Chico xavier   a luz da oração - diversosChico xavier   a luz da oração - diversos
Chico xavier a luz da oração - diversos
 
Didática TIC & RED
Didática TIC & RED Didática TIC & RED
Didática TIC & RED
 
Apostila ARC GIS
Apostila ARC GISApostila ARC GIS
Apostila ARC GIS
 
Exito quantico sandra_anne_taylor
Exito quantico sandra_anne_taylorExito quantico sandra_anne_taylor
Exito quantico sandra_anne_taylor
 
Apostila Desenho Técnico, CArtografia e Topografia
Apostila  Desenho Técnico, CArtografia e TopografiaApostila  Desenho Técnico, CArtografia e Topografia
Apostila Desenho Técnico, CArtografia e Topografia
 
Apostila estatistica 2004_2
Apostila estatistica 2004_2Apostila estatistica 2004_2
Apostila estatistica 2004_2
 

Destacado

Concurso da PM - Geografia Produção e Organização do Espaço Paraibano
Concurso da PM - Geografia Produção e Organização do Espaço ParaibanoConcurso da PM - Geografia Produção e Organização do Espaço Paraibano
Concurso da PM - Geografia Produção e Organização do Espaço ParaibanoColégio Certo - Rio Tinto/PB
 
Prova concurso pm ms 2003
Prova concurso pm ms 2003Prova concurso pm ms 2003
Prova concurso pm ms 2003N3 Treinamentos
 
Apostila Concurso PM RR 2012 Grátis - Editora Tradição
Apostila Concurso PM RR 2012 Grátis - Editora TradiçãoApostila Concurso PM RR 2012 Grátis - Editora Tradição
Apostila Concurso PM RR 2012 Grátis - Editora TradiçãoEditora Tradição
 
Estatuto da Criança e Adolescente ECA - Uma visão abrangente
Estatuto da Criança e Adolescente ECA - Uma visão abrangenteEstatuto da Criança e Adolescente ECA - Uma visão abrangente
Estatuto da Criança e Adolescente ECA - Uma visão abrangenteAlisson Soares
 
How to think like a startup
How to think like a startupHow to think like a startup
How to think like a startupLoic Le Meur
 
32 Ways a Digital Marketing Consultant Can Help Grow Your Business
32 Ways a Digital Marketing Consultant Can Help Grow Your Business32 Ways a Digital Marketing Consultant Can Help Grow Your Business
32 Ways a Digital Marketing Consultant Can Help Grow Your BusinessBarry Feldman
 
Teaching Students with Emojis, Emoticons, & Textspeak
Teaching Students with Emojis, Emoticons, & TextspeakTeaching Students with Emojis, Emoticons, & Textspeak
Teaching Students with Emojis, Emoticons, & TextspeakShelly Sanchez Terrell
 
Hype vs. Reality: The AI Explainer
Hype vs. Reality: The AI ExplainerHype vs. Reality: The AI Explainer
Hype vs. Reality: The AI ExplainerLuminary Labs
 

Destacado (11)

Concurso da PM - Geografia Produção e Organização do Espaço Paraibano
Concurso da PM - Geografia Produção e Organização do Espaço ParaibanoConcurso da PM - Geografia Produção e Organização do Espaço Paraibano
Concurso da PM - Geografia Produção e Organização do Espaço Paraibano
 
Apostila adm pm es
Apostila  adm pm esApostila  adm pm es
Apostila adm pm es
 
Cfsd 2010 aula 1ppt
Cfsd 2010 aula 1pptCfsd 2010 aula 1ppt
Cfsd 2010 aula 1ppt
 
Prova concurso pm ms 2003
Prova concurso pm ms 2003Prova concurso pm ms 2003
Prova concurso pm ms 2003
 
Apostila Concurso PM RR 2012 Grátis - Editora Tradição
Apostila Concurso PM RR 2012 Grátis - Editora TradiçãoApostila Concurso PM RR 2012 Grátis - Editora Tradição
Apostila Concurso PM RR 2012 Grátis - Editora Tradição
 
Estatuto da Criança e Adolescente ECA - Uma visão abrangente
Estatuto da Criança e Adolescente ECA - Uma visão abrangenteEstatuto da Criança e Adolescente ECA - Uma visão abrangente
Estatuto da Criança e Adolescente ECA - Uma visão abrangente
 
Inaugural Addresses
Inaugural AddressesInaugural Addresses
Inaugural Addresses
 
How to think like a startup
How to think like a startupHow to think like a startup
How to think like a startup
 
32 Ways a Digital Marketing Consultant Can Help Grow Your Business
32 Ways a Digital Marketing Consultant Can Help Grow Your Business32 Ways a Digital Marketing Consultant Can Help Grow Your Business
32 Ways a Digital Marketing Consultant Can Help Grow Your Business
 
Teaching Students with Emojis, Emoticons, & Textspeak
Teaching Students with Emojis, Emoticons, & TextspeakTeaching Students with Emojis, Emoticons, & Textspeak
Teaching Students with Emojis, Emoticons, & Textspeak
 
Hype vs. Reality: The AI Explainer
Hype vs. Reality: The AI ExplainerHype vs. Reality: The AI Explainer
Hype vs. Reality: The AI Explainer
 

Similar a Curso técnico em processamento de dados apostila lógica programação

Ncl e Lua - desenvolvendo aplicações interativas para tv digital
Ncl e Lua - desenvolvendo aplicações interativas para tv digitalNcl e Lua - desenvolvendo aplicações interativas para tv digital
Ncl e Lua - desenvolvendo aplicações interativas para tv digitalRafael Carvalho
 
Apostila de-gerenciamento-de-risco
Apostila de-gerenciamento-de-riscoApostila de-gerenciamento-de-risco
Apostila de-gerenciamento-de-riscoProf Brasil brasil
 
Usando a tecnologia em benefício do seu negócio_Apostila by Rosane Severo
Usando a tecnologia em benefício do seu negócio_Apostila by Rosane SeveroUsando a tecnologia em benefício do seu negócio_Apostila by Rosane Severo
Usando a tecnologia em benefício do seu negócio_Apostila by Rosane SeveroRosane Severo
 
Apostila clp final
Apostila clp finalApostila clp final
Apostila clp finalSamuel R
 
Curso de logica_e_programacao
Curso de logica_e_programacaoCurso de logica_e_programacao
Curso de logica_e_programacaoFelipe Pereira
 
Auto cad2007 topografia
Auto cad2007 topografiaAuto cad2007 topografia
Auto cad2007 topografiadaasob
 
Apostila de-gerenciamento-de-risco
Apostila de-gerenciamento-de-riscoApostila de-gerenciamento-de-risco
Apostila de-gerenciamento-de-riscoco100za
 
Excel_2007_Nivel2
Excel_2007_Nivel2Excel_2007_Nivel2
Excel_2007_Nivel2trusterjb
 
Dissertation: Genetic Algorithms as a pre processing strategy for imbalanced ...
Dissertation: Genetic Algorithms as a pre processing strategy for imbalanced ...Dissertation: Genetic Algorithms as a pre processing strategy for imbalanced ...
Dissertation: Genetic Algorithms as a pre processing strategy for imbalanced ...marcelobeckmann
 
Apostila Linguagem C
Apostila Linguagem CApostila Linguagem C
Apostila Linguagem Cinfo_cimol
 
Apostila completa-html
Apostila completa-htmlApostila completa-html
Apostila completa-htmlKleiton Araujo
 
Apostila ata informatica_julio_alves
Apostila ata informatica_julio_alvesApostila ata informatica_julio_alves
Apostila ata informatica_julio_alvesYara Grasielle
 
Tcc Mauricio Bento Ghem 2009 - Versão Final
Tcc Mauricio Bento Ghem 2009 - Versão FinalTcc Mauricio Bento Ghem 2009 - Versão Final
Tcc Mauricio Bento Ghem 2009 - Versão Finalimpalador69
 
Tcc Mauricio Bento Ghem 2009 - Proposta de uma Ferramenta de Monitoramento de...
Tcc Mauricio Bento Ghem 2009 - Proposta de uma Ferramenta de Monitoramento de...Tcc Mauricio Bento Ghem 2009 - Proposta de uma Ferramenta de Monitoramento de...
Tcc Mauricio Bento Ghem 2009 - Proposta de uma Ferramenta de Monitoramento de...bentow
 

Similar a Curso técnico em processamento de dados apostila lógica programação (20)

Ncl e Lua - desenvolvendo aplicações interativas para tv digital
Ncl e Lua - desenvolvendo aplicações interativas para tv digitalNcl e Lua - desenvolvendo aplicações interativas para tv digital
Ncl e Lua - desenvolvendo aplicações interativas para tv digital
 
Sql
SqlSql
Sql
 
Apostila de-gerenciamento-de-risco
Apostila de-gerenciamento-de-riscoApostila de-gerenciamento-de-risco
Apostila de-gerenciamento-de-risco
 
Php
PhpPhp
Php
 
Usando a tecnologia em benefício do seu negócio_Apostila by Rosane Severo
Usando a tecnologia em benefício do seu negócio_Apostila by Rosane SeveroUsando a tecnologia em benefício do seu negócio_Apostila by Rosane Severo
Usando a tecnologia em benefício do seu negócio_Apostila by Rosane Severo
 
Apostila clp final
Apostila clp finalApostila clp final
Apostila clp final
 
Curso de logica_e_programacao
Curso de logica_e_programacaoCurso de logica_e_programacao
Curso de logica_e_programacao
 
Grafoes-cap1e2.pdf
Grafoes-cap1e2.pdfGrafoes-cap1e2.pdf
Grafoes-cap1e2.pdf
 
Html
HtmlHtml
Html
 
Auto cad2007 topografia
Auto cad2007 topografiaAuto cad2007 topografia
Auto cad2007 topografia
 
Web developer
Web developerWeb developer
Web developer
 
Apostila de-gerenciamento-de-risco
Apostila de-gerenciamento-de-riscoApostila de-gerenciamento-de-risco
Apostila de-gerenciamento-de-risco
 
Excel_2007_Nivel2
Excel_2007_Nivel2Excel_2007_Nivel2
Excel_2007_Nivel2
 
Dissertation: Genetic Algorithms as a pre processing strategy for imbalanced ...
Dissertation: Genetic Algorithms as a pre processing strategy for imbalanced ...Dissertation: Genetic Algorithms as a pre processing strategy for imbalanced ...
Dissertation: Genetic Algorithms as a pre processing strategy for imbalanced ...
 
Apostila Linguagem C
Apostila Linguagem CApostila Linguagem C
Apostila Linguagem C
 
Apostila completa-html
Apostila completa-htmlApostila completa-html
Apostila completa-html
 
Landeiro introducao
Landeiro introducaoLandeiro introducao
Landeiro introducao
 
Apostila ata informatica_julio_alves
Apostila ata informatica_julio_alvesApostila ata informatica_julio_alves
Apostila ata informatica_julio_alves
 
Tcc Mauricio Bento Ghem 2009 - Versão Final
Tcc Mauricio Bento Ghem 2009 - Versão FinalTcc Mauricio Bento Ghem 2009 - Versão Final
Tcc Mauricio Bento Ghem 2009 - Versão Final
 
Tcc Mauricio Bento Ghem 2009 - Proposta de uma Ferramenta de Monitoramento de...
Tcc Mauricio Bento Ghem 2009 - Proposta de uma Ferramenta de Monitoramento de...Tcc Mauricio Bento Ghem 2009 - Proposta de uma Ferramenta de Monitoramento de...
Tcc Mauricio Bento Ghem 2009 - Proposta de uma Ferramenta de Monitoramento de...
 

Curso técnico em processamento de dados apostila lógica programação

  • 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