Você está na página 1de 51

UFSM

CAMPUS DE FREDERICO WESTPHALEN CURSO DE SISTEMAS PARA INTERNET

ALGORITMOS
Aula 1 Conceitos Bsicos Prof. Teresinha Letcia da Silva leticia@cafw.ufsm.br

Algoritmos - TSI

Prof. Teresinha Letcia da Silva

Algoritmos Ementa da disciplina

Estudar as formas para representao do pensamento lgico atravs de tcnicas de desenvolvimento de algoritmos. Representao e manipulao de dados. Construes de algoritmos sequenciais,

condicionais e com estruturas de repetio.

Manipulao de estruturas de dados homogneas e heterogneas e utilizao de sub-rotinas.


Prof. Teresinha Letcia da Silva

Algoritmos - TSI

Algoritmos Contedo programtico

UNIDADE 1 - ESTUDO DE ALGORITMOS


1.1 - Conceitos fundamentais. 1.2 - Variveis, tipos de dados, constantes, operadores aritmticos e lgicos. 1.3 - Expresses, atribuio, representaes grfica e textual de algoritmos. 1.4 - Estruturas de controle (atribuio, sequncia, seleo, repetio). 1.5 - Estruturas compostas (homogneas e heterogneas), funes, ponteiros, vetores dinmicos.
Prof. Teresinha Letcia da Silva

Algoritmos - TSI

Algoritmos Estratgia de Ensino

O contedo didtico da disciplina ser desenvolvido por meio de exposio oral, com o auxilio de equipamento de projeo multimdia e quadro. Para todas as aulas sero propostos exerccios com o objetivo de melhor fixar os contedos e tambm, aulas prticas no laboratrio de informtica.
Prof. Teresinha Letcia da Silva

Algoritmos - TSI

Algoritmos Avaliao da Aprendizagem

A avaliao ser realizada considerando a participao dos alunos e com atividades no laboratrio e duas provas. A nota final ser composta da mdia das avaliaes de cada bimestre. Avaliao 1 Bimestre:

Trabalhos (3,0) + Prova 1 (7,0). Prova 1: 28/05 Trabalhos (3,0) + Prova 2 (7,0) Prova 2: 23/07
Prof. Teresinha Letcia da Silva

Avaliao 2 Bimestre:

Algoritmos - TSI

Algoritmos Material de Apoio

O material de apoio, enunciados de trabalhos e resultados das avaliaes sero disponibilizados no site: http://www.cafw.ufsm.br/~leticia

Algoritmos - TSI

Prof. Teresinha Letcia da Silva

Algoritmos Bibliografia bsica:

Algoritmos - TSI

Prof. Teresinha Letcia da Silva

Conceitos bsicos

Algoritmos - TSI

Prof. Teresinha Letcia da Silva

Conceito de Problema

Algoritmos - TSI

Prof. Teresinha Letcia da Silva

Conceito de Problema

Problema (Dicionrio Michaelis): Substantivo Masculino. Questo matemtica proposta para ser resolvida. Questo difcil, delicada, suscetvel de diversas solues. Qualquer coisa de difcil explicao; mistrio, enigma. Dvida, questo.
Prof. Teresinha Letcia da Silva

Algoritmos - TSI

Exemplos de Problema

Problemas fazem parte do nosso cotidiano. Exemplo de problemas cotidianos:


Trocar a resistncia de um chuveiro. Definir onde Almoar.

Sempre que nos deparamos com um problema buscamos um procedimento para solucionar o mesmo.
Prof. Teresinha Letcia da Silva

Algoritmos - TSI

Exemplo de Soluo

Por exemplo, para trocar a resistncia de um chuveiro devemos:


Adquirir uma resistncia nova; Localizar o chuveiro a ser manipulado; Abrir o chuveiro; Retirar a resistncia defeituosa; Colocar a resistncia nova; Fechar o chuveiro; Descartar a resistncia defeituosa
Prof. Teresinha Letcia da Silva

Algoritmos - TSI

O que orientou a obteno dos procedimentos para as solues vislumbradas?

lgica.

Algoritmos - TSI

Prof. Teresinha Letcia da Silva

Lgica

Voc j ouviu falar em Lgica? No?

Mas, certamente j ouviu algum responder algo do tipo: lgico que eu sei, ou lgico que isso no daria certo. No ?

Voc saberia dizer o que Lgica?

Algoritmos - TSI

Prof. Teresinha Letcia da Silva

Lgica

Pode ser vista como a arte de pensar corretamente. A lgica visa a colocar ordem no pensamento (FARRER, 1999). Utilizamos a lgica de forma natural em nosso dia a dia. Por exemplo:

Algoritmos - TSI

Prof. Teresinha Letcia da Silva

Lgica
a) Sei que o livro est no armrio. Sei que o armrio est fechado. Logo, concluo que tenho de abrir o armrio para pegar o livro. b) Sei que sou mais velho que Joo. Sei que Joo mais velho que Jos. Ento, concluo que eu sou mais velho que Jos.
Algoritmos - TSI Prof. Teresinha Letcia da Silva

Conceito de Lgica

O uso da lgica primordial na soluo de problemas. Com ela possvel alcanar objetivos com eficincia e eficcia.
Ningum ensina outra pessoa a pensar, mas a desenvolver e aperfeioar esta tcnica, com persistncia e constncia.

Algoritmos - TSI

Prof. Teresinha Letcia da Silva

Atividade
Atividade 1.1 Sejam os seguintes fatos: Todos os filhos de Joo so mais altos do que Maria. Antnio filho de Joo. Ento, o que podemos concluir logicamente que? Atividade 1.2 Considere os fatos abaixo: Jos aluno do Tcnico em Informtica para Internet. Para ser aprovado, um aluno precisa obter nota maior ou igual a 7 e comparecer a mais de 75% das aulas. Jos compareceu a todas as aulas e obteve nota igual a 8. Ento, o que podemos concluir?
Algoritmos - TSI Prof. Teresinha Letcia da Silva

Construo de algoritmos

Mas, o que a Lgica tem a ver com algoritmos? A lgica de programao essencial para pessoas que desejam trabalhar com desenvolvimento de programas para computadores. Lgica de programao pode ser definida como um conjunto de tcnicas para encadear pensamentos a fim de atingir determinado objetivo. O objetivo fundamental de toda programao construir algoritmos. Mas, afinal, o que um algoritmo?
Prof. Teresinha Letcia da Silva

Algoritmos - TSI

Conceito de Algoritmo

Podemos definir um algoritmo como:

uma sequncia ordenada de passos que visa atingir um objetivo bem definido;

Formalmente uma sequncia finita de passos que levam execuo de uma tarefa. Podemos pensar em algoritmo como uma receita, uma sequncia de instrues que do cabo de uma meta especfica (FORBELLONE et al., 2005).

Algoritmos - TSI

Prof. Teresinha Letcia da Silva

Algoritmos

Em outras palavras, quando criamos um algoritmo, apenas apontamos uma sequncia de atividades que levam soluo de um problema. At mesmo as solues para os problemas cotidianos mais simples podem ser descritas por sequncias lgicas de atividades, ou seja, por algoritmos.
Prof. Teresinha Letcia da Silva

Algoritmos - TSI

Exemplo de Algoritmo

Problema: Trocar uma lmpada. Sequncia de Passos para Soluo:


1. Pegue uma escada; 2. Posicione a escada embaixo da lmpada; 3. Pegue uma lmpada nova; 4. Suba na escada; 5. Retire a lmpada velha; 6. Coloque a lmpada nova.

Algoritmos - TSI

Prof. Teresinha Letcia da Silva

Exemplo de Algoritmo

Problema: Escovar os dentes. Sequncia de Passos para Soluo:


1. Pegue a escova de dentes; 2. Pegue o creme dental com a outra mo; 3. Coloque creme dental na escova; 4. Coloque a escova na boca e escove os dentes e a lngua; 5. Tire a escova da boca; 6. Lave a boca e a escova com gua.

Algoritmos - TSI

Prof. Teresinha Letcia da Silva

Algoritmo

Esta soluo apenas uma das muitas solues possveis para o problema apresentado. Assim, ao criarmos um algoritmo, indicamos uma dentre vrias possveis sequncias de passos para solucionar o problema.

Um algoritmo um caminho para a soluo de um problema.

Algoritmos - TSI

Prof. Teresinha Letcia da Silva

Aprendizado de algoritmos

Algoritmos no se aprendem:

Copiando algoritmos Lendo algoritmos

Algoritmos s se aprendem

Construindo algoritmos Testando algoritmos

Algoritmos - TSI

Prof. Teresinha Letcia da Silva

Sistematizao de Soluo de Problemas

Primeiro Passo: Compreender o problema


O que pede o problema? Quais so as condies do problema? Quais so as variveis, informaes que temos que descobrir ou calcular? Quais so as informaes relevantes?
Sublinhe-as no enunciado. Agrupe-as conforme a afinidade. Pode ser interessante desenhar uma figura ou algum esquema grfico para auxiliar a compreenso.

Algoritmos - TSI

Prof. Teresinha Letcia da Silva

Sistematizao de Soluo de Problemas

Segundo Passo: Elaborar uma estratgia para a soluo do problema


Encontrar conexo entre os dados e as variveis; considere problemas auxiliares; Est considerando todos os dados? Todas as condies? Seria capaz de enunciar o problema de uma outra maneira? Conhece teoremas ou frmulas que possam ajudar? Voc conhece algum problema parecido? Conhece a soluo deste problema similar? possvel aproveitar esta soluo ou seu mtodo?

Algoritmos - TSI

Prof. Teresinha Letcia da Silva

Sistematizao de Soluo de Problemas

Segundo Passo: Elaborar uma estratgia para a soluo do problema


Se voc no consegue resolver o problema completo, pare e pense:

possvel imaginar um caso particular deste problema que seja mais fcil de resolver? Ou um caso mais geral e tambm mais fcil? Retire algumas das condies e tente resolv-lo. possvel enxergar um caminho para a soluo completa?
Algoritmos - TSI Prof. Teresinha Letcia da Silva

Sistematizao de Soluo de Problemas

Terceiro Passo: Executar a estratgia

Esta etapa a mais fcil, Por este motivo a maioria dos principiantes tende a comear prematuramente por ela e acabam cometendo erros. Outros elaboram estratgias inadequadas e acabam se confundindo na execuo.

Algoritmos - TSI

Prof. Teresinha Letcia da Silva

Sistematizao de Soluo de Problemas

Quarto Passo: Revisar a soluo do problema


Examine a soluo obtida observando o resultado obtido. Voc pode obter a soluo de um outro modo? Qual a essncia do problema e do mtodo de resoluo empregado? Em particular, voc consegue usar o resultado, ou o mtodo, em algum outro problema? Que classe de problemas pode ser solucionada com esta estratgia?

Algoritmos - TSI

Prof. Teresinha Letcia da Silva

Sistematizao de Soluo de Problemas

Resumindo:

Compreenso

Elaborao

Execuo

Reviso

POLYA, George. Janeiro: Intercincia, 1995 Algoritmos - TSIA arte de resolver problemas: um novo aspecto do matemtico mtodo. Rio de Prof. Teresinha Letcia da. Silva

Problemas de Lgica
Trs msicos:
Joo, Antnio e Francisco, tocam guitarra, bateria e baixo. Contudo, no se sabe quem toca o qu. Sabe-se que o Antnio no o baixista. Que Joo ensaia com o guitarrista s Quintas. E que o baixista ensaia sempre sozinho s Teras. Voc consegue dizer quem toca cada um dos instrumentos?

Algoritmos - TSI

Prof. Teresinha Letcia da Silva

Problemas de Lgica

Etapa 1: Compreenda o Problema. Nesta etapa devemos deixar claras as condies do problema, tais como:

Existem trs pessoas e trs instrumentos. Cada pessoa toca um instrumento diferente. Temos que descobrir qual instrumento cada pessoa toca. Existem trs frases informativas que podem levar a soluo.
Prof. Teresinha Letcia da Silva

Algoritmos - TSI

Problemas de Lgica

Etapa 2: Construa uma Estratgia de Resoluo. Agora temos que criar uma forma para buscar a soluo, de maneira que ela possa ser testada. Se voc j fez algum problema similar, esta estratgia surge naturalmente, mas se um problema novo, pode-se levar bastante tempo nesta etapa.

Algoritmos - TSI

Prof. Teresinha Letcia da Silva

Problemas de Lgica

Em nosso problema, uma estratgia possvel concluir quem toca cada instrumento por eliminao, ou seja, analisando as frases informativas do enunciado, eliminam-se as alternativas que no so possveis. Para isso a construo de uma tabela que relacione todas as possibilidades de combinao pessoa X instrumento fundamental.
Prof. Teresinha Letcia da Silva

Algoritmos - TSI

Problemas de Lgica

Vamos utilizar o modelo abaixo:

Algoritmos - TSI

Prof. Teresinha Letcia da Silva

Problemas de Lgica

Etapa 3 - Execute a Estratgia Nesta etapa realizamos os passos definidos na estratgia, ou seja, analisar as frases informativas para preencher a tabela. Vamos comear a preench-la com base na afirmao: Antnio no o baixista. Podemos assinalar na tabela, na coluna de Antnio que ele no toca baixo.
Prof. Teresinha Letcia da Silva

Algoritmos - TSI

Problemas de Lgica

J a segunda afirmao tem que ser analisada em conjunto com a terceira afirmao. Veja bem: Joo ensaia com o guitarrista s Quintas. O baixista ensaia sempre sozinho, s Teras Ora, se Joo ensaia com o guitarrista, logo ele no ensaia sozinho, portanto, ele tambm no o baixista. Assim podemos acrescentar tabela mais um no.
Prof. Teresinha Letcia da Silva

Algoritmos - TSI

Problemas de Lgica

Por eliminao (no Joo nem Antnio). Descobrimos que Francisco o baixista e com isso tambm descobrimos que o mesmo Francisco no guitarrista nem baterista. Analisando agora somente a segunda afirmao Joo ensaia com o guitarrista s Quintas. Podemos concluir que Joo no o guitarrista. E ao assinalar isto na tabela descobrimos quem o guitarrista. Antnio.
Prof. Teresinha Letcia da Silva

Algoritmos - TSI

Problemas de Lgica

Agora por eliminao podemos concluir que o baterista Joo, pois ele no toca guitarra e nem baixo. Alm disso, podemos assinalar que Antnio no toca bateria.

Algoritmos - TSI

Prof. Teresinha Letcia da Silva

Problemas de Lgica
Antonio Baixo Guitarra Bateria Joo Francisco

NO SIM NO

NO NO SIM

SIM NO NO

ANTNIO NO BAIXISTA JOO ENSAIA COM O GUITARRISTA S QUINTAS. O BAIXISTA ENSAIA SEMPRE SOZINHO
Algoritmos - TSI Prof. Teresinha Letcia da Silva

Etapa 4: Revise Esta a etapa em que temos que conferir se o resultado possvel e se respeita a todas condies do problema. Neste caso, a concluso atribuiu uma pessoa a cada instrumento, justamente o esperado.

Algoritmos - TSI

Prof. Teresinha Letcia da Silva

Problemas de Lgica
A me de Takada tem cinco filhos: Tanaco, Taneco, Tanico, Tanoco. Qual o quinto filho?

Algoritmos - TSI

Prof. Teresinha Letcia da Silva

Problemas de Lgica
Existe um lago na Amaznia que fica completamente cheio de algas em 121 dias. Considerando que a rea do lago de 400 m2 e que a reproduo das algas dobra a cada dia (em rea), quantos dias as algas levam para encher a metade do lago?

Algoritmos - TSI

Prof. Teresinha Letcia da Silva

Problemas de Lgica

Leva 120 dias para as algas encherem metade do lago.

Algoritmos - TSI

Prof. Teresinha Letcia da Silva

Problemas de Lgica
Existem 7 bolas de tamanhos iguais, sendo que uma delas possui um peso maior. Descubra qual das 7 bolas a mais pesada, utilizando-se de uma balana de equilbrio. Obs.: Podero ser realizadas somente 2 pesagens.

Algoritmos - TSI

Prof. Teresinha Letcia da Silva

Problemas de Lgica

Trs jesutas e trs canibais precisam atravessar um rio; para tal, dispem de um barco com capacidade para duas pessoas. Por medidas de segurana no se permite que em alguma margem a quantidade de jesutas seja inferior de canibais. Qual a sequncia de passos que permitiria a travessia com segurana ?
Prof. Teresinha Letcia da Silva

Algoritmos - TSI

Problemas de Lgica

Todo algoritmo deve ser testado para validar seu funcionamento. http://www.cafw.ufsm.br/~leticia/Canibais.swf

Algoritmos - TSI

Prof. Teresinha Letcia da Silva

Resumo

Nesta aula voc conheceu o conceito de algoritmo e comeou a desenvolver sua lgica de programao a partir de exemplos de algoritmos presentes em nosso cotidiano. Este apenas o incio dessa grande viagem pelo mundo da programao!

Algoritmos - TSI

Prof. Teresinha Letcia da Silva

Referncias

Material de aulas da disciplina http://pt.wikinourau.org/bin/view/GrupoLogica /WebHome

Algoritmos - TSI

Prof. Teresinha Letcia da Silva

Você também pode gostar