Você está na página 1de 66

Professor: Adriano Barreto

Desenvolvimento de algoritmos.
Estudo de algoritmos.
Fluxogramas.
Pseudocdigo.
Tipos de dados bsicos e estruturados.
Estruturas fundamentais de algoritmos: sequncia,
seleo, estruturas de controle.
Vetores e matrizes.
Rotinas.

Recurso.
Arquivos e registros.
Implementao de algoritmos utilizando linguagens de
programao.
Aplicao e uso das estruturas fundamentais de
algoritmos.
Desenvolvimento e implementao de programas.
Modularidade, depurao, testes, documentao de
programas.
http://goo.gl/SjiXh0
Ler
Escrever
Conheci
mento
Por que
programar
difcil ?
A origem da palavra lgica vem do grego logos
(Cincia do raciocnio e da demonstrao).

Poderamos dizer tambm que a lgica a arte
de bem pensar, que a cincia das formas do
pensamento. Visto que a forma mais complexa
do pensamento o raciocnio, a lgica estuda a
correo do raciocnio.
A origem da palavra lgica vem do grego logos
(Cincia do raciocnio e da demonstrao).

Poderamos dizer tambm que a lgica a arte
de bem pensar, que a cincia das formas do
pensamento. Visto que a forma mais complexa
do pensamento o raciocnio, a lgica estuda a
correo do raciocnio.
A lgica ordena o pensamento;

Ex.
O quarto est fechado e meu livro est no. Ento,
preciso primeiro abrir o quarto para pegar o livro.
Rosa me de Ana, Paula filha de Rosa, Jlia filha
de Ana. Ento, Jlia neta de Rosa e sobrinha de
Paula.

Segundo Forbellone e Eberspacher (2000) algoritmo pode ser
definido como uma sequncia de passos que visam atingir um
objetivo bem definido.

De acordo com Farrer (1989) algoritmo a descrio de um
conjunto de comandos que, obedecidos, resultam numa sucesso
finita de aes.

Salvetti e Barbosa (1998) afirmam que algoritmo uma sequncia
finita de instrues ou operaes bsicas (operaes definidas sem
ambiguidade e executveis em tempo finito dispondo-se apenas de
lpis e papel) cuja execuo, em tempo finito, resolve um problema
computacional, qualquer que seja sua instncia.
Em um modo geral, um algoritmo segue um
determinado Padro de Comportamento, com
objetivo de alcanar a soluo de um problema.

Padro de comportamento: imagine a sequncia de
nmeros: 1, 6, 11, 16, 21, 26, ... Para determinar
qual ser o stimo elemento dessa srie, precisamos
descobrir qual a sua regra de formao, isto , qual o
seu padro de comportamento.
Resumindo: Algoritmo uma sequncia
ordenada, e sem ambiguidade (duplo
sentido), de comandos que, obedecidos,
resultam numa sucesso finita e previsvel de
aes.
OPERADORES LGICOS
OPERADORES MATEMTICOS
OPERADORES RELACIONAIS
Escreva o primeiro nmero no retngulo A;
Escreva o segundo nmero no retngulo B;
Some o nmero do retngulo A com nmero do retngulo B e
coloque o resultado no retngulo C;
+ =
A B C
Entrada de Dados: So os dados de entrada do algoritmo;
Processamento de Dados: So os procedimentos utilizados
para chegar ao resultado final;
Sada de Dados: So os dados j processados;

ENTRADA DE DADOS
PROCESSAMENTO DE DADOS SADA DE DADOS
+ =
A B C
Exerccios
SOFTWARE o conjunto dos programas que comandam o funcionamento
Do hardware.
PROGRAMAS o conjunto de instrues que contm as operaes necessrias Para, a partir de
dados inseridos, obter um resultado que ser disponibilizado por algum dispositivo de sada.
LINGUAGEM DE PROGRAMAO o conjunto de representao e/ou regras utilizadas para criar
programas. Por meio delas voc estabelece uma comunicao com o computador, fazendo com que ele
compreenda e execute o que voc determinar.
SISTEMA um conjunto de subsistemas, ou mdulos formados por programas que executam operaes
especficas. Como Exemplo temos o sistema de Estoque, que composto por pelo menos 06 mdulos:
Cadastro de Produto, Cadastro de Fornecedor, Cadastro de Cliente, Vendas, Compras......
Podemos descrever uma atividade bem cotidiana: Trocar uma lmpada. Apesar
de parecer bvia demais, muitas vezes fazemos este tipo de atividade
inconscientemente, sem percebermos os pequenos detalhes.

Vejamos como seria descrev-la passo a passo:

pegar uma escada;
posicionar a escada embaixo da lmpada;
buscar uma lmpada nova;
subir na escada;
retirar a lmpada velha;
colocar a lmpada nova.
1. Ler atentamente o enunciado
Deve-se reler o enunciado de um exerccio quantas
vezes for necessrio, at compreend-lo
completamente.

A maior parte da resoluo de um exerccio consiste na
compreenso completa do enunciado.
2. Retirar a relao das entradas de dados do
enunciado.

Atravs do enunciado, descobrimos quais so os
dados que devem ser fornecidos ao programa, via
teclado, a partir dos quais so desenvolvidos os
clculos.
Obs. Pode haver algum algoritmo que no necessite
da entrada de dados (pouco comum).
3. Retirar do enunciado, a relao das sadas das
informaes.

Atravs do enunciado podemos descobrir quais so as
informaes que devem ser mostradas para compor o
resultado final, objetivo do algoritmo.
4. Determinar o que deve ser feito para transformar as entradas nas
sadas especificadas

Nessa fase que teremos a construo do Algoritmo propriamente
dito.

Devemos determinar qual sequncia de passos ou aes capaz de
transformar um conjunto de dados nas informaes de resultado. Para
isso, utilizamos os fatores descritos anteriormente, tais como
legibilidade, portabilidade, mtodo cartesiano e planejamento reverso,
e finalmente podemos construir o algoritmo.
Escreva um algoritmo com objetivo de matar a fome na rua .

decidir onde comer, conforme tempo e dinheiro disponvel
ir at o local escolhido
decidir o que comer, conforme cardpio, tempo e dinheiro disponvel
fazer o pedido
aguardar o pedido
comer
Constante um valor fixo que no se altera durante a
execuo do algoritmo, podendo ser um valor numrico, um
valor lgico ou uma sequncia de caracteres (literal).

Varivel a representao de um valor (inteiro, real, lgico
ou literal), cujo contedo pode variar durante a execuo do
algoritmo. Apesar de assumir diversos valores, a varivel s
pode armazenar um valor a cada instante.
Inteiro
Representa um valor do conjunto dos nmeros inteiros
Ex: -10, 0, 50
Real
Representa um valor do conjunto dos nmeros reais
Ex: -1.5, -10.0, 3.1415
Ex: 1.5e2, 1e-3
Caractere
Representa um smbolo do teclado
Ex: '1' , 'A', 'a', '#', ' '
String (Palavra)
Representa um conjunto de caracteres
Ex: "Linguagem C#", "TADS", "1", ""
Lgica
Representa um valor verdadeiro ou falso
Ex: true, false
Valores mutveis, ou seja, que podem ser alterados durante a
execuo do algoritmo
So classificadas quanto ao tipo de dado que armazenam
Tipos de variveis
Inteiro
Real
Caractere
String (Palavra)
Lgico
As variveis de um programa so alocadas na memria
principal do computador (RAM);
A memria pode ser vista como um repositrio de valores que
podem ser acessados pelos programas;
Cada varivel possui um nome (identificador) que deve iniciar
com uma letra, seguido de mais letras ou nmeros;
O identificador no pode possuir espaos;

Em um algoritmo necessrio informar a relao de variveis
necessrias a sua execuo
Sintaxe
Declarao de variveis
I : inteiro;
R : real;
S, X : string;
I
R
S
0
0

Memria
X
Uma varivel um nome associado a um valor, dizemos que
a varivel armazena ou contm o valor. As varveis permitem
armazenar e manipular dados nos programa.

Ex: A linha a baixo atribui o valor 2 uma varivel chamada i:
i = 2;
Em seguida adicionamos um 3 para somar-se a uma nova
variavel (tt)

var tt = i + 3
uma forma genrica de escrever um algoritmo, utilizando
uma linguagem simples (nativa a quem o escreve, de forma a
ser entendida por qualquer pessoa) sem necessidade de
conhecer a sintaxe de nenhuma linguagem de programao.

, como o nome indica, um pseudocdigo e, portanto, no
pode ser executado num sistema real (computador) de
outra forma deixaria de ser pseudo.
MATERIAL IMPRESSO
Para testar em casa
http://www.aulavaga.com.br/jogo/travessia-do-rio.html
Aps desenvolver um algoritmo ele dever sempre ser testado. Este
teste chamado de TESTE DE MESA, que significa, seguir as
instrues do algoritmo de maneira precisa para verificar se o
procedimento utilizado est correto ou no.

Utilize a tabela abaixo:
P1 P2 Mdia
Os alunos faro 2 provas: P1 e P2.
Calcular a mdia dos alunos do 1 ano:
(P1+P2) / 2
Quais os dados de entrada?
Qual o processamento?
Qual o dado de sada?
Usar somente um verbo por frase;
Imaginar que voc est desenvolvendo um algoritmo para
pessoas que no trabalham com informtica;
Usar frases curtas e simples;
Ser objetivo;
Procurar usar palavras que no tenham sentido dbio;
Algoritmo <nome_do_algoritmo>
<declarao_de_variveis>
Incio
<corpo_do_algoritmo>
Fim.

O diagrama de blocos uma forma padronizada e
eficaz para representar os passos lgicos de um
determinado processamento.

Pode ser entendido como uma representao
esquemtica de um processo, muitas vezes feito
atravs de grficos que ilustram de forma
descomplicada a transio de informaes entre os
elementos que o compem.
Incio
Receber P1
Receber P2
Receber P3
Calcular Mdia
Receber P4
Mdia
Fim
Escreva um
fluxograma para
escrever e ler 4
percentuais,
calcular a mdia
destes e mostrar
o resultado.
FAA A SOMA DE
DOIS NUMEROS
UTILIZANDO A
NOTAO DE
BLOCOS
DIAGRAMA
ALGORITMO
O diagrama foi criado por Ned Chapin, no qual substitua o
fluxograma tradicional por um diagrama que apresenta uma
viso hierrquica e estruturada da lgica do programa.

A grande vantagem de usar este tipo de diagrama a
representao das estruturas que tem um ponto de entrada e
um ponto de sada e so compostas pelas estruturas bsicas
de controle de sequncia, seleo e repartio

Nome do Algoritmo entre aspas
Comentrios. Podem ser removidos sem
problemas.
Seu programa fica aqui dentro, entre o
inicio e o fim do algoritmo.
escreva ( <lista de expresses> )
Exemplo:
Escreve alguma coisa na sada padro (monitor).

Na linguagem Pascal, equivalente instruo write()

Na linguagem C, equivalente instruo printf()

Instruo escreva()
Sintaxe:
escreva (Ol mundo! Meu primeiro programa!)

Instruo escreva()
Incio
Fim
Ol Mundo! Meu primeiro programa!
Fluxograma:
Instruo escreva()
Nome do Algoritmo!
Nosso Programa!!!
Instruo escreva()
escreval( <lista de expresses> )
Exemplo:
Escreve alguma coisa na sada padro (monitor) e em seguida pula de linha.

Na linguagem Pascal, equivalente instruo writeln()

Na linguagem C, equivalente instruo printf() com \n

Instruo escreval()
Sintaxe:
escreval (Ol mundo!)
escreva (Aqui j outra linha!)

Instruo escreval()
Incio
Fim
Ol Mundo!
Fluxograma:
Aqui j outra linha!"
Instruo escreval()
limpatela()
Exemplo:
Simplesmente limpa a tela, apagando tudo o que h nela.
Na linguagem Pascal, equivalente instruo ClrScr();
Na linguagem C, equivalente instruo system(cls); em Windows

Instruo limpatela()
Sintaxe:
escreval (Oi...)
limpatela()
escreva (...tchau!)

Para conseguirmos v-la, necessrio ativar a opo EXECUTAR COM TIMER.

algoritmo Adriano"
/ / Funo : Test e
/ / Aut or : Adr i ano
/ / Dat a : 01/ 09/ 2014
/ / Seo de Decl ar aes
Var

Nome : car act er e
I dade : i nt ei r o
Peso : r eal
Casado : l ogi co

inicio
/ / Seo de Comandos
Nome <- J os
I dade <- 45
Peso <- 85
Casado <- VERDADEI RO

fimalgoritmo
algoritmo Escr eve

var
Nome : car act er e
I dade : i nt ei r o

inicio

escr eva ( I nf or me o Nome: )
l ei a ( Nome)
escr eva ( I nf or me a I dade: )
l ei a ( I dade)
escr eva ( O nome : , Nome, Comi dade: , I dade)

fimalgoritmo

Faa um algoritmo para ler e mostrar o seu nome, a sua idade e o
ano do seu curso;

Você também pode gostar