fundamento da ciência da computação
DESCRIPTION
Objetivos do Estudo da Lógica da Programação e ConceitosTRANSCRIPT
Fundamento da Ciência Fundamento da Ciência da Computaçãoda Computação
Lógica de Programação
©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;