Você está na página 1de 30

Introduo a Algoritmos

Walter Alexandre A. de Oliveira Universidade Federal de Uberlndia Faculdade de Computao Campus Santa Mnica Sala 1B 201a www.facom.ufu.br/~walter

Livro Texto

ASCENCIO, A. F. G., CAMPOS, E. A. V., Fundamentos da Programao de Computadores - Algoritmos, Pascal, C/C++ e Java, 2a Edio, 448p., Ed. Pearson/Prentice Hall, So Paulo, 2007.

Roteiro

Algoritmos

Portugus estruturado, varivel, tipos de dados, identificadores, Fluxograma / Pseudocdigo.

Etapas para o Desenvolvimento

Anlise

Estudo do problema e definio dos dados de entrada, processamento e dados de sada. Soluo do problema em descrita em fluxograma ou portugus estruturado. Transformao do algoritmo em uma linguagem de programao.

Algoritmo

Codificao

Algoritmo

uma sequncia finita de instrues ou operaes cuja execuo, em tempo finito, resolve um problema computacional, qualquer que seja sua instncia.

Construindo um Algoritmo

Ler atentamente o enunciado do problema.

Destacar seus pontos principais.

Definir os dados de entrada. Definir o processamento.

Clculos e restries sobre os dados de entrada.

Definir dados de sada.

Construindo um Algoritmo

Construir o algoritmo.

Descrio Narrativa. Fluxograma. Portugus estruturado (portugol).

Testar o algoritmo usando simulaes.

Tipos de Algoritmos

Descrio Narrativa:

Utiliza a linguagem natural.


No necessita aprender novos conceitos. Abre espao para vrias interpretaes dificultando a transio do algoritmo para programa.

Tipos de Algoritmos

Fluxograma

Utiliza smbolos grficos.


Fcil entendimento. No apresenta muitos detalhes dificultando a transio para o programa.

Pseudocdigo ou portugol

Utiliza regras definidas. Fcil converso para o programa.

Simbologia do Fluxograma

Incio e fim do algoritmo. Indica o sentido do fluxo. Conecta smbolos ou blocos existentes. Operao, clculo ou atribuio de valores. Entrada de dados. Sada de dados. Tomada de decio. Possibilita desvios no fluxo de dados.

Exemplo: Multiplicao de Dois Nmeros

Descrio Narrativa

Obter os dois nmeros a serem multiplicados. Multiplicar os nmeros obtidos. Exibir o resultado obtido na multiplicao.

Exemplo: Multiplicao de Dois Nmeros

Fluxograma

Exemplo: Multiplicao de Dois Nmeros

Pseudocdigo
ALGORITMO multiplica2 DECLARE N1, N2, M NUMERICO LEIA N1, N2 M N1 * N2 ESCREVA Resultado = , M FIM_ALGORITMO

Variveis

Consiste numa posio de memria onde um dado ou valor armazenado.


Pode assumir diferentes valores. Armazena um valor a cada instrante.

So referenciadas por um identificador. Possuem um tipo definido de dado.

Varivies - Tipos de Dados

Numrico

Armazena valores inteiros (2 bytes) ou reais (4 bytes). Armazena valores booleanos (verdadeiro ou falso) e ocupa 1 byte na memria. Armazena um ou mais caracteres (ASCII). Ocupa 1 byte na memria por caractere.

Lgico

Literal ou Caractere

Identificadores

So nomes de variveis, programas, constantes, rotinas, unidades, etc. Formao dos identificadores

No se usa caracteres especiais, espaos em branco ou acentos. O primeiro caractere no nome do identificador no pode ser nmero. Palavras reservadas no podem ser utilizadas como identificadores.

Identificadores devem ser nicos no escopo.

Identificadores - Exemplos

Certo: A a nota NOTA1 nota_1 _idaDE Matricula

Errado: 5b e 12 x-7 prova 2n nota(2) case Matrcula

Portugol: Palavras Reservadas

ALGORITMO

Indica o incio do algoritmo. Utilizado para declarao de variveis. Finaliza o algoritmo

DECLARE

FIM_ALGORITMO

Palavras reservadas sero escritas em MAISCULAS.

Portugol: Exemplo 1
ALGORITMO primeiro_algoritmo DECLARE x NUMERICO y, z LITERAL Teste LOGICO FIM_ALGORITMO

Operadores

Aritmticos:
+ (soma) - (subtrao, mudana de sinal) * (multiplicao) / (diviso) % (resto da diviso)

Atribuio:

Parnteses

Precedncia de Operadores
( ) * / % +

Precedncia de Operadores
( ) * / % +
Menor Precedncia Maior Precedncia

Comandos de Atribuio

Atribui um valor ou resultado de uma operao a uma varivel. Exemplos:


x 10 x x + 2 * 3 y aula teste falso z 'x'

Comando de Atribuio

Atribui um valor ou resultado de uma operao a uma varivel. Strings so Exemplos:


x 10 x x + 2 * 3 y aula teste falso z 'x'
Valores lgicos podem ser verdadeiro ou falso Um nico caractere delimitado com aspas simples delimitadas com aspas duplas

Comando de Entrada de Dados

Utilizado para receber dados digitados pelo usurio. Os dados so armazanados em variveis. Exemplo

LEIA x

x recebe o valor digitado pelo usurio. y e z recebem valores digitados pelo usurio.

LEIA y, z

Comando de Sada

Exibe dados na tela ou impressora. Exemplos:

ESCREVA x

Exibe o valor de x. Exibe a mensagem Contedo de y = e em segiuda o valor armazanado na varivel y.

ESCREVA Contedo de y = , y

Comentrios

No so executados. Utilizados para orientao o programador. Essenciais para a documentao do algoritmo.

Identao

Forma hierrquica de organizar o algoritmo de modo a facilitar seu entendimento. Exemplo


ALGORITMO DECLARE x, y, z NUMERICO media NUMERICO LEIA x, y, z media (x + y + z) / 3 ESCREVA mdia = , media FIM_ALGORITMO

Exerccios

Faa o algoritmo (portugol) e o fluxograma para:

Exibir o resultado da multiplicao de dois nmeros. Calcular a mdia aritmtica de trs valores. Ler 3 notas e seus respectivos pesos, calcular e exibir a mdia ponderada das notas. Calcular a rea e o permetro de um crculo. Converta graus Celcius em graus Fahrenheit

Use: F = 180(C+32)/100

Exerccios

Converta graus Fahrenheit para graus Celcius. Converta ngulos em graus para radianos.

Use: r = * g / 180

Converta ngulos em radianos para graus. Calcule a Fora usando a equao F = m * a. Calcule a fora gravitacional de um objeto de massa m.

Use:

M m F =G 2 d