Vous êtes sur la page 1sur 6

09/10/2010

O que vamos estudar?


 Lógica de programação de um algoritmo
 Tipos de dados
◦ Lógicos

Programação ◦ Numéricos
◦ Caracteres
◦ Arrays / Matrizes
 Estruturas de repetições
Victor da Costa Wanderley  Estruturas de decisão
{victorwanderley@gmail.com}  Operadores aritméticos
 Operadores lógicos e relacionais
 Linguagem C

09/10/2010 Victor Wanderley 1 09/10/2010 Victor Wanderley 2

Por que Lógica de Programação? Por onde começar?


 Conhecer todos os elementos que compõem a  O que é um algoritmo?
construção de um algoritmo.
◦ Sequencia de passos necessários para
 Entender como transformar a idéia (receita) em um executar um determinada tarefa.
programa

ALGORITMO SAÍDA
ENTRADA
(DESCRIÇÃO DOS (DADOS OU
(DADOS)
PASSOS) INFORMAÇÃO)

09/10/2010 Victor Wanderley 3 09/10/2010 Victor Wanderley 4

Por onde começar? Por onde começar?


 Definições clássicas  Todo algoritmo deve apresentar algumas características
◦ “Um conjunto finito de regras que provê uma seqüência de básicas:
operações para resolver um tipo de problema específico”  Ter fim;
[KNUTH]  Não dar margem à dupla interpretação (não ambíguo);
 Capacidade de receber dado(s) de entrada do mundo
◦ “Seqüência ordenada, e não ambígua, de passos que levam à exterior;
solução de um dado problema” [TREMBLAY]  Poder gerar informações de saída para o mundo externo ao
do ambiente do algoritmo;
◦ “Processo de cálculo, ou de resolução de um grupo de  Ser efetivo (todas as etapas especificadas no algoritmo devem
problemas semelhantes, em que se estipulam, com generalidade ser alcançáveis em um tempo finito).
e sem restrições, as regras formais para a obtenção do resultado
ou da solução do problema” [AURÉLIO]

09/10/2010 Victor Wanderley 5 09/10/2010 Victor Wanderley 6

1
09/10/2010

Por onde começar? Descrição Narrativa


 Formas de Representação  Exemplo: Receita culinária
◦ Descrição Narrativa;
◦ Problemas: Ambiguidade -> Imprecisão
◦ Diagrama de Nassi-Shneiderman – Diagrama de Chapin ◦ Bolinho de Chuva
 Passo 1: Em uma tigela, bata o açúcar, a manteiga e o ovo até
ficar homogêneo ?????.
◦ Fluxograma Convencional;
 Passo 2: Em outro recipiente misture a farinha, o fermento, a
canela, uma pitada de sal, o leite e a outra mistura. Misture
◦ Pseudocódigo, também conhecido como Linguagem Estruturada bem ????.
ou Portugol.  Passo 3: Aqueça óleo e pingue colheradas da massa
(quantidade por vez???), fritando os bolinhos até dourar.
 Passo 4: Escorra bem, polvilhe açúcar e sirva.

09/10/2010 Victor Wanderley 7 09/10/2010 Victor Wanderley 8

Por onde começar? Algoritmos Computacionais


 Detalhamento do algoritmo:  O computador deve executar a tarefa
 Precisamos de uma linguagem de Programação
Faça uma massa da maneira
Em uma tigela, bata o açúcar e a  É preciso transformar a idéia (receita) em um programa
tradicional com o açúcar, a
manteiga. Depois, adicione um ovo.
manteiga, o ovo a farinha, o
Em outro recipiente, peneire a utilizando uma linguagem de programação
fermento, a canela e uma pitada de
farinha e adicione o fermento, a
sal. Frite os bolinhos e polvilhe
canela e uma pitada de sal. Vá  Linguagens de programação
com açúcar.
juntando essa mistura da farinha à
outra mistura, alternando com ◦ Pascal é uma linguagem estruturada, assim como C, Modula 2,
leite. Misture bem. Em uma panela, Perl, JAVA, C#, C++, Python, JavaScript,ASP.Net, etc.
aqueça uns 5 centímetros de óleo.
Quando o óleo estiver quente, ◦ Por enquanto, ao invés de estudar uma linguagem diretamente,
Nível de Detalhe: pode ser diferente, dependendo, por pingue colheradas da massa e frite vamos definir uma linguagem padrão para construir algoritmos
exemplo, da experiência da cozinheira que está lendo a os bolinhos até dourar. Escorra
receita... Em nosso caso, o computador deve ser capaz de bem, polvilhe açúcar e sirva. computacionais chamada de pseudo-código e usar esse pseudo-
executar a tarefa. código para apresentar os conceitos comuns às linguagens
estruturadas.

09/10/2010 Victor Wanderley 9 09/10/2010 Victor Wanderley 10

Pseudo-Código Pseudo-Código
 Sintaxe mais flexível que a de uma linguagem de  Poderemos construir um programa em uma
programação real linguagem estruturada com facilidade se
tivermos um algoritmo em pseudo-código
◦ Permite que pensemos nos passos que o algoritmo estruturado adequadamente
computacional deve descrever sem nos
preocuparmos demais com a forma de escrevê-los. ◦ Os elementos do pseudo-código são os mesmos das
linguagens estruturadas. Isto é, depois de desenvolver
 Ênfase nas idéias, e não nos detalhes (relevantes as idéias, a tradução para linguagem de programação é
um processo simples e mecânico.
apenas para a linguagem de programação.

09/10/2010 Victor Wanderley 11 09/10/2010 Victor Wanderley 12

2
09/10/2010

Pseudo-Código Pseudo-Código
 Dados e Tipos de dados  Tipo de Dados: Numérico
◦ Todo dado é um certo tipo que define sua natureza
quanto a representação no computador e as ◦ Os tipos numéricos estão divididos em:
operações possíveis.  Inteiros
◦ Por exemplo, podemos somar dois valores numéricos,  Representa um número inteiro. Por exemplo -1, 0, 1 e 26
mas não podemos somar um número e um nome. são dados inteiros.
◦ Os tipos mais comum são: numéricos, caracteres,  Devem ser usados para idades em anos, números de
pessoas etc.
lógicos.
 Estes também são conhecidos como dados básicos  Reais
◦ Os tipos básicos podem ser estruturados em tipos  Representa um dado de ponto flutuante. Por exemplo 3,14;
mais complexos, como por exemplo uma frase ou 1,2; 32,00 são dados reais.
nome que são construídos a partir de caracteres.  Devem ser usados para indicar valores fracionados e que
necessitem de precisão. Ex.: Saldo bancário, Altura, Peso etc.

09/10/2010 Prof. Victor Wanderley 13 09/10/2010 Prof. Victor Wanderley 14

Pseudo-Código Pseudo-Código
 Cuidado!!!  Tipo de Dado: Caractere
◦ No projeto de um algoritmo, devemos usar o ◦ Dados que representam valores alfanuméricos
tipo de dado mais adequado para expressar unitários são do tipo caractere.
um determinado valor.  Os valores alfa numérico incluem letras, números e
símbolos, por exemplo:„A‟, „a‟, „@‟, „*‟, „1‟, „9‟ etc.
◦ Ex.: Não devemos usar um tipo de dado real  Perceba que o valor do caractere é destacado entre
para a idade de um indivíduo, quando o tipo duas aspas simples: „ ‟.
inteiro resolve o problema.  Cuidado para não confundir um número e um
caractere.
 Ex.: „1‟ ≠ 1
◦ Podem ser utilizados para codificação de
algum item, como sexo („m‟ ou „f‟).
09/10/2010 Prof. Victor Wanderley 15 09/10/2010 Prof. Victor Wanderley 16

Pseudo-Código Tabela ASCII


◦ Cada caractere, que é uma representação
gráfica para nós, deve ser codificado em um
número para que o computador entenda.
 Existem várias formas de se codificar, sendo que a
mais conhecida é utilizando usando a tabela ASCII
que define 256 caracteres, codificados em 8 bits.

09/10/2010 Prof. Victor Wanderley 17 09/10/2010 Prof. Victor Wanderley 18

3
09/10/2010

Pseudo-Código Pseudo-Código
 Tipo de dados: Lógico  Variáveis
◦ Um variável para um algoritmos pode ser definida como
◦ Dados que podem assumir apenas dois sendo um espaço de armazenamento de um valor de um
determinado tipo.
valores: ◦ Por ser uma varivável, como o próprio nome sugere, pode
 Verdadeiro ou falso sofres alterações durante a computação do algoritmo
 1 ou 0  Constantes
◦ Apesar de armazenar também um valor de qualquer que
 Sim ou não seja o tipo do dado, este não sofrerá alterações durante a
 True or False computação do algoritmo, devendo o valor ser preservado
para facilitar o entendimento do código.
◦ São usados pra expressar alguma sentença ◦ Ex.:
lógica.  PI = 3,14
 “segunda-feira”
 Ex.: 4 > 5 é falso

09/10/2010 Prof. Victor Wanderley 19 09/10/2010 Prof. Victor Wanderley 20

Pseudo-Código Pseudo-Código
 Identificadores  Declaração
◦ Toda variável e toda constante deverá possuir ◦ Variável
um identificador, que deverá ser um nome  <tipo_da_variável> <nome_da_variável>
pelo qual serão reconhecidos ao longo do  Ex.:
algoritmo.  inteiro idade;
Tipo  real saldo_bancário; Identificador
◦ O identificador é criado no momento no qual
 caractere sexo;
a variável/constante é declarada.
◦ Constante
 constante <tipo_da_constante> <nome_da_constante> = #valor#
 Ex.:
 constante real pi = 3,14
09/10/2010 Prof. Victor Wanderley 21 09/10/2010 Prof. Victor Wanderley 22

Pseudo-Código Pseudo-Código
 Operadores  Operadores Relacionais
◦ Os operadores vão depender do tipo de dado com o qual se ◦ Retornam um valor lógico
está trabalhando Operador Descrição
◦ Operadores aritméticos > Maior que
 Utilizados para dados numéricos >= Maior ou igual que
Operador Descrição < Menor que
+ Operador binário: Soma <= Menor ou igual que
- Operador binário/unário: subtração e troca de sinal == Igual
* Operador binário: Multiplicação != Diferente
/ Operador binário: Divisão
% Operador binário: resto da divisão de inteiros
++ Operador unário: incremento. Ex.: idade++=> idade = idade + 1
-- Operador unário: decremento. Ex.: idade-- => idade = idade – 1

09/10/2010 Prof. Victor Wanderley 23 09/10/2010 Prof. Victor Wanderley 24

4
09/10/2010

Pseudo-Código Pseudo-Código
 Operadores lógicos  Operador de atribuição
◦ São utilizados para dados do tipo lógico e representam uma ◦ Utilizaremos o sinal “=” para indicar uma atribuição.
função do tipo booleana ◦ Ex.:
Operador Descrição  idade = 90
&& Operador binário: E (função AND)  peso = 50

|| Operador binário: OU (função OR)


! Operador unário: NÃO (função NOT)
 Obs.: Apesar de estarmos utilizando estas representações gráficas
^ Operador binário: OU-EXCLUSIVO (função XOR)
para estes operadores, é comum que, dependendo do autor, sejam
& Operador binário: AND lógico bit a bit
apresentadas outro grafismo para representar algumas das
| Operador binário: OR lógico bit a bit operações acima.
~ Operador unário: NOT lógico bit a bit
>> Operador binário: deslocamento de bits para direita
<< Operador binário: deslocamento de bits para esquerda

09/10/2010 Prof. Victor Wanderley 25 09/10/2010 Prof. Victor Wanderley 26

Pseudo-Código Pseudo-Código
 Abreviando expressões  Tabela de precedência

09/10/2010 Prof. Victor Wanderley 27 09/10/2010 Prof. Victor Wanderley 28

Pseudo-Código Pseudo-Código
 Criando um algoritmo  Como estamos utilizando um padrão parecido a uma
◦ O pseudo-código deve ser escrito da seguinte linguagem estruturada, como C, o próximo passo é a
forma : declaração das variáveis e constantes que serão
Algoritmo <nome_algoritmo>
utilizadas ao longo do algoritmo.
...
... Algoritmo <nome_algoritmo>
...
fim Declarações
<tipo> <nome> = <valor_inicial>
◦ A palavra “Algoritmo” seguida do nome do ...
algoritmo indica o início de um pseudo-código e ...
para indicar a finalização deste código utiliza-se a fim
palavra “fim”

09/10/2010 Prof. Victor Wanderley 29 09/10/2010 Prof. Victor Wanderley 30

5
09/10/2010

Pseudo-Código Dúvidas?
 Exemplo: Calcular as raízes de equação de 2º grau.
Algoritmo Raizes

Declarações
real a, b, c = 0
real delta = 0
real x1,x2 = 0

leia(a, b, c)
delta = b*b - 4*c*a

se (delta < 0) então


escreva (“Esta equação não possui raizes reais”)
senão
x1 = -1*b - raiz(delta,2)/2*a
x2 = 1*b - raiz(delta,2)/2*a
escreva (“As raizes são”, x1, “e”, x2)
fim se
fim
09/10/2010 Victor Wanderley 31 09/10/2010 Victor Wanderley 32

Vous aimerez peut-être aussi