3. Objetivos do Estudo da Lógica da Programação
Conceitos
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:
3
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
5
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
6
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.
7
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
8
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.
9
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
Seta de
Orientação
do Fluxo Saída de
Dados via
Conector Tela
10
11. Fluxograma – Construção
PROBLEMA
ANÁLISE PRELIMINAR
SOLUÇÃO
ERRO
TESTE DE QUALIDADE ALTERAÇÃO
OK
PRODUTO FINAL
11
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
12
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.
13
14. Algoritmo não Computacional
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.
14
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
15
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
16
17. É importante também ressalvar o uso dos operadores
correspondentes da aritmética tradicional para a
computacional.
Exemplo:
2
3 +(5 − )+ =
3 1 (2/3+(5-3))+1=
Tradicional Computacional
17
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
18
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 Falso
De acordo com a necessidade, as
expressões podem ser unidas pelos
operadores lógicos.
19
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. 20
21. Variáveis
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.
21
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.
22
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.
23
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.
24
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.
25
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. 26
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}
27
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.
28
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: Composta 1:
SE <<CONDIÇÃO>> SE <<CONDIÇÃO>>
ENTÃO <<COMANDO1>> ENTÃO <<COMANDO1>>
SENÃO <<COMANDO1>>
29
30. Estrutura de Decisão
COMPOSTA 2:
SE <<CONDIÇÃO>>
ENTÃO INICIO
<<COMANDO1>>;
<<COMANDON>>
FIM;
SENÃO INICIO
<<COMANDO1>>; <<COMANDON>>
FIM;
30
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.
31
32. 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 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. 32
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.
33
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.
34
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;
35