You are on page 1of 52

ALGORITMOS E

LGICA DE
PROGRAMAO
Eriovaldo Coelho Magalhes
eriovaldo.magalhaes@aedu.com

Contedo Programtico
Declarao de variveis e constantes
Definio de algoritmos
Expresses literais, lgicas e aritmticas
Formas de representao de algoritmos
Histrico e perspectivas para a linguagem
O ambiente de programao
Tipos de dados, variveis e constantes
Comandos de entrada de dados, atribuio e sada
Declarao de variveis e constantes
Estrutura condicional composta
Estrutura condicional composta e encadeada
Estrutura condicional simples
Instrues primitivas: entrada de dados, atribuio e sada
Estrutura de mltipla escolha (CASE)
Repetio condicional com teste no final
Repetio condicional com teste no incio
Repetio controlada por varivel
Aplicaes utilizando vetores e matrizes
Operaes sobre vetores e matrizes
Os vetores como estrutura de dados

AULA 1
APRESENTAO.
1.1.Noo de Algoritmos
1.2. Pseudo Linguagem

Objetivo :
Facilitar o entendimento da
lgica de programao usando
uma linguagem conhecida
(portugus).

Lgica:
A lgica trata da correo do pensamento, isto
, ela nos ensina a usar corretamente o raciocnio.
Pensar com lgica significa ordenar o pensamento.
Para resolver um determinado problema
necessrio raciocinar de forma lgica ordenando o
pensamento com o objetivo de atingir a soluo
pretendida.
A lgica est presente no nosso cotidiano, nas
nossas aes, quando falamos, ou escrevemos, pois
quando
queremos
falar, escrever
ou
agir
corretamente
precisamos
ordenar
nosso
pensamento.

Algoritmo:
Algoritmo pode ser definido como uma
sequncia lgica, e sem ambiguidade de passos
que levam a soluo de um dado problema.
uma sequncia de passos que visam
atingir um objetivo bem definido.
O algoritmo est presente em todas as
aes do nosso dia dia como se fosse um
plano para resoluo de problemas.

Os algoritmos so comuns em nosso


cotidiano, como por exemplo, uma receita de
bolo. Nela est descrita um srie de
ingredientes necessrios, uma sequncia de
passos a serem cumpridos para atingir o
objetivo que ter um bolo pronto. Ou ento um
mapa para chegar at um local, que descreve o
caminho a ser percorrido atravs de uma
sequncia
de
passos.

Podemos descrever atividades do


cotidiano como por exemplo, trocar uma
lmpada queimada.
Apesar
de
aparentemente
bvio
demais, muitas vezes fazemos esse tipo de
atividade sem percebermos determinados
detalhes.
De maneira simples podemos
descrever:

pegue uma escada;


posicione-a embaixo da lmpada
queimada;
pegue uma lmpada nova;
suba na escada;
retire a lmpada velha;
coloque a lmpada nova
desa e guarde a escada.

A sequncia descrita supe que a lmpada


nova no esteja queimada e que se tenha
apenas uma lmpada para ser trocada.
Se tivermos uma outra situao: vrias
lmpadas que precisam ser testadas e trocadas
ou no, conforme sua condio, a sequncia de
passos para a soluo do problema ser outra.
Para resolvermos um problema atravs
da construo de um algoritmo podemos
especificar um mtodo que traduza uma
sequncia lgica de passos:

1. Ler atentamente o enunciado - para resolver um problema necessria sua


compreenso;
2. Retirar do enunciado a relao das entradas de dados - atravs do
enunciado podemos descobrir quais so as informaes que devem ser
fornecidas, a partir das quais desenvolveremos as aes;
3. Retirar do enunciado a relao das sadas de dados - atravs do
enunciado podemos descobrir quais so os dados que devem ser emitidos para
compor o resultado final, objetivo do algoritmo;
4. Determinar as aes que o levaro a atingir o resultado desejado - nesta
etapa precisamos determinar qual sequncia de aes capaz de transformar
um conjunto definido de dados nas informaes de resultado;
5. Construir o algoritmo - descrever os passos para resolver o problema;
6. Executar o algoritmo - implica em executar todas as aes descritas
seguindo o fluxo de execuo estabelecido, verificando se os resultados obtidos
correspondem ao esperado. Desta forma torna-se possvel detectar algum
possvel erro no desenvolvimento do algoritmo. Essa atividade conhecida como
TESTE DE MESA.

Exerccios:
1 - Um homem precisa atravessar um rio com um
barco que possui capacidade de transportar apenas
ele mesmo e mais uma de suas trs cargas, que
so: um lobo, um bode e um mao de alfafa. O que
o homem deve fazer para conseguir atravessar o
rio sem perder suas cargas ?

Informaes:
um barco
um homem
um lobo
um bode
um mao de alfafa
Ficando sozinhos (sem o Homem) :
- O Bode come a Alfafa
- O Lobo come o Bode

ao:
atravessar o rio sem perder as cargas
resultado:
todas as as cargas na outra margem do
rio.

Algoritmo:
incio
atravessar homem e bode
voltar homem
atravessar homem e lobo
voltar homem e bode
atravessar homem e alfafa
voltar homem
atravessar homem e bode
fim

2 - Elabore um algoritmo que mova trs discos de


uma Torre de Hani, que consiste em trs hastes
(a-b-c), uma das quais serve de suporte para trs
discos de tamanhos diferentes (1-2-3), os
menores sobre os maiores. Deve-se mover um
disco de cada vez para qualquer haste, contanto
que nunca seja colocado um disco maior sobre
um menor. O objetivo transferir os trs discos
para outra haste.

aes:
movimentar um disco de cada vez de forma
que fiquem ordenados
resultado:
discos transferidos e ordenados
haste

para outra

Algoritmo:
incio
mover o disco 1 para a haste b
mover o disco 2 para a haste c
mover o disco 1 para a haste c
mover o disco 3 para a haste b
mover o disco 1 para a haste a
mover o disco 2 para a haste b
mover o disco 1 para a haste b
fim

3. Trs jesutas e trs canibais precisam


atravessar um rio; para tal, dispem de um
barco com capacidade para duas pessoas.
Por medidas de segurana no se permite
que em alguma margem a quantidade de
jesutas seja inferior de canibais. Qual a
sequncia de passos que permitiria a
travessia com segurana ?

informaes:
3 jesutas
3 canibais
1 barco com capacidade para 2 pessoas
Condio : no ter em nenhum momento
quantidade de jesutas inferior a canibais.

1. Atravessar um jesuta e um canibal para a margem B


2. Voltar o jesuta para a margem A
3. Atravessar dois canibais para a margem B
4. Voltar um canibal para a margem A
5. Atravessar dois jesutas para a margem B
6. Voltar um jesuta e um canibal para a margem A
7. Atravessar dois jesutas para a margem B
8. Voltar um canibal para a margem A
9. Atravessar dois canibais para a margem B
10. Voltar um canibal para a margem A
11. Atravessar dois canibais para a margem B

ALGORITMOS
J vimos que para resolvermos um problema
atravs da construo de algoritmos podemos
seguir um mtodo, entre outros existentes, que
traduza uma sequncia lgica de passos. Estes
envolvem descobrir as informaes, aes e
resultados.

Introduo Programao
Conceitos Introdutrios sobre Construo de Algoritmos

Contedo
Representao Algortmica
Fases Bsicas da Construo de Algoritmos
Programao Estruturada
Introduo a uma Linguagem Algortmica

Contextualizao
Abrangncia
Apresentar os primeiros conceitos relacionados
construo de algoritmos estruturados.

Importncia
Os conceitos discutidos formam a parte mais
elementar de qualquer algoritmo.

Objetivos

Apresentar as principais formas de representar um algoritmo.


Discutir as 3 fases para construo de algoritmos.
Contextualizar a importncia de Algoritmos Estruturados.
Definir os seguintes conceitos:
Identificadores e Palavras Reservadas
Tipos de Dados
Varivel e Constante
Expresses
Operadores

Formas de representar um algoritmo

Algoritmos podem ser representados, dentre outras maneiras, por:


DESCRIO NARRATIVA
Utiliza uma linguagem de escrita natural para descrever
algoritmos.
FLUXOGRAMA (DIAGRAMA DE MDULOS)
Utiliza uma linguagem de representao grfica para
descrever algoritmos.
LINGUAGEM ALGORTMICA (PSEUDO-CDIGO)
Utiliza uma linguagem de escrita artificial para descrever
algoritmos.

Formas de representar um algoritmo

Exemplo:
Algoritmo para converter uma
temperatura em Fahrenheit
para Celsius

Formas de representar um algoritmo

Descrio narrativa do algoritmo FahrenheitCelsius:


solicite a temperatura em Fahrenheit;
transforme a temperatura em Fahrenheit para
Celsius;
informe a temperatura em Celsius.

Formas de representar um algoritmo


Fluxograma (Diagrama de Mdulos)
Seus principais smbolos grficos so:
= Incio e final do fluxograma
= Operao de entrada de dados
= Operao de sada de dados em impressora

= Operao de sada de dados em vdeo


= Operaes de processamento

= Deciso
= Seta de Fluxo de Dados
= Conector de Fluxo de Dados

Formas de representar um algoritmo


Fluxograma do algoritmo Fahrenheit-Celsius
Incio

Fahrenheit

Incio do algoritmo

Entrada da temperatura (F)


Clculo da temperatura (C)

Celsius = 5/9 * (Fahrenheit 32)

Apresentao do resultado
Celsius

Fim

Fim do algoritmo

Formas de representar um algoritmo


Linguagem algortmica (pseudo-cdigo)
A forma geral de um algoritmo em pseudo-cdigo:
Algoritmo <nome_do_algoritmo>
[<declarao_de_variveis>]
[<sub-algoritmos>]
Incio
<corpo_do_algoritmo>
Fim.

Formas de representar um algoritmo

LINGUAGEM ALGORTMICA (PSEUDO-CDIGO)


Onde:
Algoritmo
Indica o incio da definio do algoritmo.
<nome_do_algoritmo>
Nome dado ao algoritmo para distingui-lo dos demais.
[<declarao_de_variveis>]
Parte opcional onde so declaradas as variveis globais usadas no
algoritmo principal e, eventualmente, nos sub-algoritmos.

Formas de representar um algoritmo

LINGUAGEM ALGORTMICA (PSEUDO-CDIGO)


Onde:
[<subalgoritmos>]
Parte opcional onde so definidos os sub-algoritmos.
Incio
Palavra que delimita o incio do corpo do algoritmo.
<corpo_do_algoritmo>
Conjunto de instrues do algoritmo.
Fim
Palavra que delimita o trmino do corpo do algoritmo.

Formas de representar um algoritmo


Pseudo-cdigo do algoritmo Fahrenheit-Celsius
Algoritmo Fahrenheit-Celsius
Real: Fahrenheit, Celsius;
Incio
Ler (Fahrenheit);
Celsius 5/9 * (Fahrenheit 32);
Escrever (Celsius);
Fim

Formas de representar um algoritmo

Desc. Narrativa
Solicite a temperatura
em Fahrenheit.
Transforme de
Fahrenheit para
Celsius.
Informe a temperatura
em Celsius.

Fluxograma
Incio

Fahrenheit

Celsius = 5/9 *
(Fahrenheit 32)

Celsius

Fim

Ling. Algortmica
Algoritmo Fahrenheit-Celsius
Real: Fahrenheit, Celsius;
Incio
Ler (Fahrenheit);
Celsius 5/9 * (Fahrenheit 32);
Escrever (Celsius);
Fim

Formas de representar um algoritmo

Construindo algoritmos

Uma boa prtica para construir algoritmos dividir o problema em 3 fases


(Entrada, Processamento e Sada).
Lembra-se do seu primeiro mantra de programao?
Entrada

Processamento

Sada

ENTRADA: So os dados de entrada do algoritmo.


PROCESSAMENTO: So os procedimentos utilizados para chegar ao
resultado final.
SADA: So os dados j processados.

Construindo algoritmos

No algoritmo Fahrenheit-Celsius temos:


ENTRADA: Temperatura em Fahrenheit
PROCESSAMENTO: Celsius = 5/9 *(Fahrenheit 32)
SADA: Temperatura em Celsius

Num algoritmo para calcular a rea de um tringulo temos:


ENTRADA: Base e Altura do tringulo
PROCESSAMENTO: rea = (Base * Altura)/2
SADA: rea

Construindo algoritmos

Dividir o problema em Entrada,


Processamento e Sada
ir ajud-lo a ordenar corretamente as
instrues do seus algoritmos.

Construindo algoritmos

Por isso, antes de construir um algoritmo,


pare para pensar e identificar:
Que dados preciso para comear? Entrada
Quais so os clculos e decises? Processamento
Que dados devem ser exibidos? Sada

Atividade 1

Identifique a entrada, o processamento e a sada dos problemas


abaixo:
1. Calcular e exibir a mdia ponderada de 2 notas dadas. (nota1=
peso 6 e nota2= peso 4)
2. Reajustar um salrio em 17,75%.
3. Calcular o desconto de 23% sobre o preo de um produto.
4. Dada uma taxa de cmbio, transformar um valor em Dlar para
Reais.
5. Dada uma taxa de cmbio, transformar um valor em Reais para
Dlar.

Atividade 1 Respostas

1. Calcular e exibir a mdia ponderada de 2 notas dadas.


(nota1= peso 6 e nota2= peso 4)
ENTRADA: nota1 e nota2
PROCESSAMENTO: mdiaP=((nota1 * 6)+(nota2 * 4))/(6+4)
SADA: mdiaP

Atividade 1 Respostas
2. Reajustar um salrio em 7,75%.
ENTRADA: salrio
PROCESSAMENTO: salrioR = salrio+(salrio*0,0775)
SADA: salrioR
3. Calcular o desconto de 23% sobre o preo de um produto.
ENTRADA: preo
PROCESSAMENTO: desconto = preo*0,23
SADA: desconto

Atividade 1 Respostas
4. Dada uma taxa de cmbio, transformar um valor em Dlar para
Reais.
ENTRADA: cmbio e dlar
PROCESSAMENTO: real = dlar * cmbio
SADA: real

5. Dada uma taxa de cmbio, transformar um valor em Reais para


Dlar.
ENTRADA: cmbio e real
PROCESSAMENTO: dlar = real/cmbio
SADA: dlar

Atividade 2

1.) Imagine o seguinte problema: Calcular a mdia final dos


alunos da 3 Srie. Os alunos realizaro quatro provas: P1, P2,
P3 e P4.
Onde:
Mdia Final = P1 + P2 + P3 + P4
-------------------------4

Para montar o algoritmo proposto, faremos trs perguntas:


a) Quais so os dados de entrada?
b) Qual ser o processamento a ser utilizado?
c) Quais sero os dados de sada?

Atividade 2
2.) Imagine o seguinte problema: acrescentar os
pesos para cada prova que so respectivamente :
P1= PESO 4
, P2= PESO 6
, P3= PESO 4
e P4 = PESO
6
- Calcular e mostrar a media_final

Atividade para prxima aula

1) Fazer um algoritmo para ler os lados de um terreno e o valor do seu metro


quadrado, Calcular e mostrar sua metragem, em metros quadrados e valor total do
terreno.
2) Um pecuarista precisa saber quanto precisa reservar de terra para colocar seu
gado: fazer um algoritmo que faa esse calculo, sabendo que :
ANIMAL :
ANIMAL POR ALQUEIRE

BOI
3

VACA
4

BEZERRO
6
3) Escreva um algoritmo para ler as despesas de uma residncia (aluguel, telefone,
luz, gua, supermercado, combustvel, escolas e diversos) e ler as receitas
( salrios e entradas extras) , calcular e mostrar o resultado familiar mensal .
4) Fazer um algoritmo para ler o raio, calcular e mostrar a rea do circulo.

FIM

You might also like