28
Introdução à Algoritmos Professora: Fabíola Gonçalves.

Introdução à Algoritmos - facom.ufu.brfabiola/GCI007%20-%20Introdu%e7%e3o%20a%20... · lanchonete da esquina. ... Exemplo: Algoritmo para calcular a média aritmética de 2 núms

  • Upload
    leque

  • View
    214

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Introdução à Algoritmos - facom.ufu.brfabiola/GCI007%20-%20Introdu%e7%e3o%20a%20... · lanchonete da esquina. ... Exemplo: Algoritmo para calcular a média aritmética de 2 núms

Introdução à Algoritmos

Professora: Fabíola Gonçalves.

Page 2: Introdução à Algoritmos - facom.ufu.brfabiola/GCI007%20-%20Introdu%e7%e3o%20a%20... · lanchonete da esquina. ... Exemplo: Algoritmo para calcular a média aritmética de 2 núms

AGENDA

Algoritmos

Comandos

Estrutura de Algoritmos

Constantes

Variáveis

Comentários

Page 3: Introdução à Algoritmos - facom.ufu.brfabiola/GCI007%20-%20Introdu%e7%e3o%20a%20... · lanchonete da esquina. ... Exemplo: Algoritmo para calcular a média aritmética de 2 núms

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)

Page 4: Introdução à Algoritmos - facom.ufu.brfabiola/GCI007%20-%20Introdu%e7%e3o%20a%20... · lanchonete da esquina. ... Exemplo: Algoritmo para calcular a média aritmética de 2 núms

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

Page 5: Introdução à Algoritmos - facom.ufu.brfabiola/GCI007%20-%20Introdu%e7%e3o%20a%20... · lanchonete da esquina. ... Exemplo: Algoritmo para calcular a média aritmética de 2 núms

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.

Page 6: Introdução à Algoritmos - facom.ufu.brfabiola/GCI007%20-%20Introdu%e7%e3o%20a%20... · lanchonete da esquina. ... Exemplo: Algoritmo para calcular a média aritmética de 2 núms

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.

Page 7: Introdução à Algoritmos - facom.ufu.brfabiola/GCI007%20-%20Introdu%e7%e3o%20a%20... · lanchonete da esquina. ... Exemplo: Algoritmo para calcular a média aritmética de 2 núms

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?!

Page 8: Introdução à Algoritmos - facom.ufu.brfabiola/GCI007%20-%20Introdu%e7%e3o%20a%20... · lanchonete da esquina. ... Exemplo: Algoritmo para calcular a média aritmética de 2 núms

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.

Page 9: Introdução à Algoritmos - facom.ufu.brfabiola/GCI007%20-%20Introdu%e7%e3o%20a%20... · lanchonete da esquina. ... Exemplo: Algoritmo para calcular a média aritmética de 2 núms

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.

Page 10: Introdução à Algoritmos - facom.ufu.brfabiola/GCI007%20-%20Introdu%e7%e3o%20a%20... · lanchonete da esquina. ... Exemplo: Algoritmo para calcular a média aritmética de 2 núms

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

Page 11: Introdução à Algoritmos - facom.ufu.brfabiola/GCI007%20-%20Introdu%e7%e3o%20a%20... · lanchonete da esquina. ... Exemplo: Algoritmo para calcular a média aritmética de 2 núms

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

Page 12: Introdução à Algoritmos - facom.ufu.brfabiola/GCI007%20-%20Introdu%e7%e3o%20a%20... · lanchonete da esquina. ... Exemplo: Algoritmo para calcular a média aritmética de 2 núms

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

Page 13: Introdução à Algoritmos - facom.ufu.brfabiola/GCI007%20-%20Introdu%e7%e3o%20a%20... · lanchonete da esquina. ... Exemplo: Algoritmo para calcular a média aritmética de 2 núms

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.

Page 14: Introdução à Algoritmos - facom.ufu.brfabiola/GCI007%20-%20Introdu%e7%e3o%20a%20... · lanchonete da esquina. ... Exemplo: Algoritmo para calcular a média aritmética de 2 núms

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.

Page 15: Introdução à Algoritmos - facom.ufu.brfabiola/GCI007%20-%20Introdu%e7%e3o%20a%20... · lanchonete da esquina. ... Exemplo: Algoritmo para calcular a média aritmética de 2 núms

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.

Page 16: Introdução à Algoritmos - facom.ufu.brfabiola/GCI007%20-%20Introdu%e7%e3o%20a%20... · lanchonete da esquina. ... Exemplo: Algoritmo para calcular a média aritmética de 2 núms

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

Page 17: Introdução à Algoritmos - facom.ufu.brfabiola/GCI007%20-%20Introdu%e7%e3o%20a%20... · lanchonete da esquina. ... Exemplo: Algoritmo para calcular a média aritmética de 2 núms

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

Page 18: Introdução à Algoritmos - facom.ufu.brfabiola/GCI007%20-%20Introdu%e7%e3o%20a%20... · lanchonete da esquina. ... Exemplo: Algoritmo para calcular a média aritmética de 2 núms

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

Page 19: Introdução à Algoritmos - facom.ufu.brfabiola/GCI007%20-%20Introdu%e7%e3o%20a%20... · lanchonete da esquina. ... Exemplo: Algoritmo para calcular a média aritmética de 2 núms

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.

Page 20: Introdução à Algoritmos - facom.ufu.brfabiola/GCI007%20-%20Introdu%e7%e3o%20a%20... · lanchonete da esquina. ... Exemplo: Algoritmo para calcular a média aritmética de 2 núms

EXERCÍCIOS

Identifique os nomes de variáveis inválidos: ( ) Abc

( ) 123a

( ) _

( ) A123

( ) 78md

( ) Abcde

( ) 2nota

( ) _a

( ) Aa

( ) _1

( ) _a123

( ) totalPago

Page 21: Introdução à Algoritmos - facom.ufu.brfabiola/GCI007%20-%20Introdu%e7%e3o%20a%20... · lanchonete da esquina. ... Exemplo: Algoritmo para calcular a média aritmética de 2 núms

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

Page 22: Introdução à Algoritmos - facom.ufu.brfabiola/GCI007%20-%20Introdu%e7%e3o%20a%20... · lanchonete da esquina. ... Exemplo: Algoritmo para calcular a média aritmética de 2 núms

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

Page 23: Introdução à Algoritmos - facom.ufu.brfabiola/GCI007%20-%20Introdu%e7%e3o%20a%20... · lanchonete da esquina. ... Exemplo: Algoritmo para calcular a média aritmética de 2 núms

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)

Page 24: Introdução à Algoritmos - facom.ufu.brfabiola/GCI007%20-%20Introdu%e7%e3o%20a%20... · lanchonete da esquina. ... Exemplo: Algoritmo para calcular a média aritmética de 2 núms

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

Page 25: Introdução à Algoritmos - facom.ufu.brfabiola/GCI007%20-%20Introdu%e7%e3o%20a%20... · lanchonete da esquina. ... Exemplo: Algoritmo para calcular a média aritmética de 2 núms

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

Page 26: Introdução à Algoritmos - facom.ufu.brfabiola/GCI007%20-%20Introdu%e7%e3o%20a%20... · lanchonete da esquina. ... Exemplo: Algoritmo para calcular a média aritmética de 2 núms

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?

Page 27: Introdução à Algoritmos - facom.ufu.brfabiola/GCI007%20-%20Introdu%e7%e3o%20a%20... · lanchonete da esquina. ... Exemplo: Algoritmo para calcular a média aritmética de 2 núms

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

Page 28: Introdução à Algoritmos - facom.ufu.brfabiola/GCI007%20-%20Introdu%e7%e3o%20a%20... · lanchonete da esquina. ... Exemplo: Algoritmo para calcular a média aritmética de 2 núms