21
Aula 03 Aula 03 Algoritmos Algoritmos Programação de Computadores I Programação de Computadores I BCC 701 BCC 701 UFOP - ICEB - DECOM Prof. Marcelo Luiz Silva (Red)

scilab aula 05

Embed Size (px)

DESCRIPTION

Introdução a programação em scilab

Citation preview

Page 1: scilab  aula 05

Aula 03Aula 03

AlgoritmosAlgoritmos

Programação de Computadores IProgramação de Computadores IBCC 701BCC 701

UFOP - ICEB - DECOM

Prof. Marcelo Luiz Silva (Red)

Page 2: scilab  aula 05

LÓGICA DE PROGRAMAÇÃO: é a técnica de encadear pensamentos para atingir determinado objetivo; técnica necessária para o desenvolvimento de sistemas e programas.

ALGORITMO: é uma sequencia de passos finitos com o objetivo de solucionar o problema.

UFOP - ICEB - DECOM

Prof. Marcelo Luiz Silva (Red)

Page 3: scilab  aula 05

“Um conjunto finito de regras que provê uma seqüência de operações para resolver um tipo de problema específico” - [Knuth]

“Seqüência ordenada, e não ambÍgua, de passos que levam à solução de um dado problema” - [Tremblay]

UFOP - ICEB - DECOM

Prof. Marcelo Luiz Silva (Red)

DEFINIÇÃO DE ALGORITMO

Page 4: scilab  aula 05

♦ Diante de um problema, busca-se a solução!♦ O algoritmo não é a solução de um problema, pois, se assim fosse, cada problema teria um único algoritmo;♦ O algoritmo é um conjunto de passos (ações) que levam à solução de um determinado problema, ou então, é um caminho para a solução de um problema.♦ Os caminhos podem ser muitos!♦ Objetivo deste estudo: possibilitar ao aluno, a partir das soluções apresentadas, construir sua própria lógica de programação.

UFOP - ICEB - DECOM

Prof. Marcelo Luiz Silva (Red)

POR QUE ESTUDAR ALGORITMOS?

Page 5: scilab  aula 05

♦ Ligação de um telefone públicoProblema: falar com alguém pelo telefone.1) retirar o telefone do gancho2) esperar o sinal3) colocar o cartão4) discar o número5) falar no telefone6) colocar o telefone no gancho

UFOP - ICEB - DECOM

Prof. Marcelo Luiz Silva (Red)

EXEMPLOS DE ALGORITMOS COTIDIANOS

Page 6: scilab  aula 05

♦ Algoritmo para levar um leão, uma cabra e um pé de alface, de um lado para outro de um rio, atravessando com um bote. Sabe-se que nunca o leão pode ficar sozinho com a cabra e nem a cabra sozinha com o alface.1) levar a alface e o leão2) voltar com o leão3) deixar o leão4) levar a cabra5) deixar a cabra6) voltar com o alface7) levar o leão e o alface

UFOP - ICEB - DECOM

Prof. Marcelo Luiz Silva (Red)

EXEMPLOS DE ALGORITMOS COTIDIANOS

Page 7: scilab  aula 05

♦ Algoritmo para fazer uma prova1) ler a prova;2) pegar a caneta;3) enquanto ( (houver questão em branco) e (tempo não terminou) ) faça se (souber a questão) resolvê-la; senão pular para a outra; fim-enquanto;4) entregar a prova.

UFOP - ICEB - DECOM

Prof. Marcelo Luiz Silva (Red)

EXEMPLOS DE ALGORITMOS COTIDIANOS

Page 8: scilab  aula 05

Fazer um algoritmo para levar 3 missionários e 3 canibais de um lado para outro de um rio, atravessando com um bote. Sabe-se que nunca pode ter mais missionários do que canibais, porque senão os missionários catequizam os canibais. O que fazer para levar os 6 de uma margem para a outra?

UFOP - ICEB - DECOM

Prof. Marcelo Luiz Silva (Red)

D E S A F I O

Page 9: scilab  aula 05

♦ Cada linha do algoritmo (passo) é uma instrução finita e compreensível para que a executa;♦ INSTRUÇÃO: indica a um computador uma ação elementar a ser executada;♦ Ao formularmos um algoritmo, temos de ter clareza a respeito do aspecto estático dessa seqüência de ações escritas num pedaço de papel. O aspecto dinâmico só se evidencia ao executamos essa seqüência no computador e daí, poderemos ter certeza se conseguimos ou não resolver o problema.

UFOP - ICEB - DECOM

Prof. Marcelo Luiz Silva (Red)

ALGORITMOS ...

Page 10: scilab  aula 05

♦PROGRAMA DE COMPUTADOR: é um algoritmo escrito em uma linguagem de programação qualquer (C, Pascal, Eiffel, Java, etc.). É a tradução da linguagem do algoritmo para a linguagem de programação.♦ O mais importante de um programa é a sua lógica, raciocínio utilizado para resolver o problema que é exatamente o algoritmo.

PROGRAMA =ALGORITMO + LINGUAGEM DE PROGRAMAÇÃO

UFOP - ICEB - DECOM

Prof. Marcelo Luiz Silva (Red)

ALGORITMO – PROGRAMA DE COMPUTADOR

Page 11: scilab  aula 05

Algoritmo1) retire uma moeda do bolso;2) coloque a moeda sobre a mesa;3) volte ao passo 1;

Problema: e quando não houver mais moedas no bolso?

O algoritmo não sabe o que fazer...

UFOP - ICEB - DECOM

Prof. Marcelo Luiz Silva (Red)

O PROBLEMA DA AMBIGUIDADE

Page 12: scilab  aula 05

♦ Ter um início e fim claros;♦ Não dar margem a interpretações duplas (ambiguidade); ♦ ter zero ou mais informações de entrada; ♦ ter uma ou mais informações de saída; ♦ ter passos claros e bem definidos.

UFOP - ICEB - DECOM

Prof. Marcelo Luiz Silva (Red)

CARACTERÍSTICAS DE UM ALGORITMO

Page 13: scilab  aula 05

♦ Para representar-se os algoritmos requer-se alguma forma de linguagem;♦ Algumas formas de representação: ♦ descrição narrativa; ♦ fluxograma; ♦ Pseudocódigo: português estruturado ou portugol.

UFOP - ICEB - DECOM

Prof. Marcelo Luiz Silva (Red)

REPRESENTAÇÃO DE ALGORITMOS

Page 14: scilab  aula 05

♦ Os algoritmos são expressos diretamente em linguagem natural (Português).

♦ Exemplo: Cálculo da média de um aluno

1) Obter as notas da primeira e da segunda prova;2) Calcular a média aritmética entre as duas notas;3) Se a média for maior ou igual a 6.0, o aluno foi aprovado, senão ele foi reprovado.

UFOP - ICEB - DECOM

Prof. Marcelo Luiz Silva (Red)

Descrição Narrativa

Page 15: scilab  aula 05

VANTAGEM ♦ O português é bastante conhecido por nós.

DESVANTAGEM ♦ Imprecisão e Extensão, isto é, escreve-se muito para dizer pouca coisa.

UFOP - ICEB - DECOM

Prof. Marcelo Luiz Silva (Red)

Descrição Narrativa

Page 16: scilab  aula 05

Utilização de símbolos gráficos padronizados para representar os algoritmos.

UFOP - ICEB - DECOM

Prof. Marcelo Luiz Silva (Red)

FLUXOGRAMA

Page 17: scilab  aula 05

Cálculo da média de um aluno.

UFOP - ICEB - DECOM

Prof. Marcelo Luiz Silva (Red)

FLUXOGRAMA

Page 18: scilab  aula 05

VANTAGENS♦ Uma das ferramentas mais conhecidas;♦ Figuras dizem mais que palavras;♦ Padrão mundial.

DESVANTAGENS♦ Pouca atenção aos dados, não oferecendo recursos para descrevê-los e representá-los;♦ Torna-se complicado a medida que o algoritmo cresce.

UFOP - ICEB - DECOM

Prof. Marcelo Luiz Silva (Red)

FLUXOGRAMA

Page 19: scilab  aula 05

♦Combina a facilidade da linguagem natural com a precisão da linguagem de programação.

JOGO DA FORCA1) escolher a palavra;2) montar o diagrama do jogo;3) enquanto ( (houver lacunas vazias) e (corpo incompleto) ) faça se (acertar uma letra) escrever na lacuna correspondente; senão desenhar uma parte do corpo na forca;4) fim

UFOP - ICEB - DECOM

Prof. Marcelo Luiz Silva (Red)

PSEUDOCÓDIGO

Page 20: scilab  aula 05

VANTAGENS ♦ Usa o português como base; ♦ Pode-se definir quais e como os dados vão estar estruturados; ♦ Passagem quase que imediata do algoritmo para uma linguagem de programação qualquer.

DESVANTAGENS ♦ Não padronizado

UFOP - ICEB - DECOM

Prof. Marcelo Luiz Silva (Red)

PSEUDOCÓDIGO

Page 21: scilab  aula 05

1) Escreva o algoritmo na forma de descrição narrativa para fritar um ovo.2) Escreva os algoritmos utilizando fluxogramas:a) Obter a soma (S) e o produto (P) de dois valores (A; B) inseridos por teclado. Imprimir o resultado.b) Calcular a área (A) de um retângulo. A base (B) e a altura (H) do retângulo são inseridos por teclado. Imprimir o resultado.3) Escrever os pseudocódigos para:a) Dados 2 valores por teclado mostrá-los em ordem crecente.b) Dado um número, responder se ele é positivo ou negativo

UFOP - ICEB - DECOM

Prof. Marcelo Luiz Silva (Red)

EXERCÍCIOS