(Parte 1 de 5)

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

“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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

É 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

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

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

INTRODUÇÃO

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.

O objetivo principal da Lógica de Programação é demonstrar técnicas para resolução de problemas e consequentemente automatização de tarefas.

O aprendizado da Lógica é essencial para formação de um bom programador, servindo como base para o aprendizado de todas as linguagens de programação, estruturadas ou não.

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

ALGORITMO

Um Algoritmo é uma seqüência de instruções ordenadas de forma lógica para a resolução de uma determinada tarefa ou problema.

ALGORITMO NÃO COMPUTACIONAL

Abaixo é apresentado um Algoritmo não computacional cujo objetivo é usar um telefone público.

Início

  1. Tirar o fone do gancho;

  2. Ouvir o sinal de linha;

  3. Introduzir o cartão;

  4. Teclar o número desejado;

  5. S

    DESVIO

    e der o sinal de chamar

5.1 Conversar;

5.2 Desligar;

5.3 Retirar o cartão;

6. Senão

6.1 Repetir;

Fim.

PROGRAMA

Um programa é um Algoritmo escrito em uma linguagem computacional.

LINGUAGENS DE PROGRAMAÇÃO

São Softwares que permitem o desenvolvimento de programas. Possuem um poder de criação ilimitado, desde jogos, editores de texto, sistemas empresariais até sistemas operacionais.

Existem várias linguagens de programação, cada uma com suas características próprias.

Exemplos:

  • Pascal

  • Clipper

  • C

  • Visual Basic

  • Delphi e etc.

TÉCNICAS ATUAIS DE PROGRAMAÇÃO

  • Programação Seqüencial

  • Programação Estruturada

  • Programação Orientada a Eventos e Objetos

ALGORITMOS EM “PORTUGOL”

Durante nosso curso iremos aprender a desenvolver nossos Algoritmos em uma pseudo-linguagem conhecida como “Portugol” ou Português Estruturado.

“Portugol” é derivado da aglutinação de Português + Algol. Algol é o nome de uma linguagem de programação estruturada usada no final da década de 50.

OPERADORES ARITMÉTICOS

+  Adição

-  Subtração

*  Multiplicação

/  Divisão

OPERADORES RELACIONAIS

>  Maior que

<  Menor que

>=  Maior ou Igual

<=  Menor ou Igual

=  Igual

<>  Diferente

LINEARIZAÇÃO DE EXPRESSÕES

Para a construção de Algoritmos todas as expressões aritméticas devem ser linearizadas, ou seja, colocadas em linhas.

É importante também ressalvar o uso dos operadores correspondentes da aritmética tradicional para a computacional.

E

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

xemplo:

Tradicional

Computacional

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.

(Parte 1 de 5)

Comentários