bcc 201 - introdução à programação conceitos e ... · conceitos e representa˘c~ao de...

37
1/37 BCC 201 - Introdu¸ ao ` a Programa¸ ao Conceitos e Representa¸c˜ ao de Algoritmos Guillermo C´ amara-Ch´ avez UFOP

Upload: lykien

Post on 23-Nov-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: BCC 201 - Introdução à Programação Conceitos e ... · Conceitos e Representa˘c~ao de Algoritmos Guillermo C amara-Ch avez UFOP. 2/37 Import^ancia do estudo dos Algoritmos

1/37

BCC 201 - Introducao a Programacao

Conceitos e Representacao de Algoritmos

Guillermo Camara-ChavezUFOP

Page 2: BCC 201 - Introdução à Programação Conceitos e ... · Conceitos e Representa˘c~ao de Algoritmos Guillermo C amara-Ch avez UFOP. 2/37 Import^ancia do estudo dos Algoritmos

2/37

Importancia do estudo dos Algoritmos

I . . . antes que o computador possa executar uma tarefa, deveser fornecido um algoritmo que instrua exatamente o quedeve ser feito . . .

Page 3: BCC 201 - Introdução à Programação Conceitos e ... · Conceitos e Representa˘c~ao de Algoritmos Guillermo C amara-Ch avez UFOP. 2/37 Import^ancia do estudo dos Algoritmos

3/37

Conceito de Algoritmo I I

Definicao 1

Algoritmo e a especificacao da sequencia ordenada de passosque deve ser seguida para a solucao de um problema ou para arealizacao de uma tarefa, garantindo a sua repetibilidade.

Page 4: BCC 201 - Introdução à Programação Conceitos e ... · Conceitos e Representa˘c~ao de Algoritmos Guillermo C amara-Ch avez UFOP. 2/37 Import^ancia do estudo dos Algoritmos

4/37

Conceito de Algoritmo I II

Definicao 2

Algoritmo e um conjunto ordenado de passos executaveis naoambıguos, definindo um processo que tem um termino.

Page 5: BCC 201 - Introdução à Programação Conceitos e ... · Conceitos e Representa˘c~ao de Algoritmos Guillermo C amara-Ch avez UFOP. 2/37 Import^ancia do estudo dos Algoritmos

5/37

Conceito de Algoritmo I III

Exemplos de Algoritmos

I Instrucoes para utilizar um aparelho eletrodomestico

I Receita de um bolo

I A forma como as contas de luz, agua e telefone sao calculadas

Page 6: BCC 201 - Introdução à Programação Conceitos e ... · Conceitos e Representa˘c~ao de Algoritmos Guillermo C amara-Ch avez UFOP. 2/37 Import^ancia do estudo dos Algoritmos

6/37

Conceito de Algoritmo I IV

I Como preparar um sanduiche mixto

passo 1: corte o pao em duas partes

passo 2: abra o pao

passo 3: insira o presunto e o queijo no pao

passo 4: feche o pao

Page 7: BCC 201 - Introdução à Programação Conceitos e ... · Conceitos e Representa˘c~ao de Algoritmos Guillermo C amara-Ch avez UFOP. 2/37 Import^ancia do estudo dos Algoritmos

7/37

Conceito de Algoritmo II

Page 8: BCC 201 - Introdução à Programação Conceitos e ... · Conceitos e Representa˘c~ao de Algoritmos Guillermo C amara-Ch avez UFOP. 2/37 Import^ancia do estudo dos Algoritmos

8/37

Conceito de Algoritmo II

Page 9: BCC 201 - Introdução à Programação Conceitos e ... · Conceitos e Representa˘c~ao de Algoritmos Guillermo C amara-Ch avez UFOP. 2/37 Import^ancia do estudo dos Algoritmos

9/37

Conceito de Algoritmo IV

I Diferenca entre algoritmo e sua representacaoI um algoritmo pode ser representados de diversas formasI Ex: algoritmo que converte Celsius para Fahrenheit

representacao algebrica: F = 95 × C + 32

representacao literal: multiplicar a temperatura, lida em grauCelsius, por 9

5 , e entao somar 32 ao produtoassim obtido

Page 10: BCC 201 - Introdução à Programação Conceitos e ... · Conceitos e Representa˘c~ao de Algoritmos Guillermo C amara-Ch avez UFOP. 2/37 Import^ancia do estudo dos Algoritmos

10/37

Exercıcios

I Em que sentido os passos descritos a seguir falham emconstruir um algoritmo?

passo 1: retire uma moeda do bolso e coloque sobre amesa

passo 2: retorne ao passo 1

I O processo chegara ao fim quando o bolso nao tiver maismoedas?

I Ambiguidade!

I Nenhuma indicacao sobre a conduta a adotar quando naohouver mais moedas

Page 11: BCC 201 - Introdução à Programação Conceitos e ... · Conceitos e Representa˘c~ao de Algoritmos Guillermo C amara-Ch avez UFOP. 2/37 Import^ancia do estudo dos Algoritmos

10/37

Exercıcios

I Em que sentido os passos descritos a seguir falham emconstruir um algoritmo?

passo 1: retire uma moeda do bolso e coloque sobre amesa

passo 2: retorne ao passo 1

I O processo chegara ao fim quando o bolso nao tiver maismoedas?

I Ambiguidade!

I Nenhuma indicacao sobre a conduta a adotar quando naohouver mais moedas

Page 12: BCC 201 - Introdução à Programação Conceitos e ... · Conceitos e Representa˘c~ao de Algoritmos Guillermo C amara-Ch avez UFOP. 2/37 Import^ancia do estudo dos Algoritmos

10/37

Exercıcios

I Em que sentido os passos descritos a seguir falham emconstruir um algoritmo?

passo 1: retire uma moeda do bolso e coloque sobre amesa

passo 2: retorne ao passo 1

I O processo chegara ao fim quando o bolso nao tiver maismoedas?

I Ambiguidade!

I Nenhuma indicacao sobre a conduta a adotar quando naohouver mais moedas

Page 13: BCC 201 - Introdução à Programação Conceitos e ... · Conceitos e Representa˘c~ao de Algoritmos Guillermo C amara-Ch avez UFOP. 2/37 Import^ancia do estudo dos Algoritmos

11/37

Formas de representacao I

I A representacao de algoritmos requer alguma forma delinguagem

I Dentre as forma de representacao mais conhecidas:I Descricao narrativa;I Fluxograma convencional;I Pseudocodigo, tambem conhecido como linguagem estruturada

ou Portugol.

Page 14: BCC 201 - Introdução à Programação Conceitos e ... · Conceitos e Representa˘c~ao de Algoritmos Guillermo C amara-Ch avez UFOP. 2/37 Import^ancia do estudo dos Algoritmos

12/37

Formas de representacao II

I Descricao NarrativaI Nesta forma de representacao os algoritmos sao expressos

diretamente em linguagem natural.I Exemplo: Calculo da media de um aluno

Obter as notas da primeira e da segunda prova

Calcular a media aritmetica entre as duas notas

Se a media for igual ou maior que 6.0, o aluno foi aprovado,senao ele foi reprovado.

Page 15: BCC 201 - Introdução à Programação Conceitos e ... · Conceitos e Representa˘c~ao de Algoritmos Guillermo C amara-Ch avez UFOP. 2/37 Import^ancia do estudo dos Algoritmos

13/37

Formas de representacao III

I Ex: trocar um pneu

Afrouxar ligeiramente as porcas

Suspender o carro

Retirar as porcas e o pneu

Colocar o pneu reserva

Apertar as porcas

Abaixar o carro

Dar o aperto final nas porcas

Page 16: BCC 201 - Introdução à Programação Conceitos e ... · Conceitos e Representa˘c~ao de Algoritmos Guillermo C amara-Ch avez UFOP. 2/37 Import^ancia do estudo dos Algoritmos

14/37

Formas de representacao IV

Page 17: BCC 201 - Introdução à Programação Conceitos e ... · Conceitos e Representa˘c~ao de Algoritmos Guillermo C amara-Ch avez UFOP. 2/37 Import^ancia do estudo dos Algoritmos

15/37

Formas de representacao V

I Ex: tomando um banho

Page 18: BCC 201 - Introdução à Programação Conceitos e ... · Conceitos e Representa˘c~ao de Algoritmos Guillermo C amara-Ch avez UFOP. 2/37 Import^ancia do estudo dos Algoritmos

16/37

Formas de representacao VI

Entrar no banheiro e tirar a roupa

Abrir a torneira do chuveiro

Entrar na agua

Ensaboar-se

Sair da agua

Fechar a torneira

Enxugar-se

Vestir-se

Page 19: BCC 201 - Introdução à Programação Conceitos e ... · Conceitos e Representa˘c~ao de Algoritmos Guillermo C amara-Ch avez UFOP. 2/37 Import^ancia do estudo dos Algoritmos

17/37

Formas de representacao VII

I Desvantagens

I ImprecisaoI extensao (escreve-se muito para dizer pouca coisa)

Page 20: BCC 201 - Introdução à Programação Conceitos e ... · Conceitos e Representa˘c~ao de Algoritmos Guillermo C amara-Ch avez UFOP. 2/37 Import^ancia do estudo dos Algoritmos

18/37

Formas de representacao VIII

I Fluxograma convencionalI E uma representacao grafica de algoritmos onde formas

geometricas diferentes implicam acoes (instrucoes, comandos)diferentes.

I Tal propriedade facilita o entendimento das ideias contidas nosalgoritmos

Page 21: BCC 201 - Introdução à Programação Conceitos e ... · Conceitos e Representa˘c~ao de Algoritmos Guillermo C amara-Ch avez UFOP. 2/37 Import^ancia do estudo dos Algoritmos

19/37

Formas de representacao IX

I Esta forma e aproximadamente intermediaria a descricaonarrativa e ao pseudocodigo (subitem seguinte), pois e menosimprecisa que a primeira.

I Nao se preocupa com detalhes de implementacao

Page 22: BCC 201 - Introdução à Programação Conceitos e ... · Conceitos e Representa˘c~ao de Algoritmos Guillermo C amara-Ch avez UFOP. 2/37 Import^ancia do estudo dos Algoritmos

20/37

Formas de representacao X

Page 23: BCC 201 - Introdução à Programação Conceitos e ... · Conceitos e Representa˘c~ao de Algoritmos Guillermo C amara-Ch avez UFOP. 2/37 Import^ancia do estudo dos Algoritmos

21/37

Formas de representacao XI

I Exemplo: Calcular a soma de dois numeros

Page 24: BCC 201 - Introdução à Programação Conceitos e ... · Conceitos e Representa˘c~ao de Algoritmos Guillermo C amara-Ch avez UFOP. 2/37 Import^ancia do estudo dos Algoritmos

22/37

Formas de representacao XII

Inicio

Init A,B, C

Leia A, B

C = A + B

Escreve C

Fim

Page 25: BCC 201 - Introdução à Programação Conceitos e ... · Conceitos e Representa˘c~ao de Algoritmos Guillermo C amara-Ch avez UFOP. 2/37 Import^ancia do estudo dos Algoritmos

23/37

Formas de representacao XIII

I Exemplo: Calculo da media de um aluno

Page 26: BCC 201 - Introdução à Programação Conceitos e ... · Conceitos e Representa˘c~ao de Algoritmos Guillermo C amara-Ch avez UFOP. 2/37 Import^ancia do estudo dos Algoritmos

24/37

Formas de representacao XIVInicio

Init N1,N2, M

Leia N1, N2

M = (N1 + N2)/2

M ≥ 6

Escreva“Aprovado”

Escreva“Reprovado”

Fim

no

sim

Page 27: BCC 201 - Introdução à Programação Conceitos e ... · Conceitos e Representa˘c~ao de Algoritmos Guillermo C amara-Ch avez UFOP. 2/37 Import^ancia do estudo dos Algoritmos

25/37

Formas de representacao XV

I Vantagens

I Uma das ferramenta mais conhecidas;I Figuras dizem muito mais que palavras;I Padrao mundial;

Page 28: BCC 201 - Introdução à Programação Conceitos e ... · Conceitos e Representa˘c~ao de Algoritmos Guillermo C amara-Ch avez UFOP. 2/37 Import^ancia do estudo dos Algoritmos

26/37

Formas de representacao XVI

I Desvantagens

I Pouca atencao aos dados; nao oferece recursos paradescreve-los

I Complica a medida que o algoritmo cresce

Page 29: BCC 201 - Introdução à Programação Conceitos e ... · Conceitos e Representa˘c~ao de Algoritmos Guillermo C amara-Ch avez UFOP. 2/37 Import^ancia do estudo dos Algoritmos

27/37

Formas de representacao XVII

I Pseudocodigo

I E uma tecnica textual de representacao de um algoritmo.I Tambem e conhecida como Portugues Estruturado ou PortugolI Esta forma de representacao de algoritmos e rica em detalhes,

como a definicao dos tipos das variaveis usadas no algoritmo.

Page 30: BCC 201 - Introdução à Programação Conceitos e ... · Conceitos e Representa˘c~ao de Algoritmos Guillermo C amara-Ch avez UFOP. 2/37 Import^ancia do estudo dos Algoritmos

28/37

Formas de representacao XVIII

I Por assemelhar-se bastante a forma em que os programas saoescritos, encontra muita aceitacao.

I Permite que os algoritmos nela representados possam sertraduzidos, quase que diretamente, para uma linguagem deprogramacao.

Algoritmo<nome do arquivo>;<subalgoritmos>Inıcio<declaracao de variaveis>;<corpo do algoritmo>Fim

Page 31: BCC 201 - Introdução à Programação Conceitos e ... · Conceitos e Representa˘c~ao de Algoritmos Guillermo C amara-Ch avez UFOP. 2/37 Import^ancia do estudo dos Algoritmos

29/37

Formas de representacao XIX

I Exemplo: calculo da media de um aluno

Page 32: BCC 201 - Introdução à Programação Conceitos e ... · Conceitos e Representa˘c~ao de Algoritmos Guillermo C amara-Ch avez UFOP. 2/37 Import^ancia do estudo dos Algoritmos

30/37

Formas de representacao XX

Algoritmo Media

Inıcio

real N1, N2, Media;

Leia (N1, N2);

Media <- (N1 + N2) / 2;

Se Media >= 6.0 ent~ao

Escreva ("Aprovado");

sen~ao

Escreva ("Reprovado");

Fim_se

Fim

Page 33: BCC 201 - Introdução à Programação Conceitos e ... · Conceitos e Representa˘c~ao de Algoritmos Guillermo C amara-Ch avez UFOP. 2/37 Import^ancia do estudo dos Algoritmos

31/37

Formas de representacao XXI

I Exemplo: encontrar o maior de dois numeros

Page 34: BCC 201 - Introdução à Programação Conceitos e ... · Conceitos e Representa˘c~ao de Algoritmos Guillermo C amara-Ch avez UFOP. 2/37 Import^ancia do estudo dos Algoritmos

32/37

Formas de representacao XXII

I Exemplo: encontrar o maior de dois numeros

Algoritmo Maior

Inıcio

real N1, N2;

Leia (N1, N2);

Se N1 > N2 ent~ao

Escreva (N1);

sen~ao

Escreva (N2);

Fim_se

Fim

Page 35: BCC 201 - Introdução à Programação Conceitos e ... · Conceitos e Representa˘c~ao de Algoritmos Guillermo C amara-Ch avez UFOP. 2/37 Import^ancia do estudo dos Algoritmos

33/37

Formas de representacao XXIII

I Vantagens

I Pode-se definir quais e como os dados vao estar estruturadosI Passagem quase imediata do algoritmo para uma linguagem

de programacao qualquer

I Desvantagens

I Exige a definicao de uma linguagem nao real para trabalhoI Nao padronizado

Page 36: BCC 201 - Introdução à Programação Conceitos e ... · Conceitos e Representa˘c~ao de Algoritmos Guillermo C amara-Ch avez UFOP. 2/37 Import^ancia do estudo dos Algoritmos

34/37

Sıntese

I Ha diversas formas de representacao de algoritmos quediferem entre si pela:

I quantidade de detalhes de implementacao que fornecemI pelo grau de abstracao

I Dentre as principais formas de representacao de algoritmosdestacam-se: a descricao narrativa, o fluxogramaconvencional e o pseudocodigo (ou linguagem estruturada).

Page 37: BCC 201 - Introdução à Programação Conceitos e ... · Conceitos e Representa˘c~ao de Algoritmos Guillermo C amara-Ch avez UFOP. 2/37 Import^ancia do estudo dos Algoritmos

35/37

FIM