MC 102 – Algoritmos e programação de computadores Profa...

Post on 10-Feb-2019

225 views 0 download

Transcript of MC 102 – Algoritmos e programação de computadores Profa...

 

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 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”

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.