Post on 10-Feb-2019
Profa. Wanessa Machado do Amaral
MC 102 – Algoritmos e programação de computadoresProfa. Wanessa Machado do Amaral
Lógica de programação e diagrama de blocos
Profa. Wanessa Machado do Amaral
Definições
Lógica é o estudo filosófico do raciocínio, estudada principalmente nas disciplinas de filosofia, matemática,
semântica e ciência da computação.
Estátua: O Pensador
http://www.americanthinker.com/2010/01/american_thinkers_first_six_ye_1.html
Profa. Wanessa Machado do Amaral
Definições
Lógica de programação é a técnica de encadear pensamentos para atingir determinado objetivo.
Seqüência Lógica são passos executados até atingir um objetivo ou solução de um problema.
Profa. Wanessa Machado do Amaral
Exemplo
Faça uma sequencia lógica para calçar um sapato.
Profa. Wanessa Machado do Amaral
Exemplo
Faça uma sequencia lógica para calçar um sapato.
Instrução #1: Segurar a meia com as mãos. Instrução #2: Colocar o pé dentro da meia. Instrução #3: Ajustar a meia no pé. Instrução #4: Abrir o sapato. Instrução #5: Colocar o pé dentro do sapato. Instrução #6: Amarrar os cadarços.
Profa. Wanessa Machado do Amaral
Definições
Em informática, instrução é a informação que indica a um computador uma ação elementar a executar.
Um programa de computador é uma coleção de instruções que descrevem uma tarefa a ser realizada.
Algoritmo: sequência finita de instruções bem definidas e não ambíguas, cada uma das quais pode ser executada mecanicamente num período de tempo finito e com uma quantidade de esforço finita.
Profa. Wanessa Machado do Amaral
Lógica de programação
A Lógica [na programação] é uma sequência de pensamentos (idéias e argumentos racionais) baseada num conjunto de regras, com o objetivo de representar um raciocício válido.
Uma consequência é que o mesmo resultado pode ser obtido repetindose a mesma sequência de passos logicamente válidos.
Profa. Wanessa Machado do Amaral
Representações
Os algoritmos podem ser representados de várias formas:
● Através de uma língua (português, inglês, etc.): manuais de instruções, receitas culinárias, bulas.
● Representações gráficas: são bastante recomendáveis, já que um "desenho" (fluxograma) muitas vezes substitui, com vantagem, várias palavras.
● Linguagem de programação: Pascal, C, Php, Java.
Profa. Wanessa Machado do Amaral
Importância
Porque devo me preocupar em representar meu programa de maneira adequada?
Profa. Wanessa Machado do Amaral
http://vidadeprogramador.com.Br/2011/03/22/logicadeprogramacao/
Profa. Wanessa Machado do Amaral
Fluxograma ou diagrama de blocos
●Representações gráficas de um algoritmo.
●Utiliza formas geométricas para desenhar a seqüência lógica de um programa.
●Utiliza retas e setas para ligar as figuras geométricas e indicar a direção do fluxo de dados.
Profa. Wanessa Machado do Amaral
Exemplo: Programa para escrever “Ola Mundo”
Profa. Wanessa Machado do Amaral
Exemplo: Programa para escrever “Ola Mundo”
InicioEscreva “Ola Mundo”
Fim
Profa. Wanessa Machado do Amaral
Exemplo: Programa para escrever “Ola Mundo”
InicioEscreva “Ola Mundo”
Fim
inicio fimOla Mundo
Profa. Wanessa Machado do Amaral
Exemplo: Programa para escrever “Ola Mundo”
InicioEscreva “Ola Mundo”
Fim
main(){printf(“Ola Mundo”);
}
inicio fimOla Mundo
Profa. Wanessa Machado do Amaral
Exemplo: Programa para escrever “Ola Mundo”
InicioEscreva “Ola Mundo”
Fim
main(){printf(“Ola Mundo”);
}
inicio fimOla Mundo
ALGORITMO
DIAGRAMA
PROGRAMA
Profa. Wanessa Machado do Amaral
Alguns símbolos do diagrama de blocos
Início (e fim)
Entrada
Decisão
Processamento
Exibição de dados na tela
conector
Profa. Wanessa Machado do Amaral
Exemplo: entrada de dados
InicioLeia idadeEscreva “Ola”
Fim
Main(){ int idade;
scanf(“%d”, &idade);printf(“Ola”);
}
inicio fimOla Leia idade
Profa. Wanessa Machado do Amaral
Exemplo: decisão
Faça um algoritmo para ler duas notas, calcular e exibir a média aritmética das notas. Se a nota for menor que zero, exibir mensagem de nota inválida.
Profa. Wanessa Machado do Amaral
Exemplo
Faça um algoritmo para ler duas notas, calcular e exibir a média aritmética das notas. Se a nota for menor que zero, exibir mensagem de nota inválida.
InicioLeia nota1Se nota1<0
Escreva “nota inválida”Leia nota2Se nota2<0
Escreva “nota inválida”Media = (nota1+nota2)/2Escreva Media
Profa. Wanessa Machado do Amaral
Exemplo
Retirado de http://www.rmfais.com/rmfais/artigos/relatorio.php?titulo=DIAGRAMAS%20DE%20BLOCO%20-%20FLUXOGRAMAS
Faça um algoritmo para ler duas notas, calcular e exibir a média aritmética das notas. Se a nota for menor que zero, exibir mensagem de nota inválida.
InicioLeia nota1Se nota1<0
Escreva “nota inválida”Leia nota2Se nota2<0
Escreva “nota inválida”Media = (nota1+nota2)/2Escreva Media
Profa. Wanessa Machado do Amaral
Pense...
Retirado de http://www.rmfais.com/rmfais/artigos/relatorio.php?titulo=DIAGRAMAS%20DE%20BLOCO%20-%20FLUXOGRAMAS
E como ficaria em C?
InicioLeia nota1Se nota1<0
Escreva “nota inválida”Leia nota2Se nota2<0
Escreva “nota inválida”Media = (nota1+nota2)/2Escreva Media
Profa. Wanessa Machado do Amaral
Repetição
Ler n1
n1<0
sim
Ler n2
Algoritmo para ler n1 e validála, aceitando somente um valor maior que zero.
Como fica em C?
Profa. Wanessa Machado do Amaral
If's aninhados
Profa. Wanessa Machado do Amaral
Porque utilizar diagramas?
● Facilitar o entendimento da lógica do programa.
● Permitir a verificação de possíveis falhas.
● Facilitar manutenções.
● Documentar o programa.
●Compartilhar o programa com outros programadores, de forma a evitar o entendimento erroneo e eliminar ambiguidades.