Sei sulla pagina 1di 35

Aula 10 Introduo Algoritmos

Disciplina: Fundamentos de Lgica e Algoritmos Prof. Bruno Gomes http://www3.ifrn.edu.br/~brunogomes

Agenda da Aula

Introduo aos Algoritmos:


Conceitos Iniciais; Programa de Computador; Formas de Representao de Algoritmos.

Pergunta

O que fazer para resolver um problema?


Definio do problema; Verificar quais so as formas de resolv-lo; Definir e utilizar uma das formas de resoluo do problema; Analisar se o problema foi resolvido.

Algoritmos

Vem do nome do matemtico iraniano:

Abu Abdullah Mohammad Ibn Musa al-Khawarizmi.

Considerado tambm o fundador da lgebra;

Algumas Definies:

Um procedimento passo a passo para a soluo de um problema; Uma sequncia detalhada de aes executadas para realizar alguma tarefa. a serem

Algoritmos

Algoritmo NO :

A soluo de um problema!!

Consiste nos passos necessrios para se chegar soluo!

Algoritmos

Usamos algoritmos no nosso cotidiano;

aplicado nas conhecimento.

mais

diversas

reas

do

Exemplo: Receita de Bolo

Como fazer um bolo?

Exemplo: Clculo Matemtico

Como calcular a mdia de duas notas de um aluno?

Exemplo: Ida Escola

Aps acordar, o que voc faz para chegar at a Escola?

Outros Exemplos

Instrues eletrnico;

para

se

utilizar

um

aparelho

Maneira como so calculadas mensalmente as contas de gua, luz e telefone.

Caractersticas de um Algoritmo

Deve ter fim; No pode ter dupla interpretao (ambiguidade); Deve permitir gerar informaes de sada;

Deve ser bem definido.

Importncia de Algoritmos

"A noo de algoritmo bsica para toda a programao de Computadores.

Knuth - Prof. da Universidade de Stanford.

"O conceito central da programao e da cincia da computao o conceito de algoritmo".

Wirth - Prof. da Universidade de Zurique.

Observao

A partir de um algoritmo, o programador poder implement-lo em qualquer linguagem de programao que conhea ou deseje.

ALGORITMOS NA COMPUTAO

Contextualizando: Programa de Computador

Um computador contm:

UCP (processador); Memria; Dispositivos de Entrada e Sada.

O processador contm instrues que capaz de executar:


Operaes matemticas; Interaes com dispositivos E/S; Elas so executadas sequencialmente (passo a passo).

Programa de Computador

Esse conjunto de instrues que ser executado pelo processador chamado de Programa de Computador. Esta sequncia de passos permitem que o problema possa ser resolvido de maneira automtica e repetitiva.

Programa de Computador

Concluso:

Um programa de computador nada mais que um tipo de algoritmo.

O que o computador entende?

Uma linguagem composta apenas por nmeros.

Linguagem de Mquina.

Linguagens de Programao

A classificao das linguagens considerando sua proximidade linguagem de mquina.


Quanto mais prximo:

feita com a

Linguagens de Programao de Baixo Nvel.

Quanto mais distantes:

Linguagens de Programao de Alto Nvel.

Linguagens de Baixo Nvel

Devido a dificuldade em se programar em linguagens de baixo nvel, foram criadas novas linguagens mais fceis de se entender. Foi criada a linguagem de montagem (Assembly):

Instrues alfanumricas;
Cdigo em Linguagem de Montagem
Representao

Assembler

Cdigo em Linguagem de Mquina

Linguagens de Alto Nvel

Criao das Linguagens de Alto Nvel:


Independentes de Processador; Cdigo mais elaborado; Linguagens mais prximas da lgica humana.

Exemplos:

Java, C#, C++, entre muitas outras.

Reflexo
Programar uma arte. Resume-se a ensinar um computador a fazer o que tem de ser feito. No basta apenas sentar em uma cadeira e comear a escrever cdigo, voc no apenas um mero codificador. Esta arte exige que voc seja um bom ouvinte, aprenda com facilidade e acima de tudo seja um excelente interpretador. (...) Carlos Brando

FORMAS DE REPRESENTAO DE ALGORITMOS

Conceitos Iniciais

Lgica:
Tcnica de encadear pensamentos determinado objetivo. Construo de uma Sequncia Lgica.

para

atingir

Sequncia Lgica:

Passos (instrues) executados at atingir um objetivo ou soluo de um problema.

Instrues:
Indicam as aes a serem executadas; Um conjunto de regras ou normas definidas para a realizao ou emprego de algo.

Formas de Representao mais Utilizadas

Linguagem Natural ou Descrio Narrativa;

Fluxograma;
Pseudocdigo.

Descrio Narrativa

Utilizao da Linguagem Humana Natural;

Representa a soluo do problema em passos descritivos; Pouco utilizado na computao.

Descrio Narrativa

Exemplo:

Troca de um pneu furado de carro: 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

Fluxo do Algoritmo

Instrues

Observaes

As aes especificadas devem ser claras e precisas; Pouco usada na prtica:

Muitas vezes d oportunidade a ms interpretaes, ambiguidades e imprecises.

Exemplo 2

Calcular a Mdia de um Aluno:


Obter suas 2 notas Realizar a soma das 2 notas Divide o resultado da soma por 2 Exibir a mdia do aluno

Fluxograma

Apresentam os Algoritmos de Forma Grfica;

Formado de figuras geomtricas para descrever as instrues e aes a serem executadas no algoritmo.

Formas Geomtricas

Primeiras Formas:
Incio do algoritmo Instruo / Processamento Fim do Algoritmo

Exemplo

Calcular a Mdia de um Aluno:

Obter as 2 notas Calcular Mdia Exibir a Mdia

Fluxograma

Deve possuir:

Um estado inicial; Ter um perodo de tempo finito; Produzir um estado final previsvel e bem definido.

Dvidas?

Prtica

Crie um algoritmo em descrio narrativa e Fluxograma das duas situaes abaixo:


Tomar Banho; Fazer e tomar um caf; Receber um nmero em metros, e depois deve realizar a converso para centmetros e imprimir o resultado.