Você está na página 1de 30

Introdução a Algoritmos

Walter Alexandre A. de Oliveira Universidade Federal de Uberlândia Faculdade de Computação Campus Santa Mônica – Sala 1B 201a www.facom.ufu.br/~walter

Livro Texto

ASCENCIO, A. F. G., CAMPOS, E. A. V., Fundamentos da Programação de Computadores - Algoritmos, Pascal, C/C++ e Java, 2a Edição, 448p., Ed. Pearson/Prentice Hall, São Paulo, 2007.

Roteiro

Algoritmos
– – – – –

Português estruturado, variável, tipos de dados, identificadores, Fluxograma / Pseudocódigo.

Transformação do algoritmo em uma linguagem de programação. Solução do problema em descrita em fluxograma ou português estruturado. ● Algoritmo – ● Codificação – . processamento e dados de saída.Etapas para o Desenvolvimento ● Análise – Estudo do problema e definição dos dados de entrada.

em tempo finito. resolve um problema computacional. qualquer que seja sua instância. .Algoritmo ● É uma sequência finita de instruções ou operações cuja execução.

● Definir dados de saída. – Cálculos e restrições sobre os dados de entrada.Construindo um Algoritmo ● Ler atentamente o enunciado do problema. ● ● Definir os dados de entrada. – Destacar seus pontos principais. Definir o processamento. .

Português estruturado (portugol). Fluxograma. .Construindo um Algoritmo ● Construir o algoritmo. – – – Descrição Narrativa. ● Testar o algoritmo usando simulações.

Abre espaço para várias interpretações dificultando a transição do algoritmo para programa. .Tipos de Algoritmos ● Descrição Narrativa: – Utiliza a linguagem natural. ● ● Não necessita aprender novos conceitos.

Tipos de Algoritmos ● Fluxograma – Utiliza símbolos gráficos. ● Pseudocódigo ou portugol – – Utiliza regras definidas. ● ● Fácil entendimento. Fácil conversão para o programa. Não apresenta muitos detalhes dificultando a transição para o programa. .

Tomada de decição. Entrada de dados. Operação. Conecta símbolos ou blocos existentes. cálculo ou atribuição de valores. Indica o sentido do fluxo. ● ● ● ● ● . Saída de dados. Possibilita desvios no fluxo de dados.Simbologia do Fluxograma ● Início e fim do algoritmo.

Multiplicar os números obtidos. .Exemplo: Multiplicação de Dois Números ● Descrição Narrativa – – – Obter os dois números a serem multiplicados. Exibir o resultado obtido na multiplicação.

Exemplo: Multiplicação de Dois Números ● Fluxograma .

Exemplo: Multiplicação de Dois Números ● Pseudocódigo ALGORITMO multiplica2 DECLARE N1. N2. M NUMERICO LEIA N1. N2 M ← N1 * N2 ESCREVA “Resultado = ” . M FIM_ALGORITMO .

Variáveis ● Consiste numa posição de memória onde um dado ou valor é armazenado. Armazena um valor a cada instrante. ● ● São referenciadas por um identificador. Possuem um tipo definido de dado. . – – Pode assumir diferentes valores.

Ocupa 1 byte na memória por caractere.Variávies . Armazena um ou mais caracteres (ASCII). Armazena valores booleanos (verdadeiro ou falso) e ocupa 1 byte na memória.Tipos de Dados ● Numérico – Armazena valores inteiros (2 bytes) ou reais (4 bytes). ● Lógico – ● Literal ou Caractere – – .

constantes. unidades. – – ● Identificadores devem ser únicos no escopo. espaços em branco ou acentos. . O primeiro caractere no nome do identificador não pode ser número. Formação dos identificadores – ● Não se usa caracteres especiais. Palavras reservadas não podem ser utilizadas como identificadores.Identificadores ● São nomes de variáveis. etc. programas. rotinas.

Exemplos ● Certo: A a nota NOTA1 nota_1 _idaDE Matricula ● Errado: 5b e 12 x-7 prova 2n nota(2) case Matrícula .Identificadores .

. Utilizado para declaração de variáveis.Portugol: Palavras Reservadas ● ALGORITMO – Indica o início do algoritmo. Finaliza o algoritmo ● DECLARE – ● FIM_ALGORITMO – ● Palavras reservadas serão escritas em MAIÚSCULAS.

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

mudança de sinal) * (multiplicação) / (divisão) % (resto da divisão) ● Atribuição: ← ● Parênteses .Operadores ● Aritméticos: + (soma) .(subtração.

Precedência de Operadores ( ) * / % + ← .

Precedência de Operadores ( ) * / % + ← Menor Precedência Maior Precedência .

Comandos de Atribuição ● Atribui um valor ou resultado de uma operação a uma variável. Exemplos: x ← 10 x ← x + 2 * 3 y ← “aula” teste ← falso z ← 'x' ● .

Comando de Atribuição ● Atribui um valor ou resultado de uma operação a uma variável. Strings são Exemplos: x ← 10 x ← x + 2 * 3 y ← “aula” teste ← falso z ← 'x' Valores lógicos podem ser verdadeiro ou falso Um único caractere é delimitado com aspas simples delimitadas com aspas duplas ● .

Os dados são armazanados em variáveis. Exemplo – ● ● LEIA x ● x recebe o valor digitado pelo usuário. z ● . y e z recebem valores digitados pelo usuário.Comando de Entrada de Dados ● Utilizado para receber dados digitados pelo usuário. – LEIA y.

– ESCREVA “Conteúdo de y = “. y ● . Exemplos: – ESCREVA x ● Exibe o valor de x. Exibe a mensagem Conteúdo de y = e em segiuda o valor armazanado na variável y.Comando de Saída ● ● Exibe dados na tela ou impressora.

Essenciais para a documentação do algoritmo. .Comentários ● ● ● Não são executados. Utilizados para orientação o programador.

z NUMERICO media NUMERICO LEIA x. y.Identação ● Forma hierárquica de organizar o algoritmo de modo a facilitar seu entendimento. media FIM_ALGORITMO ● . z media ← (x + y + z) / 3 ESCREVA “média = “. y. Exemplo ALGORITMO DECLARE x.

Exercícios ● Faça o algoritmo (portugol) e o fluxograma para: – Exibir o resultado da multiplicação de dois números. Converta graus Celcius em graus Fahrenheit ● – – – – Use: F = 180(C+32)/100 . Ler 3 notas e seus respectivos pesos. calcular e exibir a média ponderada das notas. Calcular a área e o perímetro de um círculo. Calcular a média aritmética de três valores.

Converta ângulos em graus para radianos. ● Use: M ∗m F =G∗ 2 d . Calcule a força gravitacional de um objeto de massa m. Calcule a Força usando a equação F = m * a.Exercícios – – Converta graus Fahrenheit para graus Celcius. ● Use: r = π * g / 180 – – – Converta ângulos em radianos para graus.