algoritmos e programação - unemat - sinopsinop.unemat.br › site_antigo › prof ›...

36
Algoritmos e Programação Ederson Luiz da Silva Ciência da Computação _______________________________ _______________________________

Upload: others

Post on 28-Jun-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Algoritmos e Programação - Unemat - Sinopsinop.unemat.br › site_antigo › prof › foto_p_downloads › fot...Introdução •Lógica •1.Coerência de raciocínio, de ideias;

Algoritmos e Programação

Ederson Luiz da SilvaCiência da Computação

_______________________________

_______________________________

Page 2: Algoritmos e Programação - Unemat - Sinopsinop.unemat.br › site_antigo › prof › foto_p_downloads › fot...Introdução •Lógica •1.Coerência de raciocínio, de ideias;

Conteúdo

ALGORITMOS

Conceitos e características;

Formas de representação;

Diretrizes para criação de algoritmos;

Fluxogramas;

Pseudocódigo – Visualg. versão 2.5

Page 3: Algoritmos e Programação - Unemat - Sinopsinop.unemat.br › site_antigo › prof › foto_p_downloads › fot...Introdução •Lógica •1.Coerência de raciocínio, de ideias;

Conteúdo

PROGRAMAÇÃO

Conceitos e características;

Paradigmas de programação;

Linguagem de alto nível C.

Sintaxe e Semântica;

Entrada e saída de dados;

Estruturas de controle e repetição;

Resolução de problemas utilizando a linguagem de programação.

Page 4: Algoritmos e Programação - Unemat - Sinopsinop.unemat.br › site_antigo › prof › foto_p_downloads › fot...Introdução •Lógica •1.Coerência de raciocínio, de ideias;

Introdução

•Lógica• 1.Coerência de raciocínio, de ideias;

• 2.Modo de raciocinar peculiar a alguém, ou a um grupo;

• 3.Sequência coerente, regular e necessária, de acontecimentos, de coisas;

• 4.Filosofia. A ciência dos princípios normativos e formais do raciocínio.

Page 5: Algoritmos e Programação - Unemat - Sinopsinop.unemat.br › site_antigo › prof › foto_p_downloads › fot...Introdução •Lógica •1.Coerência de raciocínio, de ideias;

Introdução

• Instruções: • São um conjunto de regras ou normas definidas para

a realização ou emprego de algo.

•Algoritmo: • Conjunto finito de instruções com o objetivo de

realizar determinada tarefa;

• Deve ser objetivo e claro nas instruções, não conter ambiguidade;

• Algoritmos não servem somente para computadores, são utilizados na vida real.

Page 6: Algoritmos e Programação - Unemat - Sinopsinop.unemat.br › site_antigo › prof › foto_p_downloads › fot...Introdução •Lógica •1.Coerência de raciocínio, de ideias;

Introdução

•Representação;• Narração descritiva, Fluxograma/Diagrama de Blocos,

Pseudocódigo e Linguagem de programação

Page 7: Algoritmos e Programação - Unemat - Sinopsinop.unemat.br › site_antigo › prof › foto_p_downloads › fot...Introdução •Lógica •1.Coerência de raciocínio, de ideias;

Representação• Narração Descritiva: Algoritmos representados na linguagem natural

• Algoritmo para trocar o pneu de um carro:

1: estacionar o carro

2: desligar o carro

3: pegar as ferramentas (chave e macaco)

4: pegar o estepe

5: suspender o carro com o macaco

6: desenroscar os 4 parafusos do pneu furado

7: retirar o pneu furado

8: colocar o estepe

9: enroscar os 4 parafusos

10: baixar o carro com o macaco

11: guardar as ferramentas

Page 8: Algoritmos e Programação - Unemat - Sinopsinop.unemat.br › site_antigo › prof › foto_p_downloads › fot...Introdução •Lógica •1.Coerência de raciocínio, de ideias;

Narração Descritiva•Problema de Lógica: Três garrafas de água• Existem três garrafas: a grande, com capacidade para 8 litros; a média,

para 5 litros; a pequena, para 3 litros. A de 8 litros está cheia de água eas outras duas vazias. Como fazer para deixar quatro litros na grande equatro litros na média apenas movimentando a água entre as garrafas?

Page 9: Algoritmos e Programação - Unemat - Sinopsinop.unemat.br › site_antigo › prof › foto_p_downloads › fot...Introdução •Lógica •1.Coerência de raciocínio, de ideias;

Narração Descritiva

•Algoritmo para encher garrafas representado descrição narrativa:

• Situação inicial

• Despejar a água da grande até encher a pequena

• Despejar toda a água da pequena na média

• Despejar a água da grande até encher a pequena

• Despejar a água da pequena até encher a média

• Despejar toda a água da média na grande

• Despejar toda a água da pequena na média

• Despejar a água da grande até encher a pequena

• Despejar toda a água da pequena na média

8 0 0

5 0 3

5 3 0

2 3 3

2 5 1

7 0 1

7 1 0

4 1 3

4 4 0

G M P

Page 10: Algoritmos e Programação - Unemat - Sinopsinop.unemat.br › site_antigo › prof › foto_p_downloads › fot...Introdução •Lógica •1.Coerência de raciocínio, de ideias;

Narração Descritiva

•Desenvolver um algoritmo na forma de narração descritiva.

Page 11: Algoritmos e Programação - Unemat - Sinopsinop.unemat.br › site_antigo › prof › foto_p_downloads › fot...Introdução •Lógica •1.Coerência de raciocínio, de ideias;

Fluxograma / Diagrama de Blocos

• Os fluxogramas são uma representação do algoritmo em formato gráfico;

• Cada ação ou situação é representada por uma forma geométrica pré-estabelecida;

• Linhas com setas são utilizadas para indicar o fluxo do algoritmo.

Page 12: Algoritmos e Programação - Unemat - Sinopsinop.unemat.br › site_antigo › prof › foto_p_downloads › fot...Introdução •Lógica •1.Coerência de raciocínio, de ideias;

Fluxograma / Diagrama de Blocos

http://nizzola.com.br/

Page 13: Algoritmos e Programação - Unemat - Sinopsinop.unemat.br › site_antigo › prof › foto_p_downloads › fot...Introdução •Lógica •1.Coerência de raciocínio, de ideias;

Fluxograma / Diagrama de Blocos

Decisão: indica desvios na sequência lógica deexecução do programa.

Linhas de fluxo: indicam a sequência das etapas ea direção do fluxo.

Page 14: Algoritmos e Programação - Unemat - Sinopsinop.unemat.br › site_antigo › prof › foto_p_downloads › fot...Introdução •Lógica •1.Coerência de raciocínio, de ideias;

Fluxograma / Diagrama de Blocos•Verificar se acadêmico está aprovado:

Page 15: Algoritmos e Programação - Unemat - Sinopsinop.unemat.br › site_antigo › prof › foto_p_downloads › fot...Introdução •Lógica •1.Coerência de raciocínio, de ideias;

Fluxograma / Diagrama de Blocos

•Verificar se a pessoa pode fazer CNH com base na idade.

Page 16: Algoritmos e Programação - Unemat - Sinopsinop.unemat.br › site_antigo › prof › foto_p_downloads › fot...Introdução •Lógica •1.Coerência de raciocínio, de ideias;

Fluxograma / Diagrama de BlocosVerificar se a pessoa pode fazer CNH com base na idade.

Page 17: Algoritmos e Programação - Unemat - Sinopsinop.unemat.br › site_antigo › prof › foto_p_downloads › fot...Introdução •Lógica •1.Coerência de raciocínio, de ideias;

Representação por Pseudocódigo

• Essa pseudolinguagem assemelha-se bastante à forma como osprogramas são escritos. A diferença entre a descrição narrativa e opseudocódigo está principalmente no vocabulário finito e bem menordo pseudocódigo e nas estruturas de controle que apresenta. Autilização de uma gama menor de termos facilita a expressão doraciocínio lógico na medida em que reduz a possibilidade de malentendimento das instruções.

Page 18: Algoritmos e Programação - Unemat - Sinopsinop.unemat.br › site_antigo › prof › foto_p_downloads › fot...Introdução •Lógica •1.Coerência de raciocínio, de ideias;

Representação por Pseudocódigo:

Variáveis

Uma variável pode ser vista como uma caixa com um rótulo ounome colado a ela, que num dado instante guarda umdeterminado objeto. O conteúdo desta caixa não é algo fixo,permanente. Na verdade, essa caixa pode ter seu conteúdoalterado diversas vezes. Contudo, o conteúdo deve ser sempredo mesmo tipo.

Constantes

Algo imutável, que não muda.

Page 19: Algoritmos e Programação - Unemat - Sinopsinop.unemat.br › site_antigo › prof › foto_p_downloads › fot...Introdução •Lógica •1.Coerência de raciocínio, de ideias;

Visualg – Versão 2.5

http://www2.joinville.udesc.br/~alp/arquivos/UDESC_Apostila_sobre_Visualg_2011.pdf

Operadores Aritméticos

Page 20: Algoritmos e Programação - Unemat - Sinopsinop.unemat.br › site_antigo › prof › foto_p_downloads › fot...Introdução •Lógica •1.Coerência de raciocínio, de ideias;

Visualg – Versão 2.5

http://www2.joinville.udesc.br/~alp/arquivos/UDESC_Apostila_sobre_Visualg_2011.pdf

Operadores Relacionais

Page 21: Algoritmos e Programação - Unemat - Sinopsinop.unemat.br › site_antigo › prof › foto_p_downloads › fot...Introdução •Lógica •1.Coerência de raciocínio, de ideias;

Visualg – Versão 2.5

http://www2.joinville.udesc.br/~alp/arquivos/UDESC_Apostila_sobre_Visualg_2011.pdf

Operadores Lógicos

Page 22: Algoritmos e Programação - Unemat - Sinopsinop.unemat.br › site_antigo › prof › foto_p_downloads › fot...Introdução •Lógica •1.Coerência de raciocínio, de ideias;

Visualg – Versão 2.5Palavras reservadas

Page 23: Algoritmos e Programação - Unemat - Sinopsinop.unemat.br › site_antigo › prof › foto_p_downloads › fot...Introdução •Lógica •1.Coerência de raciocínio, de ideias;

Visualg – Versão 2.5Comandos de Entrada e Saída

Page 24: Algoritmos e Programação - Unemat - Sinopsinop.unemat.br › site_antigo › prof › foto_p_downloads › fot...Introdução •Lógica •1.Coerência de raciocínio, de ideias;

Visualg – Versão 2.5Atribuição

Representado pelos caracteres<-Sugere uma flecha apontando para a

esquerda

Page 25: Algoritmos e Programação - Unemat - Sinopsinop.unemat.br › site_antigo › prof › foto_p_downloads › fot...Introdução •Lógica •1.Coerência de raciocínio, de ideias;

Visualg•Estruturas de Controle;

https://sites.google.com/site/unipliconstrucaodealgoritmos/

Page 26: Algoritmos e Programação - Unemat - Sinopsinop.unemat.br › site_antigo › prof › foto_p_downloads › fot...Introdução •Lógica •1.Coerência de raciocínio, de ideias;

Visualg•Estruturas de Controle;

Page 27: Algoritmos e Programação - Unemat - Sinopsinop.unemat.br › site_antigo › prof › foto_p_downloads › fot...Introdução •Lógica •1.Coerência de raciocínio, de ideias;

Visualg•Estruturas de Controle;

Page 28: Algoritmos e Programação - Unemat - Sinopsinop.unemat.br › site_antigo › prof › foto_p_downloads › fot...Introdução •Lógica •1.Coerência de raciocínio, de ideias;

Visualg•Estruturas de Controle;

Page 29: Algoritmos e Programação - Unemat - Sinopsinop.unemat.br › site_antigo › prof › foto_p_downloads › fot...Introdução •Lógica •1.Coerência de raciocínio, de ideias;

Visualg•Estruturas de Controle;

http://www.eletrica.ufpr.br/~rogerio/visualg/

Page 30: Algoritmos e Programação - Unemat - Sinopsinop.unemat.br › site_antigo › prof › foto_p_downloads › fot...Introdução •Lógica •1.Coerência de raciocínio, de ideias;

Visualg•Estruturas de Controle;

Page 31: Algoritmos e Programação - Unemat - Sinopsinop.unemat.br › site_antigo › prof › foto_p_downloads › fot...Introdução •Lógica •1.Coerência de raciocínio, de ideias;

Visualg•Estruturas de Controle;

Page 32: Algoritmos e Programação - Unemat - Sinopsinop.unemat.br › site_antigo › prof › foto_p_downloads › fot...Introdução •Lógica •1.Coerência de raciocínio, de ideias;

Visualg•Estruturas de Controle;

Page 33: Algoritmos e Programação - Unemat - Sinopsinop.unemat.br › site_antigo › prof › foto_p_downloads › fot...Introdução •Lógica •1.Coerência de raciocínio, de ideias;

Visualg•Estruturas de Controle;

Page 34: Algoritmos e Programação - Unemat - Sinopsinop.unemat.br › site_antigo › prof › foto_p_downloads › fot...Introdução •Lógica •1.Coerência de raciocínio, de ideias;

Visualg

Page 35: Algoritmos e Programação - Unemat - Sinopsinop.unemat.br › site_antigo › prof › foto_p_downloads › fot...Introdução •Lógica •1.Coerência de raciocínio, de ideias;

Teste de Mesa

• Identifique as variáveis envolvidas em seu algoritmo;

•Crie uma tabela com linhas e colunas, em que:• Cada coluna representará uma variável a ser

“observada” •As linhas corresponderão às instruções observadas

pelo teste de mesa e •A primeira coluna deverá identificar os números das

linhas correspondentes às instruções observadas;

Page 36: Algoritmos e Programação - Unemat - Sinopsinop.unemat.br › site_antigo › prof › foto_p_downloads › fot...Introdução •Lógica •1.Coerência de raciocínio, de ideias;

Teste de Mesa

•Exemplo: Teste de mesa do exemplo anterior• Suponhamos que o usuário digite os valores “15” e “3” para

as variáveis a e b respectivamente.

Linha a b soma subtracao divisao produto

10 15

12 3

14 18

15 12

16 5

17 45