25
 Profa. Wanessa Machado do Amaral MC 102 – Algoritmos e programação de computadores Profa. Wanessa Machado do Amaral Lógica de programação e diagrama de blocos

MC 102 – Algoritmos e programação de computadores Profa ...wmamaral/mc102/files/aulaDiagramas.pdf · Lógica de programação A Lógica [na programação] é uma sequência de

Embed Size (px)

Citation preview

Page 1: MC 102 – Algoritmos e programação de computadores Profa ...wmamaral/mc102/files/aulaDiagramas.pdf · Lógica de programação A Lógica [na programação] é uma sequência de

 

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

Page 2: MC 102 – Algoritmos e programação de computadores Profa ...wmamaral/mc102/files/aulaDiagramas.pdf · Lógica de programação A Lógica [na programação] é uma sequência de

 

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

Page 3: MC 102 – Algoritmos e programação de computadores Profa ...wmamaral/mc102/files/aulaDiagramas.pdf · Lógica de programação A Lógica [na programação] é uma sequência de

 

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.

Page 4: MC 102 – Algoritmos e programação de computadores Profa ...wmamaral/mc102/files/aulaDiagramas.pdf · Lógica de programação A Lógica [na programação] é uma sequência de

 

Profa. Wanessa Machado do Amaral

Exemplo

Faça uma sequencia lógica para calçar um sapato.

Page 5: MC 102 – Algoritmos e programação de computadores Profa ...wmamaral/mc102/files/aulaDiagramas.pdf · Lógica de programação A Lógica [na programação] é uma sequência de

 

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. 

 

Page 6: MC 102 – Algoritmos e programação de computadores Profa ...wmamaral/mc102/files/aulaDiagramas.pdf · Lógica de programação A Lógica [na programação] é uma sequência de

 

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.

Page 7: MC 102 – Algoritmos e programação de computadores Profa ...wmamaral/mc102/files/aulaDiagramas.pdf · Lógica de programação A Lógica [na programação] é uma sequência de

 

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. 

Page 8: MC 102 – Algoritmos e programação de computadores Profa ...wmamaral/mc102/files/aulaDiagramas.pdf · Lógica de programação A Lógica [na programação] é uma sequência de

 

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.

Page 9: MC 102 – Algoritmos e programação de computadores Profa ...wmamaral/mc102/files/aulaDiagramas.pdf · Lógica de programação A Lógica [na programação] é uma sequência de

 

Profa. Wanessa Machado do Amaral

Importância

Porque devo me preocupar em representar meu programa de maneira adequada?

Page 10: MC 102 – Algoritmos e programação de computadores Profa ...wmamaral/mc102/files/aulaDiagramas.pdf · Lógica de programação A Lógica [na programação] é uma sequência de

 

Profa. Wanessa Machado do Amaral

http://vidadeprogramador.com.Br/2011/03/22/logica­de­programacao/

Page 11: MC 102 – Algoritmos e programação de computadores Profa ...wmamaral/mc102/files/aulaDiagramas.pdf · Lógica de programação A Lógica [na programação] é uma sequência de

 

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.

Page 12: MC 102 – Algoritmos e programação de computadores Profa ...wmamaral/mc102/files/aulaDiagramas.pdf · Lógica de programação A Lógica [na programação] é uma sequência de

 

Profa. Wanessa Machado do Amaral

Exemplo: Programa para escrever “Ola Mundo”

Page 13: MC 102 – Algoritmos e programação de computadores Profa ...wmamaral/mc102/files/aulaDiagramas.pdf · Lógica de programação A Lógica [na programação] é uma sequência de

 

Profa. Wanessa Machado do Amaral

Exemplo: Programa para escrever “Ola Mundo”

InicioEscreva “Ola Mundo”

Fim

Page 14: MC 102 – Algoritmos e programação de computadores Profa ...wmamaral/mc102/files/aulaDiagramas.pdf · Lógica de programação A Lógica [na programação] é uma sequência de

 

Profa. Wanessa Machado do Amaral

Exemplo: Programa para escrever “Ola Mundo”

InicioEscreva “Ola Mundo”

Fim

inicio fimOla Mundo

Page 15: MC 102 – Algoritmos e programação de computadores Profa ...wmamaral/mc102/files/aulaDiagramas.pdf · Lógica de programação A Lógica [na programação] é uma sequência de

 

Profa. Wanessa Machado do Amaral

Exemplo: Programa para escrever “Ola Mundo”

InicioEscreva “Ola Mundo”

Fim

main(){printf(“Ola Mundo”);

}

inicio fimOla Mundo

Page 16: MC 102 – Algoritmos e programação de computadores Profa ...wmamaral/mc102/files/aulaDiagramas.pdf · Lógica de programação A Lógica [na programação] é uma sequência de

 

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

Page 17: MC 102 – Algoritmos e programação de computadores Profa ...wmamaral/mc102/files/aulaDiagramas.pdf · Lógica de programação A Lógica [na programação] é uma sequência de

 

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

Page 18: MC 102 – Algoritmos e programação de computadores Profa ...wmamaral/mc102/files/aulaDiagramas.pdf · Lógica de programação A Lógica [na programação] é uma sequência de

 

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

Page 19: MC 102 – Algoritmos e programação de computadores Profa ...wmamaral/mc102/files/aulaDiagramas.pdf · Lógica de programação A Lógica [na programação] é uma sequência de

 

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.

Page 20: MC 102 – Algoritmos e programação de computadores Profa ...wmamaral/mc102/files/aulaDiagramas.pdf · Lógica de programação A Lógica [na programação] é uma sequência de

 

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

Page 21: MC 102 – Algoritmos e programação de computadores Profa ...wmamaral/mc102/files/aulaDiagramas.pdf · Lógica de programação A Lógica [na programação] é uma sequência de

 

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

Page 22: MC 102 – Algoritmos e programação de computadores Profa ...wmamaral/mc102/files/aulaDiagramas.pdf · Lógica de programação A Lógica [na programação] é uma sequência de

 

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

Page 23: MC 102 – Algoritmos e programação de computadores Profa ...wmamaral/mc102/files/aulaDiagramas.pdf · Lógica de programação A Lógica [na programação] é uma sequência de

 

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?

Page 24: MC 102 – Algoritmos e programação de computadores Profa ...wmamaral/mc102/files/aulaDiagramas.pdf · Lógica de programação A Lógica [na programação] é uma sequência de

 

Profa. Wanessa Machado do Amaral

If's aninhados

Page 25: MC 102 – Algoritmos e programação de computadores Profa ...wmamaral/mc102/files/aulaDiagramas.pdf · Lógica de programação A Lógica [na programação] é uma sequência de

 

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.