Introdução à Algoritmos
Professora: Fabíola Gonçalves.
AGENDA
Algoritmos
Comandos
Estrutura de Algoritmos
Constantes
Variáveis
Comentários
COMANDOS
Comandos de uma linguagem de programação
podem estar:
+ próximos da máquina (linguagem de baixo nível)
+ facilmente entendidos pelo homem (linguagem de
alto nível).
Uma linguagem de alto nível teríamos:
Leia (X,Y)
SOMA <- X + Y
Escreva (SOMA)
COMANDOS
Exemplo a0100
297D:0100 MOV AX,0006 ; Põe o valor 0006 no registrador AX
297D:0103 MOV BX,0004 ; Põe o valor 0004 no registrador BX
297D:0106 ADD AX,BX ; Adiciona BX ao conteúdo de AX
297D:0108 INT 20 ; Finaliza o Programa
ESTRUTURAS CHAVE DA CONSTRUÇÃO DE
ALGORITMOS
Existem 3 estruturas básicas de controle nas quais se
baseiam os algoritmos:
Sequenciação,
Decisão e
Repetição.
A utilização dessas 3 estruturas permitir expressar a
solução para uma gama muito grande de problemas.
Todas as linguagens de programação oferecem
representantes dessas estruturas.
SEQUENCIAÇÃO
Os comandos do algoritmo fazem parte de uma sequência,
onde é relevante a ordem na qual se encontram os mesmos.
Exemplo: Comando-1
Comando-2
Comando-3
:
Comando-n
Tem-se uma sequenciação de n comandos na qual os
comandos serão executados na ordem em que aparecem,
o comando de ordem i+1 só será executado após a execução do i
Todo algoritmo é uma sequência.
A sequenciação é aplicada quando a solução do problema pode
ser decomposta em passos individuais.
SEQUENCIAÇÃO
Fluxo de execução sequencial – todos os comandos de
uma linha são executados, da esquerda para a direita,
a seguir todos os da próxima linha..
Exceções a essa ordem de execução?
Existe alguma forma de transferir o controle de um ponto
do algoritmo para outro, que não o próximo comando?!
DECISÃO OU SELEÇÃO
Estrutura condicional
Há a subordinação da execução de um ou mais comandos à
veracidade de uma condição.
Exemplo:
Se <condição>
então <seq. de comandos-1>
senão <seq. de comandos-2>
Usada quando há a necessidade de testar alguma
condição e em função da mesma tomar uma atitude.
Exemplo do dia-a-dia:
Se tiver dinheiro suficiente, então vou almoçar em um bom
restaurante.
Caso contrário (senão), vou comer um sanduíche na
lanchonete da esquina.
REPETIÇÃO OU ITERAÇÃO
Looping ou Laço
Permite que tarefas individuais sejam repetidas um
número de vezes ou tantas quantas uma condição lógica
permita.
Exemplos:
a) vou atirar pedras na vidraça até quebrá-la;
repete a ação até que seja satisfeita a condição.
b) baterei cinco pênaltis;
haverá a repetição da atitude um número determinado de
vezes.
REPETIÇÃO OU ITERAÇÃO
Looping ou Laço
Exemplos:
c) enquanto tiver saúde e dinheiro, vou desfrutar a vida.
a condição que me permitirá continuar desfrutando a
vida é ter dinheiro e saúde
REFINAMENTO SUCESSIVOS
Um algoritmo completo
se os seus comandos forem do entendimento do seu
destinatário.
um comando que não for do entendimento do destinatário terá
que ser desdobrado em novos comandos,
que constituirão um refinamento do comando inicial, e assim
sucessivamente, até que os comandos sejam entendidos pelo
destinatário.
Exemplo: Algoritmo para calcular a média aritmética de 2
núms. Algoritmo CALCULA_MÉDIA
Início
Receba os dois números
Calcule a média dos dois números
Exiba o resultado
Fim
LINGUAGEM ALGORÍTMICA
Formato de um Algoritmo
Adotaremos, para fins de padronização, o seguinte
formato para descrevermos nossos algoritmos:
Algoritmo <título do algoritmo>
var
<declarações de variáveis>
início
<comandos>
fim
DECLARAÇÃO DE VARIÁVEIS
Todas as variáveis utilizadas devem ser declaradas.
A declaração de uma variável tem como finalidade:
dar um nome (identificador) à variável tal nome não pode começar com números
especificar o tipo de dado que poderá ser armazenado na
variável;
alocar um espaço na memória onde possa ser armazenado
o conteúdo da variável; O computador só conhece os valores que estão armazenados na sua
memória;
A maioria das instruções está associada ao processo de
armazenamento ou transformação destes valores.
VARIÁVEL
Um dado alterado no decorrer da execução de um algoritmo.
Exemplos: A cotação do dólar, o peso de uma pessoa, o índice da
inflação.
Toda variável precisa ser declarada, possuindo um nome.
Toda variável possui um <tipo>, podendo ter uma ou
mais variáveis em uma declaração (separadas por virgula)
e finalizada por ;
Observar as palavras reservadas da linguagem.
DECLARAÇÃO DE VARIÁVEIS
Sintaxe para declarar variáveis:
lista-de-identificadores : tipo
lista-de-identificadores são os nomes das variáveis;
tipo é o tipo da variável
Recomenda-se o uso de nomes significativos;
Exemplos:
N1, N2 : inteiro;
X, Y, Z : real;
NOME, MENS : string;
idade, nome, salario;
Contra-ex.: x1, kcp, var_1, var_2.
ESTRUTURA DE DADOS
POSIÇÕES DE MEMÓRIA
Na concepção de algoritmo, pode-se considerar:
Memória = conjunto de posições;
Cada posição recebe uma identificação (nome) e
armazena um valor.
20
ESTRUTURA DE DADOS
POSIÇÕES DE MEMÓRIA
Premissas:
Se armazenamos um novo valor em uma posição, o seu valor
antigo será perdido;
Se nenhum valor for atribuído a uma determinada posição,
esta possui um “lixo”.
21
REGRAS PARA DECLARAR VARIÁVEL
1 – Deve começar por um caracter alfabético
2 – Podem ser seguidos por mais caracteres alfabéticos ou
numéricos e o caractere especial “_”
3 – Não deve ser usados caracteres especiais
4 - Recomenda-se o uso de nomes significativos
REGRAS PARA DECLARAR VARIÁVEL
Exemplos de identificadores válidos:
Ex.: Alpha, X, BJ153, K7, motas, media, ABC, INPS, FGTS,
media, idade, nome, salario;
Ex.: nome, vlr_salario, nota_1
Contra-ex: x1, kcp, var_1, var_2.
Exemplos de identificadores inválidos:
5X, E(13), A:B, X-Y, Nota/2, AWQ*, P&AA, 1ª nota, C&A, X-
1.
EXERCÍCIOS
Identifique os nomes de variáveis inválidos: ( ) Abc
( ) 123a
( ) _
( ) A123
( ) 78md
( ) Abcde
( ) 2nota
( ) _a
( ) Aa
( ) _1
( ) _a123
( ) totalPago
OPERAÇÃO/COMANDO DE ATRIBUIÇÃO
Permite que se forneça um valor a uma certa
variável.
Se for atribuído uma expressão à variável, será armazenado
o resultado daquela expressão.
Se for atribuído uma outra variável, será armazenado o
conteúdo daquela variável.
Sintaxe para a operação de atribuição:
variável expressão
Exemplos:
A <-2
NOME <-"João"
A <-B + C
OPERAÇÃO DE ENTRADA E SAÍDA
Os comandos
leia nos permite ler valores dados atribuindo-os à
variáveis indicadas;
A entrada pode vir do teclado ou de qualquer outro dispositivo
de entrada.
escreva nos permite mostrar os resultados.
A saída pode aparecer na tela do monitor de vídeo ou ser
impressa em papel.
A sintaxe destes comandos são:
leia variável-1, variável-2, ..., variável-n
escreva expressão-1, expressão-2, ..., expressão-n
OPERAÇÃO DE ENTRADA E SAÍDA (CONT.)
Exemplos:
leia (NOTA) escreva (15)
leia (A,B,C) escreva (NOTA+2)
leia (NOME) escreva (A,B)
COMENTÁRIOS
Um comentário é usado para aumentar a clareza
de um algoritmo, embora não seja analisado pelo
computador.
Deve ser escrito entre chaves para um bloco:
{este é um exemplo de comentário
Mas comentário em bloco }
Deve ser escrito entre // para uma linha:
//este é um exemplo de comentário
COMENTÁRIO (CONT.)
EXEMPLO:
Algoritmo REAJUSTE_SALARIO
//Finalidade: Calc. o reajuste de um salário em 20%
SALDO_ATUAL {salario atual}, SALDO_NOVO{novo salario},
AUMENTO {valor do aumento} : real
início
leia SALDO_ATUAL //leitura do salario atual
{cálculo do reajuste}
AUMENTO <-SALDO_ATUAL * 0.20
SAL_NOVO <-SALDO_ATUAL + AUMENTO
escreva SALDO_NOVO //exibicao do resultado
fim
EXERCÍCIOS
1. Qual a finalidade de declararmos uma variável ?
2. Exemplifique o uso da operação de Atribuição.
3. Qual a finalidade de uma operação de entrada ?
Dê exemplos.
4. Qual a finalidade de uma operação de saída? Dê
exemplos.
5. Qual a finalidade de um comentário dentro de
um algoritmo? Como deve ser escrito?
EXERCÍCIOS
6. Escreva os comandos necessários para declarar:
a) uma variável que receba uma frase qualquer
b) três variáveis que recebam as 3 notas de um
aluno
c) uma variável que receba a idade de uma
pessoa
7. Escreva os comandos necessários para ler:
a) as 3 notas de um aluno
b) o nome, o peso e altura de uma pessoa
8. Escreva os comandos necessários para exibir:
a) o conteúdo da variável X
b) o resultado da expressão 2+3
Top Related