• Nenhum resultado encontrado

Programação Estruturada I 1 / 37

N/A
N/A
Protected

Academic year: 2022

Share "Programação Estruturada I 1 / 37"

Copied!
41
0
0

Texto

(1)

Programa¸c˜ ao Estruturada I

Introdu¸c˜ao a Elabora¸c˜ao de Algoritmos

Prof. Thiago Caproni Tavares 1 Prof. Mateus dos Santos2

1thiago.tavares@ifsuldeminas.edu.br

2mateus.santos@ifsuldeminas.edu.br

Ultima Atualiza¸´ ao: 23 de fevereiro de 2015

Programa¸ao Estruturada I 1 / 37

(2)

Conte´ udo

1 Introdu¸c˜ao

2 A an´alise de s´ıntese de um algoritmo

3 Modelagem de Problemas

4 O papel da l´ogica em Programa¸c˜ao

Programa¸ao Estruturada I 2 / 37

(3)

Conte´ udo

1 Introdu¸c˜ao

2 A an´alise de s´ıntese de um algoritmo

3 Modelagem de Problemas

4 O papel da l´ogica em Programa¸c˜ao

Programa¸ao Estruturada I 3 / 37

(4)

Introdu¸c˜ ao

O que ´e um algoritmo???

Programa¸ao Estruturada I 4 / 37

(5)

Algoritmo

”Um algoritmo ´e uma sequˆencia de instru¸c˜oes ordenadas de forma l´ogica para a resolu¸c˜ao de uma determinada tarefa ou problema.”

Programa¸ao Estruturada I 5 / 37

(6)

Algoritmo

”Um conjunto finito de regras que provˆe uma sequˆencia de opera¸c˜oes para resolver um tipo de problema espec´ıfico”

Programa¸ao Estruturada I 6 / 37

(7)

Algoritmo

”Sequˆencia ordenada, e n˜ao amb´ıgua, de passos que levam `a solu¸c˜ao de um dado problema. [TREMBLAY]”

Programa¸ao Estruturada I 7 / 37

(8)

Algoritmo

”Processo de c´alculo, ou de resolu¸c˜ao de um grupo de problemas semelhantes, em que se estipulam, com generalidade e sem restri¸c˜oes, as

regras formais para a obten¸c˜ao do resultado ou da solu¸c˜ao do problema.

[AUR ´ELIO]”

Programa¸ao Estruturada I 8 / 37

(9)

Exemplos de algoritmos

Instru¸c˜oes para se utilizar um aparelho eletrodom´estico;

Uma receita para preparo de algum prato;

Guia de preenchimento para declara¸c˜ao do Imp. Renda;

A maneira como as contas de ´agua, luz e telefone s˜ao calculadas mensalmente e etc.

Programa¸ao Estruturada I 9 / 37

(10)

Por que precisamos de Algoritmos?

”A no¸c˜ao de algoritmo ´e b´asica para toda a programa¸c˜ao de computadores.[KNUTH]”

”O conceito central da programa¸c˜ao e da ciˆencia da computa¸c˜ao ´e o conceito de algoritmo. [WIRTH]”

Programa¸ao Estruturada I 10 / 37

(11)

Por que precisamos de Algoritmos?

”A no¸c˜ao de algoritmo ´e b´asica para toda a programa¸c˜ao de computadores.[KNUTH]”

”O conceito central da programa¸c˜ao e da ciˆencia da computa¸c˜ao ´e o conceito de algoritmo. [WIRTH]”

Programa¸ao Estruturada I 10 / 37

(12)

Por que precisamos de Algoritmos?

”A no¸c˜ao de algoritmo ´e b´asica para toda a programa¸c˜ao de computadores.[KNUTH]”

”O conceito central da programa¸c˜ao e da ciˆencia da computa¸c˜ao ´e o conceito de algoritmo. [WIRTH]”

Programa¸ao Estruturada I 10 / 37

(13)

Algoritmo

”Como seria uma algoritmo para realizar uma liga¸c˜ao telefˆonica em um telefone p´ublico???”

Programa¸ao Estruturada I 11 / 37

(14)

Liga¸c˜ ao Telefˆ onica

Programa¸ao Estruturada I 12 / 37

(15)

L´ ogica de Programa¸c˜ ao

Uso correto das leis do pensamento e de processos de racioc´ınio para a produ¸c˜ao de solu¸c˜oes logicamente v´alidas e coerentes, que resolvam com

qualidade os problemas que se deseja programar.

Programa¸ao Estruturada I 13 / 37

(16)

Caracter´ısticas dos Algoritmos

Ter fim;

N˜ao deve ser amb´ıguo;

Receber dados;

Gerar informa¸c˜oes de sa´ıda;

Ser efetivo.

Programa¸ao Estruturada I 14 / 37

(17)

Atividades

Defina com suas palavras, o que ´e algoritmo.

Cite alguns algoritmos que podemos encontrar no nosso dia a dia.

Na sua vis˜ao, qual ´e a caracter´ıstica mais importante em um algoritmo? Justifique a sua resposta.

Um algoritmo n˜ao pode conter um comando como “Escreva todos os n´umeros inteiros positivos”. Por quˆe?

Programa¸ao Estruturada I 15 / 37

(18)

Conte´ udo

1 Introdu¸c˜ao

2 A an´alise de s´ıntese de um algoritmo

3 Modelagem de Problemas

4 O papel da l´ogica em Programa¸c˜ao

Programa¸ao Estruturada I 16 / 37

(19)

Descri¸c˜ ao Narrativa

A resolu¸c˜ao de problemas envolve duas grandes fases:

An´alise;

S´ıntese.

Programa¸ao Estruturada I 17 / 37

(20)

An´ alise

Na fase de an´alise, o problema ´e entendido de forma que se descubra o que deve ser feito:

Quais dados s˜ao necess´arios?

Quais condi¸oes?

Modelagem:

Equa¸oes;

Gr´aficos;

Desenhos.

Programa¸ao Estruturada I 18 / 37

(21)

An´ alise

O resultado da fase de an´alise deve ser umplano de a¸c˜ao:

A experiˆencia em problema similares vistos anteriormente;

Pode ser necess´ario a utiliza¸c˜ao de problemas similares.

Processos de abstra¸c˜ao:

Elaborar modelos mentais do problema;

Encaminhamento da solu¸ao.

Programa¸ao Estruturada I 19 / 37

(22)

S´ıntese

Executa-se o plano definido na fase de an´alise:

Representa-se os passos por meio de um algoritmo;

Utiliza-se a representa¸c˜ao formal.

Verifica-se a solu¸c˜ao est´a correta:

Percorrer o algoritmo do seu in´ıcio at´e seu fim Caso ocorra alguma discrepˆancia:

Verificar a causa e analisar novamente o problema;

Repete-se esse processo at´e que a solu¸ao tenha sido obtida.

Programa¸ao Estruturada I 20 / 37

(23)

Conte´ udo

1 Introdu¸c˜ao

2 A an´alise de s´ıntese de um algoritmo

3 Modelagem de Problemas

4 O papel da l´ogica em Programa¸c˜ao

Programa¸ao Estruturada I 21 / 37

(24)

Modelagem de Problemas

Modelagem (geralmente desprezada): dificuldade ou facilidade de resolver o problema:

Matem´atica e engenharia utilizam linguagem matem´atica;

Computa¸c˜ao utiliza algoritmos (fluxogramas e linguagens de programa¸c˜ao)

Exemplo:

Compram-se 30 canetas iguais, que foram pagas com uma nota de R$100,00, obtendo-se R$67,00 como troco. Quanto custou cada caneta?

Programa¸ao Estruturada I 22 / 37

(25)

Modelagem de Problemas

Problema da Caneta:

Se eu tinha R$100,00 e recebi R$67,00 de troco, o custo total de canetas

´

e a diferen¸ca entre os R$100,00 que eu tinha e os R$67,00 do troco. Ora, isto vale R$33,00; portanto; esse valor foi o total pago pelas canetas. Para saber quanto custou cada caneta, basta dividir os R$33,00 por 30,

resultando no pre¸co de cada caneta. Assim, cada caneta custou o equivalente a R$1,10

Programa¸ao Estruturada I 23 / 37

(26)

Modelagem de Problemas

Problema da caneta, matematicamente falando:

30x+ 67 = 100 30x= 100−67

x= 33/30 x= 1,1

Programa¸ao Estruturada I 24 / 37

(27)

Modelagem de Problemas

Algoritmo 1: Problema da caneta, algoritmo (Instˆancia Particular):

inicio

Pegar os valores 30, 100 e 67

Subtrair 67 de 100 e dividir o resultado por 30 Mostrar o resultado final

fim

Programa¸ao Estruturada I 25 / 37

(28)

Modelagem de Problemas

Caso geral:

Compraram-se N canetas iguais, que foram pagas com uma nota de Z reais, obtendo-se Y reais como troco. Quanto custou cada caneta?

Algoritmo 2: Problema da caneta, algoritmo: Ler os valores de N, Y e Zinicio

Pegar os valores N,Y e Z

Subtrair Y de Z e dividir o resultado por N Mostrar o resultado final

fim

Programa¸ao Estruturada I 26 / 37

(29)

Modelagem de Problemas

Caso geral:

Compraram-se N canetas iguais, que foram pagas com uma nota de Z reais, obtendo-se Y reais como troco. Quanto custou cada caneta?

Algoritmo 3: Problema da caneta, algoritmo:

Ler os valores de N, Y e Zinicio Pegar os valores N,Y e Z

Subtrair Y de Z e dividir o resultado por N Mostrar o resultado final

fim

Programa¸ao Estruturada I 26 / 37

(30)

Modelagem de Problemas

Caso geral: possui restri¸c˜oes!

E se algu´em pensar comprar 0 ou -3 canetas? Faz sentido?

Sim. Para algu´em que n˜ao possua a forma de interpretar o resultado:

N=10, Z=10 e Y=15.

Cada caneta: -R$0,50

Programa¸ao Estruturada I 27 / 37

(31)

Modelagem de Problemas

Caso geral: possui restri¸c˜oes!

Pr´e-condi¸oes:

Valor pago deve ser maior que o troco recebido;

Valor pago e quantidade de canetas maior que 0;

Troco maior ou igual a zero Matematicamente falando:

Z>Y,N>0,Z >0 eY 0

Programa¸ao Estruturada I 28 / 37

(32)

Modelagem de Problemas

Algoritmo 4: Problema da caneta, algoritmo (caso geral):

Ler os valores de N, Y e Zinicio

seZ > Y e N > 0e Y ≥ 0e Z ≥ 0 entao Subtrair Y de Z e dividir o resultado por N.;

Mostrar o resultado final.;

senao

Exibir a mensagem: ”Erro: os valores s˜ao inconsistentes!”;

fimse fim

Programa¸ao Estruturada I 29 / 37

(33)

Conte´ udo

1 Introdu¸c˜ao

2 A an´alise de s´ıntese de um algoritmo

3 Modelagem de Problemas

4 O papel da l´ogica em Programa¸c˜ao

Programa¸ao Estruturada I 30 / 37

(34)

O papel da l´ ogica em Programa¸c˜ ao

Imagine as seguintes proposi¸c˜oes:

1 Se estiver chovendo, eu pegarei meu guarda-chuva.

2 Eu peguei meu guarda-chuva.

Conclui-se

“´E plaus´ıvel que esteja chovendo!”

Programa¸ao Estruturada I 31 / 37

(35)

O papel da l´ ogica em Programa¸c˜ ao

Imagine as seguintes proposi¸c˜oes:

1 Se estiver chovendo, eu pegarei meu guarda-chuva.

2 Eu peguei meu guarda-chuva.

Conclui-se

“´E plaus´ıvel que esteja chovendo!”

Programa¸ao Estruturada I 31 / 37

(36)

O papel da l´ ogica em Programa¸c˜ ao

O exemplo anterior fornece uma id´eia do que a l´ogica se preocupa em estudar;

Toda l´ogica proposta devem ser formalizadas em:

Elementos Sint´aticos: especificam como escrever suas proposi¸oes;

Elementos Semˆanticos: avaliam o significado das proposi¸oes - suas interpreta¸oes.

O papel da l´ogica est´a relacionado com a correta sequˆencia de instru¸c˜oes: funcionamento correto do programa.

Programa¸ao Estruturada I 32 / 37

(37)

O papel da l´ ogica em Programa¸c˜ ao

Em um algoritmo em execu¸c˜ao, o valor das vari´aveis representa um estado;

Com a execu¸c˜ao do algoritmo, essesestadosv˜ao sendo modificados;

Algoritmo correto:

Estado inicial(vari´aveis)instru¸oesEstado Final(vari´aveis)

Programa¸ao Estruturada I 33 / 37

(38)

O papel da l´ ogica em Programa¸c˜ ao

Algoritmo 5: Problema da caneta, algoritmo (caso geral):

Ler os valores de N, Y e Zinicio

seZ > Y e N > 0e Y ≥ 0e Z ≥ 0 entao Subtrair Y de Z e dividir o resultado por N.;

Mostrar o resultado final.;

senao

Exibir a mensagem: ”Erro: os valores s˜ao inconsistentes!”;

fimse fim

L´ogica de programa¸c˜ao:

Prova que um algoritmo est´a correto.

Simula¸c˜ao (execu¸c˜ao com dados reais):

Verifica se o algoritmo est´a correto e leva a valores consistentes.

Programa¸ao Estruturada I 34 / 37

(39)

Obrigado pela aten¸c˜ao!!!

thiago.tavares@ifsuldeminas.edu.br

Programa¸ao Estruturada I 35 / 37

(40)

Referˆ encias I

ASCENCIO, A.; CAMPOS, E. de.Fundamentos da programa¸c˜ao de computadores: algoritmos, Pascal, C/C++ e Java. Pearson Prentice Hall, 2008. ISBN 9788576051480. Dispon´ıvel em:

<https://books.google.com.br/books?id=p-mTPgAACAAJ>.

C: A Reference Manual. Pearson Education, 2007. ISBN 9788131714409. Dispon´ıvel em:

<https://books.google.com.br/books?id=Wt2NEypdGNIC>.

DAMAS, L. LINGUAGEM C. LTC. ISBN 9788521615194. Dispon´ıvel

em: <https://books.google.com.br/books?id=22-vPgAACAAJ>.

FEOFILOFF, P. Algoritmos Em Linguagem C. CAMPUS - RJ, 2009.

ISBN 9788535232493. Dispon´ıvel em:

<http://books.google.com.br/books?id=LfUQai78VQgC>.

Programa¸ao Estruturada I 36 / 37

(41)

Referˆ encias II

KERNIGHAN, B.; RITCHIE, D.C: a linguagem de programa¸c˜ao padr˜ao ANSI. Campus, 1989. ISBN 9788570015860. Dispon´ıvel em:

<https://books.google.com.br/books?id=aVWrQwAACAAJ>.

MIZRAHI, V. Treinamento em linguagem C. Pearson Prentice Hall, 2008. ISBN 9788576051916. Dispon´ıvel em:

<https://books.google.com.br/books?id=7xt7PgAACAAJ>.

SCHILDT, H.; MAYER, R. C completo e total. Makron, 1997. ISBN 9788534605953. Dispon´ıvel em:

<https://books.google.com.br/books?id=PbI0AAAACAAJ>.

Programa¸ao Estruturada I 37 / 37

Referências

Documentos relacionados

(grifos nossos). b) Em observância ao princípio da impessoalidade, a Administração não pode atuar com vistas a prejudicar ou beneficiar pessoas determinadas, vez que é

[r]

Dos eventos organizados, ressaltamos o Workshop em Fundamentos da Ciˆencia da Computa¸c˜ ao: Algoritmos Combinat´ orios e Estruturas Discretas, que envolveu v´ arios membros do

1. O Município da Batalha é a entidade titular que por atribuição assegurar a provisão do serviço de gestão de resíduos urbanos no respetivo território. Em toda a área

O desenvolvimento das interações entre os próprios alunos e entre estes e as professoras, juntamente com o reconhecimento da singularidade dos conhecimentos

São por demais conhecidas as dificuldades de se incorporar a Amazônia à dinâmica de desenvolvimento nacional, ora por culpa do modelo estabelecido, ora pela falta de tecnologia ou

§1º - O ADMINISTRADOR tem amplos e gerais poderes para gerir a administração do FUNDO, inclusive para realizar todas as operações e praticar todos os atos que se relacionem com o

De todo modo, essas intercomparações permitiram inferir que variações sincrônicas de paleopluviosidade de norte a sul do Nordeste brasileiro são coincidentes aos