Projeto%20de%20 educação%20para%20a%20sexualidade%20e%20afetos%20apresentação[1]
Introdução à Algoritmos - facom.ufu.brfabiola/GCI007%20-%20Introdu%e7%e3o%20a%20... ·...
Transcript of Introdução à Algoritmos - facom.ufu.brfabiola/GCI007%20-%20Introdu%e7%e3o%20a%20... ·...
![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.](https://reader036.fdocumentos.tips/reader036/viewer/2022081323/5bebb87909d3f26e208c0413/html5/thumbnails/1.jpg)
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.](https://reader036.fdocumentos.tips/reader036/viewer/2022081323/5bebb87909d3f26e208c0413/html5/thumbnails/2.jpg)
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.](https://reader036.fdocumentos.tips/reader036/viewer/2022081323/5bebb87909d3f26e208c0413/html5/thumbnails/3.jpg)
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.](https://reader036.fdocumentos.tips/reader036/viewer/2022081323/5bebb87909d3f26e208c0413/html5/thumbnails/4.jpg)
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.](https://reader036.fdocumentos.tips/reader036/viewer/2022081323/5bebb87909d3f26e208c0413/html5/thumbnails/5.jpg)
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.](https://reader036.fdocumentos.tips/reader036/viewer/2022081323/5bebb87909d3f26e208c0413/html5/thumbnails/6.jpg)
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.](https://reader036.fdocumentos.tips/reader036/viewer/2022081323/5bebb87909d3f26e208c0413/html5/thumbnails/7.jpg)
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.](https://reader036.fdocumentos.tips/reader036/viewer/2022081323/5bebb87909d3f26e208c0413/html5/thumbnails/8.jpg)
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.](https://reader036.fdocumentos.tips/reader036/viewer/2022081323/5bebb87909d3f26e208c0413/html5/thumbnails/9.jpg)
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.](https://reader036.fdocumentos.tips/reader036/viewer/2022081323/5bebb87909d3f26e208c0413/html5/thumbnails/10.jpg)
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.](https://reader036.fdocumentos.tips/reader036/viewer/2022081323/5bebb87909d3f26e208c0413/html5/thumbnails/11.jpg)
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.](https://reader036.fdocumentos.tips/reader036/viewer/2022081323/5bebb87909d3f26e208c0413/html5/thumbnails/12.jpg)
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.](https://reader036.fdocumentos.tips/reader036/viewer/2022081323/5bebb87909d3f26e208c0413/html5/thumbnails/13.jpg)
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.](https://reader036.fdocumentos.tips/reader036/viewer/2022081323/5bebb87909d3f26e208c0413/html5/thumbnails/14.jpg)
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.](https://reader036.fdocumentos.tips/reader036/viewer/2022081323/5bebb87909d3f26e208c0413/html5/thumbnails/15.jpg)
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.](https://reader036.fdocumentos.tips/reader036/viewer/2022081323/5bebb87909d3f26e208c0413/html5/thumbnails/16.jpg)
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.](https://reader036.fdocumentos.tips/reader036/viewer/2022081323/5bebb87909d3f26e208c0413/html5/thumbnails/17.jpg)
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.](https://reader036.fdocumentos.tips/reader036/viewer/2022081323/5bebb87909d3f26e208c0413/html5/thumbnails/18.jpg)
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.](https://reader036.fdocumentos.tips/reader036/viewer/2022081323/5bebb87909d3f26e208c0413/html5/thumbnails/19.jpg)
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.](https://reader036.fdocumentos.tips/reader036/viewer/2022081323/5bebb87909d3f26e208c0413/html5/thumbnails/20.jpg)
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.](https://reader036.fdocumentos.tips/reader036/viewer/2022081323/5bebb87909d3f26e208c0413/html5/thumbnails/21.jpg)
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.](https://reader036.fdocumentos.tips/reader036/viewer/2022081323/5bebb87909d3f26e208c0413/html5/thumbnails/22.jpg)
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.](https://reader036.fdocumentos.tips/reader036/viewer/2022081323/5bebb87909d3f26e208c0413/html5/thumbnails/23.jpg)
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.](https://reader036.fdocumentos.tips/reader036/viewer/2022081323/5bebb87909d3f26e208c0413/html5/thumbnails/24.jpg)
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.](https://reader036.fdocumentos.tips/reader036/viewer/2022081323/5bebb87909d3f26e208c0413/html5/thumbnails/25.jpg)
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.](https://reader036.fdocumentos.tips/reader036/viewer/2022081323/5bebb87909d3f26e208c0413/html5/thumbnails/26.jpg)
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.](https://reader036.fdocumentos.tips/reader036/viewer/2022081323/5bebb87909d3f26e208c0413/html5/thumbnails/27.jpg)
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.](https://reader036.fdocumentos.tips/reader036/viewer/2022081323/5bebb87909d3f26e208c0413/html5/thumbnails/28.jpg)