Vous êtes sur la page 1sur 29

Introduo lgica de programao

Instrutor Tarso Nunes Aires E-mail tarso.aires@ithub.com.br

Introduo
Conceitos iniciais
O livro est no armrio O armrio est fechado necessrio primeiro abrir o armrio para depois pegar o livro

Introduo
Conceitos iniciais
As 3 afirmativas anteriores esto logicamente encadeadas

Na prtica, sempre que queremos pensar, falar, escrever e agir corretamente, usamos intuitivamente a lgica

Introduo
Conceitos iniciais
Lgica
uma cincia filosfica fortemente ligada matemtica um instrumento de argumentao uma tcnica de encadear os pensamentos para atingir um determinado objetivo

Usaremos a lgica para resolver problemas com o auxlio de um computador

Introduo
Conceitos iniciais
O raciocnio humano algo abstrato e intangvel Porm, ele pode ser expresso atravs de palavras, faladas ou escritas Um raciocnio desenvolvido para resolver um determinado problema no varia com a forma pela qual ele expresso

Algoritmo
Conceito
Seqncia de instrues finita e ordenada de forma lgica para a execuo de uma tarefa

Tipos:
No computacional Computacional

Algoritmo
Tarefa: fritar um ovo
Algoritmo 1:
Colocar um ovo na frigideira Esperar o ovo fritar Retirar o ovo da frigideira

Algoritmo
Tarefa: fritar um ovo
Algoritmo 2:
Retirar um ovo da geladeira Colocar a frigideira no fogo Colocar leo Esperar o leo esquentar Quebrar o ovo Colocar o contedo do ovo na frigideira Esperar o ovo fritar Retirar o ovo da frigideira Apagar o fogo

Algoritmo
Exerccio
Trs jesutas e trs canibais precisam atravessar um rio usando um barco No barco s cabem duas pessoas Em nenhuma margem o nmero de canibais pode ser maior que o de jesutas Como atravessar todas as pessoas com segurana?

Algoritmo
Exerccio
Resposta
Atravessar um jesuta e um canibal Trazer um jesuta de volta Atravessar dois canibais Trazer um canibal de volta Atravessar dois jesutas Trazer um jesuta e um canibal de volta Atravessar dois jesutas Trazer um canibal de volta Atravessar dois canibais Trazer um canibal de volta Atravessar dois canibais

Algoritmo
Linguagem
Em um algoritmo, o raciocnio envolvido nos passos para a execuo da tarefa expresso em uma linguagem Os algoritmos anteriores foram expressos em portugus

Algoritmo
Linguagem
Para que o algoritmo possa ser til, a linguagem na qual ele foi expresso precisa ser conhecida no s por quem o projetou, mas tambm por quem vai execut-lo

Algoritmo computacional
Conceito
um algoritmo cuja seqncia de passos pode ser executada por um computador

O algoritmo precisa ser expresso em uma linguagem que o computador entenda. Assim, ele poder execut-lo

Algoritmo computacional
Conceito
Uma linguagem utilizada por um computador para executar algoritmos chamada de linguagem de programao A linguagem de programao, em comparao com a linguagem natural, mais restrita e menos ambgua

Algoritmo computacional
Programa
Um algoritmo expresso em uma dada linguagem de programao, de forma que possa ser executado por um computador, chamado de programa

Algoritmo computacional
Fases
Um algoritmo computacional geralmente possui 3 fases:
Entrada de dados Processamento Sada de dados

Algoritmo computacional
Exemplo
Tarefa: calcular a mdia aritmtica entre 4 nmeros

Perguntas:
Quais os dados de entrada? Qual ser o processamento? Quais os dados de sada?

Algoritmo computacional
Exemplo
Dados de entrada:
4 nmeros. Ns os chamaremos N1, N2, N3 e N4

Processamento:
Somaremos os 4 nmeros e os dividiremos por 4

Dados de sada:
A mdia ou o resultado final

Algoritmo computacional
Exemplo
Passos:
Receber N1 Receber N2 Receber N3 Receber N4 Somar N1, N2, N3 e N4 Dividir a soma por 4 Mostrar o resultado da diviso

Algoritmo computacional
Estrutura
Algoritmos so independentes da linguagem de programao

Podem ser construdos de vrias formas, dentre elas:


Pseudocdigo Fluxograma

Algoritmo computacional
Pseudocdigo
Linguagem para descrever um algoritmo computacional que no uma linguagem de programao Exemplo: PORTUGOL
Hoje existe um programa capaz de executar cdigo escrito em Portugol: o VisualG

Algoritmo computacional
Fluxograma
Representao grfica de um algoritmo Utiliza figuras que representam processamento e sada de dados entrada,

Programa
Conceito
Um programa um algoritmo - ou um conjunto deles - escrito em uma linguagem de programao Exemplos de linguagens de programao: C, C++, Java, Ruby, Python, Javascript...

Programa
Conceito
Computadores no entendem essas linguagens Elas foram criadas para a convenincia do ser humano

Programa
Conceito
Para que um computador possa executar um programa, ele precisa de um meio de traduo para a linguagem de mquina Essa traduo pode ser feita por dois tipos de software:
Interpretador Compilador

Programa
Compilador
Programa que transforma cdigo escrito em uma linguagem de programao em um programa equivalente escrito em linguagem de baixo nvel O programa gerado pode ento ser executado por um sistema computacional

Programa
Interpretador
Executa um programa escrito em uma linguagem de programao linha a linha, convertendo-o em cdigo executvel medida em que o l No existe um processo de compilao: a traduo feita instantaneamente

Links interessantes
VisualG site oficial
http://www.apoioinformatica.inf.br/visualg/objet ivos.htm

Algoritmo Wikipedia (pt-BR)


http://pt.wikipedia.org/wiki/Algoritmo