Вы находитесь на странице: 1из 11

Disciplina: Algoritmos e Programao

Professor (a): Elaine Ribeiro

Algoritmos
Para resolver um problema no computador necessrio que seja
primeiramente encontrada uma maneira de descrever este problema
de uma forma clara e precisa. preciso que encontremos uma
seqncia de passos que permitam que o problema possa ser
resolvido de maneira automtica e repetitiva. Alm disto preciso
definir como os dados que sero processados sero armazenados no
computador. Portanto, a soluo de um problema por computador
baseada em dois pontos: a seqncia de passos e a forma como os
dados sero armazenados no computador. Esta seqncia de
passos chamada de algoritmo. Um exemplo simples, de como
um problema pode ser resolvido caso forneamos uma seqncia de
passos que mostrem a soluo, uma receita para preparar um bolo.
A criao de algoritmos para resolver os problemas uma das
maiores
dificuldades
dos
iniciantes
em programao em
computadores. Isto porque no existe um conjunto de regras, ou seja
um algoritmo, que nos permita criar algoritmos. Caso isto fosse
possvel a funo de criador de algoritmos desapareceria. Claro que
existem linhas mestras e estruturas bsicas, a partir das quais
podemos criar algoritmos, mas a soluo completa depende em
grande parte do criador do algoritmo. Geralmente existem diversos
algoritmos para resolver o mesmo problema, cada um segundo o
ponto de vista do seu criador.
Um algoritmo no representa, necessariamente, um programa de
computador, e sim os passos necessrios para realizar uma tarefa
Um algoritmo um conjunto finito de regras que fornece uma
seqncia de operaes para resolver um problema
especfico.
A) Um exemplo de algoritmo o que resolve o seguinte problema:
Considere cinco rs posicionadas em seis casas da seguinte maneira:
r 1

r 2

r 3

r 4

r 5

As rs foram treinadas para trocar de casas, mas sempre obedecendo


as seguintes regras:

elas podem pular para a casa vizinha (frente ou trs), se ela


estiver vazia;

elas podem pular sobre a r vizinha para uma casa livre (frente
ou trs).

Mostre como as rs podem chegar a seguinte posio final:


r 5

r 4

r 3

r 2

r 1

Este um problema de colocar em ordem um conjunto de dados, no


caso ordenao decrescente, tarefa muito comum em computao.
B) Outro exemplo de algoritmo: Dispomos de duas vasilhas com
capacidades de 9 e 4 litros respectivamente. As vasilhas no tem
nenhum tipo de marcao, de modo que no possvel ter medidas
como metade ou um tero. Mostre uma seqncia de passos, que
usando as vasilhas de 9 e 4 litros encha uma terceira vasilha de
medida desconhecida com seis litros de gua.

Disciplina: Algoritmos e Programao


Professor (a): Elaine Ribeiro

Formas de representao de algoritmo


Linguagem natural: Expressos na linguagem natural
Fluxograma convencional: Esta uma representao grfica que
emprega formas geomtricas padronizadas

Pseudo-linguagem: Emprega uma linguagem intermediria entre a


linguagem natural e uma linguagem de programao para descrever
os algoritmos.
Exemplo
principal ()
incio
imprimir "Alo mundo."
Fim

Representao em pseudocdigo (pseudo-linguagem) a seguinte:

Algoritmo <nome_do_algoritimo>
<declarao_de_variveis>
Incio
<Corpo do algoritmo>
Fim
Algoritmo uma palavra que indica o incio da definio de um
algoritmo em forma de pseudocdigo
<nome_do algoritmo> um nome simblico dado ao algoritmo
com a finalidade de distingui-lo dos demais.
<declarao_de_variaveis> consiste em uma poro opcional
onde so declaradas as variveis globais usadas no algoritmo.
Incio e Fim so respectivamente as palavras que delimitam o incio
e o trmino do conjunto de instrues do corpo do algoritmo.
Algoritmo Mdia
Var N1, N2, Mdia : real
Incio
Leia N1, N2
Mdia <- (N1 + N2) / 2
Se Mdia > 7
Ento
Escreva Aprovado
Seno
Escreva Reprovado
Fim-se
Fim
A linguagem de programao de computadores pseudocdigo
formada pelas instrues: programa, var, inteiro, real, caractere,
lgico, incio, leia, escreva, fim, se, ento, seno, fim_se, enquanto,
faa, fim_enquanto, repita, at_que, para, de, at, passo, fim_para,
conjunto, tipo, registro, fim_registro, procedimento, caso, seja,
fim_caso, e funo, alm de operadores aritmticos (adio,
subtrao, multiplicao, diviso, exponenciao e atribuio),
operadores relacionais (igual a, diferente de, maior que, menor que,
maior ou igual a e menor ou igual a) e operadores lgicos (.e., .ou.
e .no.)
Exerccios:
1- Ler dois valores numricos, efetuar a adio e apresentar o seu
resultado.

2- Ler dois valores numricos reais, efetuar a multiplicao e


apresentar o seu resultado.
3- Ler dois valores numricos, efetuar a adio e apresentar o seu
resultado.
4- Escrever um pseudocdigo que apresente trs nmeros inteiros na
tela.
5- Escrever um pseudocdigo que receba dois nmeros inteiros faa
uma subtrao, apresente o resultado e depois com os mesmos
nmeros recebidos inicialmente faa uma diviso e tambm
apresente na tela.

Disciplina: Algoritmos e Programao


Professor (a): Elaine Ribeiro

Tipos de dados
A classificao apresentada no se aplica a nenhuma linguagem de
programao especfica, pois a idia mostrar de uma forma
sintetizada os padres utilizados na maioria das linguagens.
Dados numricos
Divididos basicamente em dois grandes conjuntos inteiros e reais.
-Numricos inteiros
Aqueles que no possuem componentes decimais ou fracionrios,
podendo ser positivos ou negativos.
Ex: 15, -5, 0
-Numricos reais
Podem possuir componentes decimais ou fracionrios e podem
tambm ser positivos ou negativos
Ex: 36.01, 166.0, -18.8
H diferena entre o 0, que um dado do tipo inteiro e 0. ou 0.0, que
so dados do tipo real.
Dados literais

Constitudo por uma seqncia de caracteres contendo letras, dgitos


e ou/ smbolos especiais. Este tipo de dado tambm muitas vezes
chamado de alfanumrico, cadeia de caracteres ou, ainda, string.
O dado do tipo literal possui um comprimento dado pelo nmero de
caracteres nele contido.
Ex:
QUEM
Literal de comprimento 4;

Literal de comprimento 1;
4+5-1= Literal de comprimento 6;
Dados lgicos
Tipos lgicos so dados com valores verdadeiro e falso. So tambm
chamados de booleanos.

Variveis
Uma varivel um local na memria principal, um endereo que
armazena um contedo. Para facilitar a programao nos permitido
dar nome a esse endereo. O contedo de uma varivel pode ser de
um dos vrios tipos apresentados anteriormente.
Conceito e utilidade de variveis
Uma varivel possui trs atributos: um nome, um tipo de dado
associado mesma e a informao por ela guardada.
Nome: para diferenci-la das demais. Cada linguagem de
programao estabelece suas prprias regras de formao de nomes
de variveis.
Tipo de dado: tipo de dado que uma varivel pode armazenar
Informao: Informao til contida na varivel
Nome e tipo de dados no podem ser alterados e assim permanecem
durante toda a sua existncia, desde que o programa que a utiliza
no seja modificado. Por outro lado o atributo informao est
constantemente sujeito a mudanas.
O conceito de varivel foi criado para facilitar a vida dos
programadores, permitindo acessar informaes na memria dos
computadores por meio de um nome, em vez de um endereo de
uma clula de memria.

Definio de Variveis em Algoritmos


Devem ser definidas antes de serem utilizadas, isso se faz necessrio
para permitir que seja reservado um espao na memria para as
mesmas.
Veja:
VAR <nome_da_varivel >

<tipo_da_varivel>

VAR <nomes_das_variveis >

<tipo_das_variveis>

Constantes
Constante tudo que fixo, estvel, inaltervel, imutvel, contnuo,
invarivel, de valor fixo e que aplicado sobre diversos pontos de
vista. Assim sendo do ponto de vista computacional, que
semelhante ao matemtico ou cientfico, uma constante define um
valor de equilbrio que se mantm inalterado, independente das
variveis envolvidas na operao a ser realizada.
Como exemplo tem-se a constante matemtica pi que equivale ao
valor 3.14159265
Exerccios
1- Construir um programa que calcule o salrio lquido de um
professor. Para elaborar o programa, voc deve possuir alguns dados,
tais como: valor da hora aula, nmero de horas trabalhadas no ms e
percentual de desconto do INSS. Em primeiro lugar, deve-se
estabelecer o seu salrio bruto pra fazer o desconto e ter o valor do
salrio lquido
2- Ler a temperatura em graus Celsius e apresenta-la convertida em
graus Fahrenheit. A frmula de converso F <- (9*C + 160)/5, sendo
F a temperatura em Fahrenheit e C a temperatura em Celsius.

Instrues Primitivas
So os comandos bsicos que efetuam tarefas essenciais para a
operao dos computadores.
Possibilitam a comunicao com o usurio e com os dispositivos
perifricos, atravs das entradas e sadas de dados, bem como a
movimentao dos dados na memria.
Um programa que no utiliza nenhuma instruo primitiva
incapaz de se comunicar com o mundo exterior.
Definio de alguns termos que sero utilizados mais a frente:

- dispositivo de entrada o meio pelo quais as informaes


so transferidas pelo usurio ou pelos nveis secundrios de memria
ao computador. Ex. teclado, as fitas, discos magnticos, entre outros.
- dispositivo de sada o meio pelo qual as informaes so
transferidas pelo computador ao usurio ou aos nveis secundrios de
memria. Ex. monitor de vdeo, impressora, fitas e discos magnticos,
entre outros.
- sintaxe a forma como os comandos devem ser escritos para
que possam ser entendidos pelo tradutor de programas.
- semntica o significado, ou seja, o conjunto de aes que
sero executadas pelo computador durante a execuo do referido
comando.

Instruo Primitiva de Atribuio


A instruo primitiva de atribuio, ou simplesmente atribuio a
principal maneira de se armazenar uma informao numa
varivel . Sua sintaxe :
<Nome_de_varivel> <- <expresso>

Instruo Primitiva de Sadas de Dados


As instrues primitivas de sada so o meio pelo qual
informaes contidas na memria dos computadores so colocadas
nos dispositivos de sada, para que o usurio possa apreci-las. Duas
sintaxes possveis para essa instruo:
Escreva <lista de variveis>
ou
Escreva <string>

Instruo Primitiva de Entrada de Dados


Busca no dispositivo de entrada, dados que so guardados nas
posies de memria correspondentes s variveis passadas como
argumento.
Sua sintaxe : Leia <Lista de variveis>

Exerccios
1) Escreva um algoritmo para calcular o valor de y como funo de x,
segundo a funo y(x) = 3x + 2, num domnio real.
2) Escreva um algoritmo para calcular o consumo mdio de um
automvel (medido em km/l), dados que so conhecidos a distncia

total percorrida e o volume de combustvel consumido para percorrla.


CM = DIST /VOL
3- Faa um pseudocdigo de um algoritmo que receba 4 notas,
calcule e mostre a mdia aritmtica entre elas.
4- Construa o pseudocdigo de um algoritmo capaz de ler dois valores
inteiros
armazenando-os
em
variveis
distintas,
aps
o
armazenamento o contedo das variveis deve ser trocado e, ao
trmino do processo, o algoritmo deve retornar o novo contedo de
cada uma das variveis .
5- Construa um algoritmo para ler um nmero inteiro, positivo de trs
dgitos e gerar outro nmero formado pelos dgitos invertidos do
nmero lido. Ex:
NumeroLido = 123
NumeroGerado = 321

Estrutura Condicional
Essa estrutura conhecida tambm como estrutura de deciso ou de
seleo, ela se caracteriza por execuo de determinados cdigos de
programao dependendo da veracidade de uma condio. Neste
tpico ser apresentado as estruturas de condio simples, composta
e estrutura condicional com mltiplas possibilidades de escolha.

Estrutura Condicional - Simples


Sintaxe:
SE condio
ENTO comando

Notas: O comando s ser executado se a condio for verdadeira.


Uma condio uma comparao que possui dois valores possveis,
verdadeiro ou falso.
Exemplo: Faremos um algoritmo que recebera valores em duas
variveis e informar se os valores so iguais.
ALGORITMO Estrutura Condicional Simples
Incio
VALOR1, VALOR2: real
escreva (Entre com o primeiro valor: )
leia (VALOR1)
escreva (Entre com o segundo valor: )

leia (VALOR2)
se VALOR1 = VALOR2 ento
escreva (Os valores lidos so iguais !)
fim-se
Fim
Vamos estudar a estrutura acima:
1 linha: definimos o nome do algoritmo
2 linha: definimos o inicio do algoritmo
3 linha: declaramos duas variveis (VALOR1 E VALOR2) que so do
tipo real
4 linha: Escrevemos na tela uma mensagem Entre com o primeiro
valor:
5 linha: Lemos o valor da varivel VALOR1
6 linha: Escrevemos na tela uma mensagem Entre com o segundo
valor:
7 linha: Lemos o valor da varivel VALOR2
8 linha: Verificamos se a expresso VALOR1 = VALOR2 verdadeira.
Se a expresso for verdadeira o prximo destino ser a linha 9 caso
contrario o destino ser a linha 10 (fim-se).
9 linha: Escreve a mensagem Os valores lidos so iguais !)
10 linha: Fim da estrutura condicional Se
11 linha: Fim do algoritmo

Estrutura Condicional - Composta


Sintaxe:
SE condio
ENTO comando1
SENO comando2
FIM-SE

Notas: O comando1 s ser executado se a condio for


verdadeira, caso contrrio, se a condio for falsa, ser executado o
comando2.
Exemplo: Faremos um algoritmo que recebera valores diferentes em
duas variveis e qual dos dois valores maior.
ALGORITMO Estrutura Condicional Composto
Incio
VALOR1, VALOR2: real
escreva (Entre com o primeiro valor: )
leia (VALOR1)
escreva (Entre com o segundo valor: )
leia (VALOR2)
se VALOR1 > VALOR2 ento

escreva (VALOR1 maior que VALOR2!)


Seno
escreva (VALOR2 maior que VALOR1!)
fim-se
Fim
Vamos estudar a estrutura acima:
1 linha: definimos o nome do algoritmo
2 linha: definimos o inicio do algoritmo
3 linha: declaramos duas variveis (VALOR1 E VALOR2) que so do
tipo real
4 linha: Escrevemos na tela uma mensagem Entre com o primeiro
valor:
5 linha: Lemos o valor da varivel VALOR1
6 linha: Escrevemos na tela uma mensagem Entre com o segundo
valor:
7 linha: Lemos o valor da varivel VALOR2
8 linha: Verificamos se a expresso VALOR1 > VALOR2 verdadeira.
Se a expresso for verdadeira, o prximo destino ser a linha 9, caso
contrrio o destino ser a linha 10 (Seno).
9 linha: Escreve a mensagem VALOR1 maior que VALOR2!
10 linha: A execuo ser sempre redirecionada para essa linha
quando a expresso verificado pelo se for falsa
11 linha: Escreve a mensagem VALOR2 maior que VALOR1!,
pois Se o VALOR1 no Maior que o VALOR2 e os valores so
diferente logo o VALOR2 maior que o Valor1
12 linha: Fim da estrutura condicional Se
13 linha: Fim do algoritmo
Exerccios
1-Ler dois valores numricos, efetuar a adio, caso o valor somado
seja maior que 10 apresentar o seu resultado.
2-Ler dois valores numricos e efetuar a adio. Caso o valor somado
seja maior ou igual a 10, deve ser apresentado somando a ele 5; caso
o valor somado no seja maior ou igual a 10, deve ser apresentado
subtrado dele 7.
3-Elaborar um programa que permita ler um nmero a partir do
teclado e apresentar a indicao de que
positivo, negativo ou nulo.
2- Construa um pseudocdigo para representar a Soma de dois
nmeros reais lidos a partir do teclado.
5-Construa um pseudocdigo para representar um algoritmo que
efetue a multiplicao de dois
inteiros quaisquer.

Вам также может понравиться