fundamento da ciência da computação

35
Fundamento da Ciência Fundamento da Ciência da Computação da Computação Lógica de Programação ©2001 ERA – CONSULTORIA

Upload: marcos-gregorio

Post on 05-Jul-2015

1.495 views

Category:

Education


2 download

DESCRIPTION

Objetivos do Estudo da Lógica da Programação e Conceitos

TRANSCRIPT

Fundamento da Ciência Fundamento da Ciência da Computaçãoda Computação

Lógica de Programação

©2001 ERA – CONSULTORIA

Lógica Lógica de de

ProgramaçãoProgramação

Por Edson Lima

©2001 ERA – CONSULTORIA

3

Objetivos do Estudo da Lógica da ProgramaçãoConceitos

Problema: É uma questão que foge a uma determinada regra, a

qual impede de atingir com sucesso um determinado objetivo

Programação estruturada: Metodologia que permite a agilização da escrita da

programação, a verificação de possíveis falhas apresentadas pelos programadores e facilita as alterações e atualizações dos programas. Consiste em quatro passos:

4

Fundamentos de Processamento de Dados

Estudo da Lógica da Programação

©2001 ERA – CONSULTORIA Copia liberada apenas para os alunos da Turma dos Professores [Edison Ricardo, Irineu, Reginaldo Tadeu Soeiro de Faria, Edson Flora] matéria

de Fundamentos de Processamento de Dados , não autorizada para qualquer outro fins sem antes contatar formalmente ERA - Consultoria.

E.R.A. – ConsultoriaE-mail [email protected]

Todos os direitos reservados. Proibida a reprodução total ou parcial, por qualquer meio ou processo, especialmente por sistemas gráficos, microfilmes fotográficos, reprográficos, fonográficos. A violação dos direitos autorais é punível como crime (art. 184 e parágrafos, do Código Penal, cf Lei r? 6.895, de 17.12.80) com pena de prisão e multa, conjuntamente com busca e apreensão e indenizações diversas (artigos 122, 123, 124, 126, da Lei n` 5.988, de 14.12.73, Lei dos Direitos Autorais).

5

Princípios de Resolução de Problemas

Entender o problema

Escrever um algoritmo para indicar os passos que resolverão este problema

Representar graficamente a solução através de um diagrama de blocos

Estruturar a solução utilizando uma linguagem de programação

6

Passos da Lógica de Programação

Escrever as instruções em seqüências ligadas entre si apenas por estruturas seqüenciais.

Escrever instruções em grupos pequenos e combiná-las

Distribuir módulos do programa entre os diferentes programadores que trabalharão sobre a supervisão de um programador sênior, ou chefe de programação

Revisar o trabalho executado em reuniões regulares e previamente programadas

7

Nomenclaturas

Algoritmo: regras para obtenção de um

resultado ou solução de um problema

LÓGICA: Ordenação do pensamento/correção do raciocínio

Diagrama de bloco: Contém símbolos que descrevem o método e a seqüência do processo do plano em um computador.

8

Diagramas de Blocos - Fluxograma

Podem ser quebrados em vários níveis

Devem ser feitos de cima para baixo

As linhas de fluxos de dados não devem se cruzar

Terá como objetivo a transcrição em uma linguagem de programação

9

Algorítimo/Instruções

ALGORÍTIMO É uma seqüência finita de ações/instruções que

descrevem como um problema deve ser resolvido. Quando as ações de um algoritmo obedecem à

sintaxe de uma linguagem de programação passamos a chamá-lo de PROGRAMA.

INSTRUÇÕES(ordens) São frases que indicam ações a serem executadas.

São compostas por um verbo no imperativo mais um complemento.

10

Fluxograma

Definição - Descreve a seqüência de passos para a resolução de um problema através de símbolos gráficos. A seguir os símbolos mais comuns:

Início e Fim de Rotina Processamento

Entrada de Dados Via

Teclado Decisão

Saída de Dados via

Tela

Seta de Orientação do Fluxo

Conector

11

Fluxograma – Construção

PROBLEMA

ANÁLISE PRELIMINAR

SOLUÇÃO

TESTE DE QUALIDADE

PRODUTO FINAL

ALTERAÇÃO

ERRO

OK

12

Tipos de Processamento

Processamento Seqüencial : as instruções em um algoritmo são executadas uma após a outra, sem que haja desvio na seqüência das instruções .

Processamento com Repetição : conjunto de instruções (ou uma só) que é executado um determinado número de vezes.

Processamento Condicional : o conjunto de instruções (ou uma só) é executado ou não. A sua execução depende de uma condição

13

Algoritmo

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

14

Algoritmo não Computacional

Início

1. Tirar o fone do gancho;

2. Ouvir o sinal de linha;

3. Introduzir o cartão;

4. Teclar o número desejado;

5. Se der o sinal de chamar

5.1 Conversar;

5.2 Desligar;

5.3 Retirar o cartão;

6. Senão

6.1 Repetir;

Fim.

SEQUÊNCIAL

DESVIO

15

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

16

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

17

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

computacional.

Exemplo:

( ) =+

−+ 1353

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

Tradicional Computacional

18

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.

Prioridade dentro das expressões

Exemplos de prioridades:

(2+2)/2=2

2+2/2=3

19

Expressões Lógicas

As expressões compostas de relações sempre retornam um valor lógico.

Exemplos:

2+5>4 Verdadeiro 3<>3 FalsoDe acordo com a necessidade, as

expressões podem ser unidas pelos operadores lógicos.

20

Tipos de Dados O computador é uma ferramenta utilizada para solucionar

problemas que envolvam manipulações de informações, dados e instruções.

Estes dados podem ser:

Reais: Dados numéricos positivos, negativos e números fracionários

Inteiros – Admitem somente números inteiros e são utilizados para representa contagens (Quantidade)

Caracteres: Seqüências contendo letras, números e símbolos.

Lógicos: Dados boleanos que representam valores mutuamente exclusivos de verdadeiro e falso.

21

São endereços de memória destinados a armazenar informações temporariamente.

Embora uma variável possa assumir diferentes valores, ela só pode armazenar um único valor de cada vez.

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 = 5 B = 6 C = A+ B => C=11

De acordo com o exemplo acima A e B são Variáveis de Entrada e C é uma Variável de Saída.

Variáveis

22

Identificadores

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

Regras Para construção de Identificadores:

Toda variável possui um nome que tem a função de diferenciá-la das demais. Cada linguagem de programação estabelece suas próprias regras de formação de nomes das variáveis.

23

Identificadores

Não podem ter nomes de palavras reservadas (comandos da linguagem);

Devem possuir como 1º caractere uma letra ou Underscore (_ );

Ter como demais caracteres letras, números ou Underscore;

Não possuir espaços em branco;

A escolha de letras maiúsculas ou minúsculas é indiferente.

As variáveis tem uma regra que é a seguinte : Deve começar com uma letra e não deve ultrapassar 255 caracteres e também não pode ter ponto.

24

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 (raio da circunferência)

As vezes durante a elaboração de um programa, faz-se necessário a utilização de constantes para facilitar e evitar a repetição de linhas de códigos dentro do programa.

25

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

26

Exemplo de um ALGORITMO

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; CRIAR VARIAVEIS

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

NOME : CARACTERES [35]

INICIO

LER (NOME);

LER (NOTA1, NOTA2, NOTA3, NOTA4);

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

ESCREVER (NOME, MEDIA)

FIM.

27

Linha 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; {ENTRADA}

‘ASPAS SIMPLES’

Quando queremos exibir uma mensagem para a tela ou impressora ela deve estar contida entre aspas simples

Exemplo:

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

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

28

Estrutura de Repetição

Permite que uma seqüência de comandos seja executada repetidamente até que uma determinada condição de interrupção seja satisfeita.

Para interrupção, usamos uma variável servindo como contador ou um Flag.

Contador – É utilizado para contar o número de ocorrências e quando é atingido, o seu limite definido, ele serve de interruptor da repetição. Seu incremento ou decremento é uma constante.

Flag – É utilizado para indicar o fim da repetição. Esse indicador não deve ser processado (alterado) durante o fluxo normal dos dados.

29

Estrutura de Decisão

Executa uma seqüência de comandos de acordo com o resultado de um teste.

A estrutura de decisão pode ser Simples ou Composta, baseada em um resultado lógico.

Simples:

SE <<CONDIÇÃO>>

ENTÃO <<COMANDO1>>

Composta 1:

SE <<CONDIÇÃO>>

ENTÃO <<COMANDO1>>

SENÃO <<COMANDO1>>

30

Estrutura de Decisão

COMPOSTA 2:

SE <<CONDIÇÃO>>

ENTÃO INICIO

<<COMANDO1>>;

<<COMANDON>>

FIM;

SENÃO INICIO

<<COMANDO1>>; <<COMANDON>>

FIM;

31

Algoritmo

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)

FIM.

32

AlgoritmoAlgoritmo 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 : CARACTER [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.

33

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.

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.

34

Exemplo

ALgoritmo que escreve 10 vezes a frase “BRASIL”

PROGRAMA REPETICAO;

VAR I:INTEIRO

INICIO

PARA I :=1 ATE 10 FACA

ESCREVER (‘BRASIL’)

FIM.

35

Estrutura de Repetição Indeterminada com validação Inicial

É usada para repetir N vezes uma ou mais instruções. Tendo como vantagem o fato de não ser necessário o conhecimento prévio do número de repetições.

Forma Geral 1:

ENQUANTO <<CONDIÇÃO>> FACA

<<COMANDO1>>;

Forma Geral 2:

ENQUANTO <<CONDIÇÃO>> FACA

ÍNICIO

<<COMANDO1>>;

<<COMANDON>>

FIM;