MC 102 – Algoritmos e programação de computadores Profa. 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 repetindo­se 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 /logica­de­programacao/ 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” Inicio Escreva “Ola Mundo” Fim Profa. Wanessa Machado do Amaral Exemplo: Programa para escrever “Ola Mundo” Inicio Escreva “Ola Mundo” Fim inicio Ola Mundo Profa. Wanessa Machado do Amaral fim Exemplo: Programa para escrever “Ola Mundo” Inicio Escreva “Ola Mundo” Fim inicio Ola Mundo main(){ printf(“Ola Mundo”); } Profa. Wanessa Machado do Amaral fim Exemplo: Programa para escrever “Ola Mundo” Inicio Escreva “Ola Mundo” Fim inicio Ola Mundo ALGORITMO fim DIAGRAMA main(){ printf(“Ola Mundo”); } Profa. Wanessa Machado do Amaral PROGRAMA Alguns símbolos do diagrama de blocos Início (e fim) Exibição de dados na tela Entrada conector Decisão Processamento Profa. Wanessa Machado do Amaral Exemplo: entrada de dados Inicio Leia idade Escreva “Ola” Fim inicio Leia idade Ola Main(){ int idade; scanf(“%d”, &idade); printf(“Ola”); Profa. Wanessa Machado do Amaral } fim 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. Inicio Leia nota1 Se nota1<0 Escreva “nota inválida” Leia nota2 Se nota2<0 Escreva “nota inválida” Media = (nota1+nota2)/2 Escreva Media 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. Inicio Leia nota1 Se nota1<0 Escreva “nota inválida” Leia nota2 Se nota2<0 Escreva “nota inválida” Media = (nota1+nota2)/2 Escreva Media Profa. Wanessa Machado do Amaral Retirado de http://www.rmfais.com/rmfais/artigos/relatorio.php?titulo=DIAGRAMAS%20DE%20BLOCO%20-%20FLUXOGRAMAS Pense... E como ficaria em C? Inicio Leia nota1 Se nota1<0 Escreva “nota inválida” Leia nota2 Se nota2<0 Escreva “nota inválida” Media = (nota1+nota2)/2 Escreva Media Profa. Wanessa Machado do Amaral Retirado de http://www.rmfais.com/rmfais/artigos/relatorio.php?titulo=DIAGRAMAS%20DE%20BLOCO%20-%20FLUXOGRAMAS Repetição Algoritmo para ler n1 e validá­ la, aceitando somente um valor maior que zero. Ler n1 sim n1<0 Como fica em C? Ler n2 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. ● Profa. Wanessa Machado do Amaral