Você está na página 1de 57

Disciplina: Programao I

Curso: Engenharia de Produo


Professor: Marcelo Hage Fialho
mhfialho@yahoo.com.br
Software
Softwares so programas. Programas so
seqncias de instrues que o computador deve
seguir para realizar determinadas tarefas.
Lgica de Programao
Lgica de programao a tcnica de encadear
pensamentos para atingir determinado objetivo.
ALGORITMOS
Sequncia Lgica
Estes pensamentos podem ser descritos como uma
sequncia de instrues, que devem ser seguidas
para se cumprir uma determinada tarefa.

Sequncia Lgica so passos executados at atingir
um objetivo ou soluo de um problema.
ALGORITMOS
Instrues
Na linguagem comum, entende-se por instrues
um conjunto de regras ou normas definidas para a
realizao ou emprego de algo.

Em informtica, porm, instruo a informao que
indica a um computador uma ao elementar a
executar.

A palavra ALGORTMO vem de ALGO + RTMO.
ALGORITMOS
Um algoritmo formalmente uma seqncia finita de
passos que levam a execuo de uma tarefa.

Podemos pensar em algoritmo como uma receita,
uma seqncia de instrues que do cabo de uma
meta especfica.

Estas instrues no podem ser redundantes nem
subjetivas na sua definio, devem ser claras e
precisas.
ALGORITMOS
Como exemplos de algoritmos podemos citar:

os algoritmos das operaes bsicas (adio,
multiplicao, diviso e subtrao) de nmeros reais
decimais;

os manuais de aparelhos eletrnicos, como um
videocassete, que explicam passo-a-passo como,
por exemplo, gravar um evento.
ALGORITMOS
At mesmo as coisas mais simples, podem ser
descritas por seqncias lgicas. Por exemplo:

Chupar uma bala

Pegar a bala
Retirar o papel
Chupar a bala
Jogar o papel no lixo
ALGORITMOS
Somar dois nmeros quaisquer

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

ALGORITMOS
ALGORITMOS
Fazer uma ligao de um telefone pblico
Programas
Os programas de computadores nada mais so do
que algoritmos escritos numa linguagem de
computador (Pascal, C, Cobol, Fortran, Visual Basic
entre outras) e que so interpretados e executados
por uma mquina, no caso um computador.

Sendo assim, um algoritmo para soluo de
problemas em computador, por natureza muito
especfico e rgido em relao aos algoritmos da vida
real.
ALGORITMOS
Desenvolvimento de algoritmos
Os algoritmos so descritos em uma linguagem
chamada pseudocdigo, para posterior
implementao em uma linguagem de
programao.

Portanto, os algoritmos so independentes das
linguagens de programao.

O algoritmo deve ser fcil de se interpretar. Ou
seja, ele deve ser o intermedirio entre a linguagem
falada e a linguagem de programao.

ALGORITMOS
Regras para construo de Algoritmos
A seqncia de instrues de um algoritmo deve ser
escrita de maneira simples e objetiva, observando as
seguintes regras:
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.
ALGORITMOS
Fases
Ao montar um algoritmo, precisamos primeiro dividir
o problema apresentado em trs fases fundamentais:
Onde:
ENTRADA: Dados de entrada do algoritmo
PROCESSAMENTO: Procedimentos utilizados para
chegar ao resultado final
SADA: Dados j processados - resultado
ALGORITMOS
Desenvolvimento de algoritmos
Analogia com o homem
ALGORITMOS
Desenvolvimento de algoritmos
Fases
Imagine o seguinte problema: Calcular a mdia de
quatro provas: P1, P2, P3 e P4.
Onde:
Mdia Final =

Para montar o algoritmo proposto, faremos trs
perguntas:

a) Quais so os dados de entrada?
R: Os dados de entrada so P1, P2, P3 e P4

b) Qual o processamento a ser utilizado?
R: O procedimento ser somar todos os dados de
entrada e dividi-los por 4 (quatro)
ALGORITMOS
c) Quais so os dados de sada?
R: Como dados de sada temos a mdia final

Algoritmo

Receba a nota da prova1
Receba a nota de prova2
Receba a nota de prova3
Receba a nota da prova4
Some todas as notas e divida o resultado por 4
Mostre o resultado da diviso
ALGORITMOS
Variveis e Tipos de Dados
Variveis so os elementos bsicos que um
programa manipula.

Variveis so espaos reservados na memria do
computador para armazenar um tipo de dado
determinado.
ALGORITMOS
Variveis
Variveis devem receber nomes para poderem ser
referenciadas e modificadas quando necessrio.

Um programa deve conter declaraes que
especificam de que tipo so as variveis que ele
utilizar.

Embora uma varivel possa assumir diferentes
valores, ela s pode armazenar um valor a cada
instante.
ALGORITMOS
Exemplo de variveis:
ALGORITMOS
Tipos de Dados
Os tipos de dados elementares so:

lgico;
inteiro;
real;
caracter.

ALGORITMOS
O tipo lgico destinado ao armazenamento de
dados lgicos que podem assumir valores verdadeiro
ou falso.

Exemplo: .TRUE.

ALGORITMOS
Os tipos inteiro e real, so ditos tipos numricos:
destinam-se ao armazenamento de nmeros, que
posteriormente podero ser utilizados para clculos.
Exemplo: 10

O tipo inteiro utilizado para armazenamento de
valores inteiros (geralmente resultam de uma
contagem) e o tipo real utilizado para o
armazenamento de valores reais (geralmente
resultam de uma medio), que possuam casas
decimais (valores fracionrios).
Exemplo: 15.5

ALGORITMOS
O tipo caracter destina-se ao armazenamento de
letras, dgitos numricos, smbolos, sinais e outros
caracteres especiais utilizados para controle.

Destinam-se basicamente operaes de
comparao.

Exemplos: "Esta uma cadeia de caracteres", B,
1234, +, &

ALGORITMOS
Declarao de Variveis
As variveis s podem armazenar valores de um
mesmo tipo, sendo assim classificadas como sendo
lgicas, inteiras, reais ou caracteres, conforme seja o
tipo associado s mesmas na declarao.

Os nomes dados s variveis so conhecidos como
identificadores.

ALGORITMOS
Regras para construo de Identificadores:
No podem ser palavras reservadas (instrues);
Devem possuir como 1 caractere uma letra ou
underscore ( _ );
Devem ter como demais dgitos letras, nmeros ou
underscore;
No devem possuir espaos em branco.
ALGORITMOS
Exemplos:
A,B: inteiro;
comprimento: real;
status: logico;
Nome: caracter;

Atravs destas instrues:
foram declaradas as variveis A e B do tipo inteiro;
foi declarada a varivel comprimento do tipo real;
foi declarada a varivel status do tipo logico;
e foi declarada a varivel nome do tipo caracter.



ALGORITMOS
Instrues de Entrada e Sada
ler: instruo de entrada de dados que permite a
leitura de dados passando-os do meio externo para o
interior do computador, alocando-os em variveis.

escrever: instruo de sada de dados que exibe
informaes, passando-as do interior do computador
para o meio externo.

ALGORITMOS
Instruo de Atribuio
O contedo de uma varivel pode ser alterado a
qualquer momento atravs de uma instruo de
atribuio.
Para atribuir valores a variveis usaremos o sinal
:=.

ALGORITMOS
Exemplos:
Peso := 78.7;
Nome := Joo da Silva;
Achei := .FALSE.;

Atravs destas instrues:
foi atribudo varivel Peso o valor 78.7;
foi atribudo varivel Nome o valor "Joo da
Silva;
e foi atribudo varivel Achei o valor .FALSE.
(FALSO).

ALGORITMOS
Estrutura Geral
Inicio
<tipo> <identificador> ;
<instrucao1>;
....
<instrucaon>;
Fim.
ALGORITMOS
A estrutura geral de um algoritmo consta de uma
estrutura seqencial determinada por um Inicio e um
Fim.
O sinal de ; (ponto e vrgula) encerra uma instruo.
Inicio
real pi,raio, area;
pi := 3.1416;
ler (raio);
area := pi * (raio*raio);
escrever (area);
Fim.
ALGORITMOS
Segue um algoritmo que l o raio de uma
circunferncia e calcula sua rea.
Comentrios
Podemos inserir em um algoritmo comentrios para
aumentar a compreenso do mesmo, para isso basta
que a linha que contem o texto inicie com // (barra
barra).

Exemplo:

// Entrada
ler (raio);
ALGORITMOS
aspas
Quando queremos exibir um texto do algoritmo para
o meio externo ela deve estar contida entre aspas,
caso contrrio, o computador ir identificar a
mensagem como varivel indefinida.
Exemplo:
escrever (rea Obtida := , area)
// comando de sada
rea Obtida := 2.34
// Resultado mostrado na sada, supondo o contedo
// da varivel area como sendo igual a 2.34
ALGORITMOS
Os operadores so meios pelo qual calculamos,
comparamos e avaliamos dados dentro do
computador. Temos trs tipos de operadores:

Operadores Aritmticos
Operadores Relacionais
Operadores Lgicos

Operadores
ALGORITMOS
Operadores Aritmticos
Os operadores aritmticos so utilizados para obter
resultados numricos. Alm da adio, subtrao,
multiplicao e diviso, so utilizados tambm
operadores para resto de diviso inteira e
exponenciao.
Os smbolos para os operadores aritmticos so:
ALGORITMOS
OPERAO SMBOLO
Adio
+
Subtrao
-
Multiplicao
*
Diviso
/
Resto de Diviso Inteira
mod
Exponenciao
**
Hierarquia das Operaes Aritmticas

1 ( ) Parnteses
2 Exponenciao
3 Multiplicao, diviso (o que aparecer primeiro)
4 Adio, subtrao (o que aparecer primeiro)

Exemplo:
ALGORITMOS
Operadores Relacionais
Os operadores relacionais so utilizados para
comparaes. Os valores a serem comparados
podem ser strings de caracteres ou variveis.
Estes operadores sempre retornam valores lgicos
(verdadeiro ou falso/ True ou False).
Os smbolos para os operadores relacionais so:

ALGORITMOS
OPERAO SMBOLO
Igual a
=
Diferente de
<>
Maior que
>
Menor que
<
Maior ou igual a
>=
Menor ou igual a
<=
Exemplo:
Para duas variveis A = 5 e B = 3
Os resultados das expresses relacionais seriam:
ALGORITMOS
Operadores Lgicos
Os operadores lgicos servem para combinar
resultados de expresses relacionais, retornando
como resultado final verdadeiro ou falso.

Os operadores lgicos so:
ALGORITMOS
E / AND O resultado de uma expresso com
operador AND (E) verdadeiro se todas as
condies forem verdadeiras.

OR / OU O resultado de uma expresso com
operador OR (OU) verdadeiro se pelo menos uma
condio for verdadeira.

NOT O resultado de uma expresso com operador
NOT (NO) inverte a condio, se verdadeira para
falsa e vice-versa.
ALGORITMOS
Tabela Verdade
A tabela abaixo mostra todos os valores possveis
obtidos a partir dos operadores lgicos AND, OR e
NOT:
ALGORITMOS
Exemplo:
Suponha que temos trs variveis A = 5, B = 8 e C =1
Os resultados das expresses seriam:
ALGORITMOS
ALGORITMOS
Exerccio:

Dadas as variveis SALARIO, IR e SALLIQ, e
considerando os valores abaixo. Informe se as
expresses so verdadeiras ou falsas.
Exerccio:

Sabendo que A=5, B=4 e C=3 e D=6, informe se as
expresses abaixo so verdadeiras ou falsas.

a) (A > C) AND (C <= D) ( )
b) (A+B) > 10 OR (A+B) = (C+D) ( )
c) (A>=C) AND (D >= C) ( )
ALGORITMOS
Estruturas de Controle de Fluxo


As estruturas de controle de fluxo permitem ao
programador alterar a sequncia de execuo do
algoritmo.
ALGORITMOS
Estruturas de Controle de Fluxo

As estruturas de controle de fluxo permitem ao
programador alterar a sequncia de execuo do
algoritmo.

So as seguintes as estruturas de controle de fluxo:
1. Sequncia
2. Desvio
3. Deciso
4. Repetio
ALGORITMOS
Sequncia

Se nada indicar o contrrio, o algoritmo executado
de forma sequencial, da primeira a ltima instruo.

ALGORITMOS
Desvio

O desvio determina a execuo de uma instruo em
um local especificado por um rtulo. Um rtulo uma
marca que define um local especfico no conjunto de
instrues do algoritmo.

As regras para criao do nome deste rtulo so as
mesmas utilizadas para a criao dos nomes de
variveis.

A forma geral da estrutura de desvio a seguinte:
desviar para <rtulo>;

ALGORITMOS

O rtulo deve ser declarado na posio para a qual
ser executado o desvio e deve ser seguido de dois
pontos (:).

O desvio pode saltar para um rtulo que esteja mais
frente ou mais trs no programa.
ALGORITMOS
Como exemplo do uso do desvio temos:
Inicio
A,B,C,D:inteiro;
A:=5;
B:=8;
C:=A+B;
desvio para setor_1;
D:=A*B;
setor_1:
D:=A-B;
escrever D;
Fim.
ALGORITMOS
A estrutura desvio deve ser utilizada com cuidado,
pois o abuso no seu uso tende a tornar o cdigo
confuso.

O desvio no uma estrutura necessria, podendo
sempre ser substituda outras estruturas de controle.

Puristas da programao estruturada recomendam
que o desvio nunca seja usado.

ALGORITMOS
Deciso

Uma estrutura de deciso avalia uma condio e se
a mesma for verdadeira executa um conjunto de
instrues associado a esta estrutura.

Opcionalmente pode ser definido no uso desta
estrutura um outro conjunto de instrues a ser
executado caso a avaliao da condio resulte em
falso.


ALGORITMOS
Deciso

A forma geral da estrutura de deciso a seguinte:
se <condio>
inicio
<conjunto de instrues>
fim
senao
inicio
<conjunto de instrues>
fim;



ALGORITMOS
Repetio

Uma estrutura de repetio destina-se execuo
repetida de um conjunto de instrues associada a
uma condio e apresenta-se de 3 formas distintas:

1) Repetio enquanto for verdadeiro
2) Repetio at que seja verdadeiro
3) Repetio controlada

ALGORITMOS
Repetio enquanto for verdadeiro

A forma geral desta estrutura de repetio a
seguinte:

enquanto <condio>
inicio
<conjunto de instrues>
fim;

ALGORITMOS
Repetio at que seja verdadeiro

A forma geral desta estrutura de repetio a
seguinte:

ate que <condio>
inicio
<conjunto de instrues>
fim;

ALGORITMOS
Repetio controlada

A forma geral desta estrutura de repetio a
seguinte:

para <varivel> = <i1> ate <i2> incremento <i3>
inicio
<conjunto de instrues>
fim;

ALGORITMOS