Академический Документы
Профессиональный Документы
Культура Документы
Outubro 2009
SUMRIO
Algoritmo;
Pseudolinguagem; Comandos;
Leituras Sugeridas;
ALGORITMO - DEFINIO
Algoritmo: Uma seqncia finita de instrues, ordenada de forma lgica para a resoluo de uma determinada tarefa ou problema Um algoritmo fixa um padro de comportamento a ser seguido, uma norma de execuo, com o objetivo de resolver um determinado problema
LGICA - DEFINIO
No dia-a-dia, entendemos a palavra lgica como: Algo que coerente, bvio, correto Lgica Logos + Ica
Razo
Estuda
Estudo
Cincia
o raciocnio/pensamento humano;
de argumentos.
Argumento
uma seqncia de enunciados, na qual um dos enunciados a concluso, derivado a partir dos outros enunciados premissas.
SILOGISMO - ARISTTELES
Todas as baleias so mamferos. (premissa 1) Alguns animais so baleias. (premissa 2) Logo, alguns animais so mamferos. (concluso)
Raciocnio certo, baseado em premissas corretas
Todos os peixes vivem na gua. (premissa1) Golfinhos so peixes. (premissa 2) .. Golfinhos vivem na gua. (concluso)
Tanto a forma de argumento quando a concluso so verdadeiras, apesar de esta ltima ter sido deduzida a partir de uma premissa falsa ("golfinhos so peixes").
LGICA DE PROGRAMAO
Lgica de programao est relacionada ao raciocnio que precisamos desenvolver para resolver um problema cuja soluo dever ser implementada em um computador. Encadear pensamentos para atingir determinado objetivo.
SOLUO DE PROBLEMAS
A
habilidade mais importante para um cientista da computao a soluo de problemas; A soluo de problemas a habilidade de formular questes, pensar criativamente sobre solues possveis e expressar uma soluo de forma clara e precisa; E aprender a programar uma excelente oportunidade de praticar as habilidades da soluo de problemas.
SOLUO DE PROBLEMAS
Exemplos de problemas:
Criar um sistema de informao que permita gerir as entradas/sadas (cargas/descargas) de navios em um porto martimo
ALGORITMO
Um algoritmo uma forma de representar a soluo de um problema atravs de uma seqncia de passos
So exemplos de algoritmos: Receitas de bolos Manuais tcnicos Guias de montagem Programas de computadores
ALGORITMO - EXEMPLO
Ingredientes: 5 ovos 250 gramas de margarina cremosa 2 xcaras (ch) de acar 1 xcara (ch) de farinha de trigo 1 xcara (ch) de chocolate 200 gramas de cco ralado 1 copo de leite 1 colher (sopa) de fermento
ALGORITMO - EXEMPLO
Modo de Preparo:
neve
ALGORITMO - EXEMPLO
Pegar uma escada Posicionar a escada embaixo lmpada Buscar uma lmpada nova Subir na escada Retirar a lmpada velha Colocar a lmpada nova
da
Pode haver vrios algoritmos para resolver um mesmo problema Afinal, cada pessoa pensa e age de forma diferente
Criatividade Experincia
ALGORITMO INSTRUO/COMANDO
Instruo/Comando: So frases que indicam as aes a serem executadas. So compostas de um verbo no imperativo, ou no infinitivo, mais um complemento. Por exemplo:
Bata
(Bater) duas claras em neve (Ligar) os faris (Somar) dois nmeros (Imprimir) resultado da soma
Ligue Some
Imprima
Identificar o problema (objetivo) mediante leitura atenta de seu enunciado (entendimento) Identificar no enunciado os dados a serem fornecidos para o algoritmo (entrada de dados) Identificar os resultados que devem ser gerados na soluo (sada de dados) Determinar o que deve ser feito para transformar as entradas nas sadas desejadas (processamento)
O que quero?
(Sada)
1. 2. 3. 4.
Entrada
Nmero X Nmero Y
Processamento
Sada
Somar X e Y
Resultado da soma
Exerccio Um lobo, uma cabra e uma couve tm de atravessar um rio num barco que transporta um de cada vez, incluindo o barqueiro. Como que o barqueiro os levar para o outro lado de forma que a cabra no coma a couve e o lobo no coma a cabra?
Resposta:
1.
2.
3.
Traz a cabra;
Leva a cabra;
Leva a couve;
4.
5.
Leva o lobo;
Leva a cabra
Exerccio
Eram dois homens que iam por um caminho. Um levava 8 litros de vinho em um garrafo e o outro levava 8 litros de vinho em dois garrafes, um com cinco litros e um com trs. Beberam o vinho do garrafo maior, de 8 litros, e agora querem dividir os 8 litros de vinho restante igualmente, para que nenhum dos dois carregue mais peso do que o outro. Entretanto, eles s podem usar como medida, os prprios garrafes: um de 8 litros, um de 5 e um de 3. Como fazer?
PSEUDOLINGUAGEM
Pseudo linguagem
PSEUDOLINGUAGEM
Quando da definio de uma linguagem, precisamos definir: Sua sintaxe: como escrever os comandos e seus componentes (tipos, variveis, etc) Sua semntica: o significado de cada comando e conceito
Inicialmente veremos: Tipos; Constantes e Variveis; Comando de declarao; Comando de atribuio; Comandos de entrada e de sada; Bloco de execuo seqencial;
Na Matemtica: As informaes so classificadas em conjuntos. Por exemplo: N = {0, 1, 2, 3, ...} R = {..., -1000, ..., -0,7. ..., 6, .... 400, ....} Na Computao: As informaes so geralmente agrupadas nos seguintes tipos: Inteiro Real Caractere String Lgico
PSEUDOLINGUAGEM
TIPOS PRIMITIVOS/BSICOS DE DADOS
Inteiro: Toda e qualquer informao numrica que pertence ao conjunto dos nmeros inteiros (Z) Pode assumir os valores nulo, positivo ou negativo Exemplos: -15, 0, 20, 4434 Real: Toda e qualquer informao numrica que pertence ao conjunto dos nmeros reais (R) Exemplos: -234.4, 45, 98, 45
Caractere: Toda e qualquer informao composta por um nico caracter numrico (0,1,..,9), alfanumrico (A,B,..,Z,a,b,..,z) ou especial (@,#,!,...) ; Exemplos: D, @, 1 String: Toda e qualquer informao composta por um conjunto de caracteres numricos (0,1,..,9), alfanumricos (A,B,..,Z,a,b,..,z) ou especiais (@,#,!,...) ; Exemplos: No pise na grama, Jos da Silva
PSEUDOLINGUAGEM
Lgico: Toda e qualquer informao que pode assumir apenas os valores: verdadeiro (1) ou falso (0) Exemplos: true, false
PSEUDOLINGUAGEM - VARIVEIS
Em programas computacionais precisamos armazenar informaes para utilizarmos durante a execuo do programa
3000:B712
2000:12EC
PSEUDOLINGUAGEM - VARIVEIS
As linguagens de programao permitem que os usurio atribuam nomes para as posies de memria da mquina
nome
idade
nacionalidade
profissao
Uma varivel um endereo da memria de acesso randmico (RAM), representada por um nome (rtulo), criado pelo usurio, cujo contedo pode se alterar no decorrer do programa
PSEUDOLINGUAGEM - VARIVEIS
Identificador
Identificador
idade 17
Identificador
Identificador
PSEUDOLINGUAGEM - IDENTIFICADORES
O
primeiro caracter deve ser uma letra Pode ser seguido de mais caracteres alfabticos ou numricos No devem ser usados caracteres especiais (#,@,%,?) No pode haver espaos em branco entre os caracteres Os nomes dos identificadores no podem ser os mesmos das palavras reservadas da linguagem de programao Os nomes escolhidos devem ser explicativos do seu contedo
Declarando variveis
1. 2. 3. 4. 5. 6. 7.
8.
9.
Inteiro (X); Inteiro Km/h; Real P{0}; Inteiro U2; Real UYT; Lgico B52 Real AH!; Caractere Asdrubal; Caractere Rua;
17.
Inteiro ALUNO; Inteiro AB*C; Inteiro CEP; Real #55; Real 0&0; Caractere dia/ms; Real x, y, z; Inteiro X1, X2, X3;
Declarando variveis
1. 2. 3. 4. 5. 6. 7.
8.
9.
Inteiro (X); Inteiro Km/h; Real P{0}; Inteiro U2; Real UYT; Lgico B52 Real AH!; Caractere Asdrubal; Caractere Rua;
17.
Inteiro ALUNO; Inteiro AB*C; Inteiro CEP; Real #55; Real 0&0; Caractere dia/ms; Real x, y, z; Inteiro X1, X2, X3;
PSEUDOLINGUAGEM - CONSTANTES
PI
3,14...
CPF 302.453
Quando se declara/cria uma varivel feita uma reserva de uma rea da memria RAM, que ir receber o nome do identificador da varivel
Para se criar uma varivel necessrio dizer de qual tipo ela ser
Em pseudocdigo uma varivel declarada, e portanto, criada, atravs da seguinte sintaxe: <tipo>: <nome_Da_Variavel> inteiro: <nome_Da_Variavel>; real: <nome_Da_Variavel>; caracter: <nome_Da_Variavel>; string: <nome_Da_Variavel>; logico: <nome_Da_Variavel>;
Exemplos de declarao de variveis: inteiro: x1; real: a,b; caracter: letra; string: nome, frase; logico: tem;
x1
10 10,4 Ol
Tipo inteiro
COMANDO DE ATRIBUIO
Comando de atribuio o comando que indica o que a varivel vai receber em seu contedo em determinado momento Para colocar/atribuir um valor em uma varivel usado o comando de atribuio:
COMANDO DE ATRIBUIO
Sua sintaxe :
<nome_Da_Variavel> <Valor_Da_Variavel>;
EXPRESSES MATEMTICAS
( )>
Com o uso de: Variveis Operadores Parnteses Chamadas de mtodos
OPERADORES
Operadores so elementos que possibilitam a manipulao de dados Analisaremos os seguintes operadores: Aritmticos Relacionais Lgicos
a/b
a >= b
OPERADORES ARITMTICOS
OPERADORES ARITMTICOS
Para representar as operaes de radiciao, potenciao e resto da diviso inteira usaremos as palavras rad, pot e mod
Operador rad(X) pot(X,Y) mod Operao Radiciao Potenciao Resto da diviso inteira Exemplos rad(9)= 9 pot(2,3)=23 9 mod 4 = 1
4 2
Prioridade 1 2 3 4
1
2 3 4
Em caso de empate (operadores na mesma prioridade), devemos resolver da esquerda para a direita, conforme a seqncia na expresso
lgebra:
w y=pr mod q+ y x
Pseudo-cdigo:
1
2 3 4
Para alterar a prioridade dos operadores, usamos parnteses. Eles tm precedncia sobre qualquer outro operador
lgebra:
y= abcd e/5
Pseudo-cdigo:
y= ( a+b+c+d+e ) / 5 ;
OPERADORES RELACIONAIS Operadores relacionais so utilizados para realizar comparaes entre dois valores do mesmo tipo primitivo
Operador Operao = Igual a > Maior que < Menor que >= Maior ou igual a <= Menor ou igual a <> Diferente a
Exemplos 3=3, X=X 5>4,X>Y 3<6,X<Y 5>=3, X>=Y 5<=3, X<=Y 8<>9,X<>Y
Proposio = enunciado declarativo, que pode assumir um valor verdade (Verdadeiro ou Falso) O Brasil signatrio do protocolo de Kioto Amsterd a capital da ustria Frases que podem expressar proposies: Sentenas declarativas afirmativas A Lua o nico satlite natural do planeta Terra proposio (V) Recife capital do Cear proposio (F)
Frases que NO expressam proposies Sentenas interrogativas Que horas so? Sentenas exclamativas Feliz Ano Novo! Parece que no sei Sentenas imperativas Pare! No falte aula
Proposies compostas: geradas a partir da combinao de vrias proposies, atravs do uso de conectivos lgicos Conectivos Lgicos: e: ou: No: ~
Exemplo: Se chover e relampejar, eu fico em casa Quando eu fico em casa? p: Est chovendo q: Est relampejando peq pq
Exemplo: Se acabar caf ou acabar o acar, irei ao mercado Quando irei ao mercado? p: Acabou o caf q: Acabou o acar p ou q p q
Exemplo: p: O Sol uma estrela ~p: O Sol NO uma estrela (No verdade que o Sol uma estrela)
Na resoluo de expresses lgicas, as operaes guardam uma hierarquia entre si Prioridade Operadores 1 no 2 e 3 ou Em caso de empate (operadores na mesma prioridade), devemos resolver da esquerda para a direita, conforme a seqncia na expresso
p q r ~t s
4 2 1 3
OPERADORES PRIORIDADE Prioridade Operadores 1 parnteses internos 2 operadores aritmticos 3 operadores relacionais 4 operadores lgicos
pot(2,4) <> 4+2 2+3*5/3 mod 5 < 0 16 <> 6 2+15/3 mod 5 < 0 16 <> 6 2+5 mod 5 < 0 16 <> 6 2+0 < 0 16 <> 6 2 < 0 16 <> 6 2 < 0 V F V
COMANDOS DE ENTRADA
Comandos de entrada permitem que dados sejam inseridos no algoritmo. Sua sintaxe :
leia (<lista_de_identificadores>);
Exemplos:
Corresponde ao nome das variveis nas quais esto armazenados os valores de entrada
COMANDOS DE SADA
Comandos de sada permitem que dados seja passados do algoritmo para outros dispositivos. Sua sintaxe :
escreva(<lista_de_identificadores>);
Exemplos:
Corresponde ao nome das variveis/constant es a serem enviadas a um dispositivo de sada
BLOCO DE EXECUO
Bloco de execuo um conjunto de aes que possui uma funo bem definida O incio de um bloco marcado pela palavra incio O fim de um bloco marcado pela palavra fim
BLOCO DE EXECUO
LEITURAS SUGERIDAS
FORBELLONE, A. L. V.; EBERSPACHER, H. F., Lgica de Programao A Construo de Algoritmos e Estruturas de Dados, Prentice Hall, 2005 http://java.sun.com/docs/books/tutorial/java/javaOO/met hods.html