Você está na página 1de 12

4/9/19

Ementa
UNIVERSIDADE FEDERAL DO PARÁ
CAMPUS UNIVERSITÁRIO DO TOCANTINS/CAMETÁ

1. Introdução ao conceito de algoritmo.


a. Notação: símbolos e separadores.
b. Tipos de dados e operações primitivas.
2. Elementos fundamentais.
a. Estruturas de controle do fluxo de informação.

Algoritmos b.

c.
Tipos de Dados.
Subalgoritmo: funções e procedimentos.
Prof. Dr. Fabricio Farias

3. Algoritmos recursivos.
4. Desenvolvimento de algoritmos por
refinamentos sucessivos.
5. Aspectos de implementação de algoritmos.

Bibliografia básica Bibliografia complementar

u ASCENCIO, A.F.G.; CAMPOS, E.A.V. u GUIMARÃES, A.M.; LAGES, N.A. de C.


Fundamentos da programação de Algoritmos e estruturas de dados. Ltc.
computadores: algoritmos, pascal, C/C++ 1985.
(padrão ANSI) e Java. 3ª Ed. Paerson. 2012. u PEREIRA, S. L. Algoritmos e lógica de
u MANZANO, J.A.N.G.; OLIVEIRA, J.F.. programação em C: uma abordagem
Algoritmos: lógica para desenvolvimento de didática. 2010. ERICA
computadores. ERICA u TENENBAUM, A.M.; LANGSAM, Y.;
u FARRER, H. Algoritmos Estruturados. 3a Ed. AUGENSTEIN, M.J. Estrutura de dados
Ltc. 2011. usando C. Paerson. 1995.
u MANZANO, J.A.N.G.; OLIVEIRA, J.F. Estudo u VELOSO, P. Estrutura de dados. Campus.
dirigido de algoritmos. Erica. 1995.

1
4/9/19

Método de avaliação
UNIVERSIDADE FEDERAL DO PARÁ
CAMPUS UNIVERSITÁRIO DO TOCANTINS/CAMETÁ

u2 avaliações (AV)

()*+ + )*-)
!"#$%& =
2
Introdução ao conceito
de Algoritmos
Datas: 17/04/2019, 25/04/2019 Conceitos básicos

u Simulados
nos dias 15/04/2019 e
22/04/2019

Introdução Introdução

u Homem tem criado máquinas para diminuir


esforços e economizar tempo.
u O computador é sua obra prima. Informações Operações sobre
Iniciais as informações Resposta
u A finalidade do computador é receber,
manipular e armazenar dados.
u Suafinalidade principal é realizar a tarefa
de processamento de dados.

Dispositivo de Dispositivo de
Entrada Memória (CPU) saída

2
4/9/19

Introdução Introdução

u Portanto o computador tem duas partes u Etapas para o desenvolvimento de um


diferentes que trabalham juntas: o programa:
hardware composto pelas partes físicas e o u Análise: nessa etapa estuda-se o enunciado do
software composto pelos programas. problema para definir os dados de entrada, o
processamento e os dados de saída
u Quando desenvolvemos um programa temos
que utilizar uma linguagem de u Algoritmo: onde ferramentas do tipo descrição
programação. narrativa, fluxograma ou português estruturado
são utilizados para descrever o problema com
§ A linguagem de programação é um “idioma” suas soluções
que o humano e a maquina conseguem
compreender. u Codificação: onde o algoritmo é transformado
em códigos da linguagem de programação
escolhida para se trabalhar.

Conceitos de algoritmo Conceitos de algoritmo

1. “Algoritmo é uma sequencia de passos 4. “Algoritmo são regras formais para a


que visa atingir um objetivo bem obtenção de um resultado ou da solução
definido.” (FORBELLONE, 1999). de um problema, englobando fórmulas de
2. “Algoritmo é a descrição de uma expressões aritméticas.” (MANZANO,
sequencia de passos que deve ser seguida 1997)
para a realização de uma tarefa.” 5. “Ação é um acontecimento que, a partir
(ASCENCIO, 1999) de um estado inicial, após um período de
3. “Algoritmo é uma sequencia finita de tempo finito, produz um estado final
instruções ou operações cuja execução, previsível e bem-definido. Portanto, um
em tempo finito, resolve um problema algoritmo é a descrição de um conjunto
computacional, qualquer que seja sua de comandos que, obedecidos, resultam
instância.” (SALVETTI, 1999) numa sucessão finita de ações.” (FARRER,
1999)

3
4/9/19

Conceitos básicos Exemplos de algoritmo

u Analisando os cinco conceitos descritos u Somar três números


podemos observar as atividades que u Fazer um sanduíche
realizamos diariamente.
u Trocar uma lâmpada
Questão: Cite algoritmos que você realiza
u Sacar dinheiro no banco 24 horas
diariamente.

Exercício
u Ir para a Escola

Somar três números Fazer um sanduíche

1. Receber os três números. 1. Pegar o pão. Lavar o alface e tomate


2. Somar os três números. 2. Cortar o pão ao meio.
3. Mostrar o resultado obtido. 3. Pegar a maionese.
4. Passar a maionese no pão.
Cite uma maneira diferente de resolver este 5. Pegar e cortar o alface e tomate.
problema. 6. Colocar alface e tomate no pão.
Como poderíamos adicionar mais detalhes 7. Pegar o hambúrguer. Pegar a frigideira,
neste algoritmo?
8. Fritar o hambúrguer. ligar o fogão,.....
9. Colocar o hambúrguer no pão.

Copie e adicione mais itens neste algoritmo.

4
4/9/19

Trocar uma lâmpada Sacar dinheiro no banco 24 horas

1. Pegar uma lâmpada nova. 1. Ir até um banco 24 horas.


2. Pegar uma escada. 2. Colocar o cartão.
3. Posicionar a escada embaixo da lâmpada
queimada. 3. Digitar a senha.
4. Subir na escada com a lâmpada nova na mão. 4. Solicitar a quantia desejada.
5. Retirar a lâmpada queimada. 5. Se o saldo for maior ou igual a quantia
6. Colocar a lâmpada nova. desejada, sacar; caso contrário, mostrar
7. Descer da escada. mensagem de impossibilidade de saque.
8. Testar o interruptor. 6. Retirar o cartão.
9. Guardar a escada. 7. Sair do banco 24 horas.
10. Jogar a lâmpada velha no lixo.

Copie e adicione mais itens neste algoritmo. Copie e adicione mais itens neste algoritmo.

Exercício: Ir para a escola Pensando...

1. Acordar cedo. u Realizo estas atividades todos os dias, mas


2. Ir ao banheiro. de maneira diferente...Este pensamento
está correto?
3. Abrir o armário para escolher uma roupa.
u Um problema pode ser resolvido de
4. Se o tempo estiver quente, pegar uma diversas maneiras diferentes.
camiseta e calça jeans; caso contrário,
pegar um agasalho e calça jeans.
5. Vestir a roupa escolhida.
6. Tomar café.
7. Pegar uma condução.
8. Descer próximo a escola.

5
4/9/19

Atravessando a rua Atravessando a rua

Pessoa A Pessoa B Pessoa A Pessoa C


1. Olhar para a 1. Olhar para a 1. Olhar para a 1. Olhar para a
direita esquerda direita esquerda
2. Olhar para a 2. Olhar para a
2. Olhar para a 2. Atravessar a rua
esquerda esquerda
direita 3. Se vem carro, não
3. Se não vem carro, 3. Se não vem carro,
3. Se vem carro, não atravesso a rua;
atravesso a rua; atravesso a rua;
caso contrário, atravesso a rua; caso contrário, caso contrário,
não atravesso a caso contrário, não atravesso a olhar para a
rua. atravesso a rua. rua. direita.

Quem está correto?

Tipos de algoritmos Tipos de algoritmos

u Os três tipos de algoritmos mais utilizados são: uO fluxograma consiste em analisar o


descrição narrativa, fluxograma e pseudocódigo enunciado do problema e escrever,
ou portugol.
utilizando símbolos gráficos predefinidos
u Descrição narrativa consiste em analisar o (Tabela 1), os passos a serem seguidos para
enunciado do problema e escrever, utilizando
uma linguagem natural (por exemplo, a língua a resolução do problema.
portuguesa), os passos a serem seguidos para a § Vantagem: o entendimento de elementos
resolução do problema. gráficos é mais fácil que o entendimento de
§ Vantagens: não é necessário aprender nenhum textos.
conceito novo, pois a língua natural, neste ponto, já
é bem conhecida. § Desvantagem: é necessário aprender a
§ Desvantagens: a língua natural abre espaço para
simbologia dos fluxogramas e, além disso, o
várias interpretações, o que posteriormente algoritmo resultante não apresenta muitos
dificultará a transcrição desse algoritmo para detalhes, dificultando a sua transcrição para
programa. um programa.

6
4/9/19

Tipos de algoritmos Tipos de algoritmos

Tabela 1 Conjunto de símbolos utilizados no fluxograma uO pseudocódigo ou portugol consiste em


analisar o enunciado do problema e
escrever, por meio de regras predefinidas,
Símbolo utilizado para indicar o início e o fim do algoritmo
os passos a serem seguidos para a
resolução do problema.
Permite indicar o sentido do fluxo de dados.
§ Vantagem: a passagem do algoritmo para
qualquer linguagem de programação é quase
Símbolo utilizado para indicar cálculos e atribuição de valores imediata, bastando conhecer as palavras
reservadas da linguagem de programação que
Símbolo utilizado para representar a entrada de dados
será utilizada.
§ Desvantagens: é necessário aprender as regras
Símbolo utilizado para indicar a saída de dados do pseudocódigo, que serão apresentadas nas
próximas seções.
Indica que deve ser tomada uma decisão e desvio de decisão

Exemplos 1: Algoritmos Exemplo 1: Algoritmos

a. Faça um algoritmo para mostrar o u Algoritmo em fluxograma:


resultado da multiplicação de dois
números.
Algoritmo em descrição narrativa: INICIO N1, N2

1. Receber dois números que serão


multiplicados.
2. Multiplicar os números. M = N1 * N2

3. Mostrar o resultado obtido na


multiplicação.
M FIM

7
4/9/19

Exemplo 1: Algoritmos Exemplo 1: Algoritmos

u Algoritmo em fluxograma: u Algoritmo em pseudocódigo:

Digite N1 N1
ALGORITMO
INICIO
DECLARE N1, N2, M NUMERICO
ESCREVA “Digite dois números”
M = N1 * N2 N2 Digite N2 LEIA N1, N2
M ß N1 * N2
ESCREVA “Multiplicação = ”, M
M FIM
FIM_ALGORITMO

Exemplos 2: Algoritmos Exemplo 2: Algoritmos

b. Faça um algoritmo para mostrar o u Algoritmo em fluxograma:


resultado da divisão de dois números.
Algoritmo em descrição narrativa:
INICIO
1. Receber dois números que serão
divididos.
2. Se o segundo número for igual a zero,
não poderá haver divisão, pois não existe
N1, N2
divisão por zero; caso contrário, dividir
D
os números e mostrar o resultado da D = N1 / N2
divisão. Não

N2 == 0 IMPOSSIVEL
DIVIDIR FIM
Sim

8
4/9/19

Exemplo 2: Algoritmos Exemplo 2: Algoritmos

u Algoritmo em pseudocódigo: u Algoritmo em pseudocódigo:

ALGORITMO ALGORITMO
DECLARE N1, N2, D NUMERICO
DECLARE N1, N2, D NUMERICO
ESCREVA “Digite dois números”
ESCREVA “Digite dois números”
LEIA N1, N2
LEIA N1, N2 SE N2 != 0
SE N2 == 0 ENTAO INICIO
ENTAO ESCREVA “Impossível dividir” D ß N1 / N2
SENAO INICIO ESCREVA “Divisão = ”, D
D ß N1 / N2 FIM
ESCREVA “Divisão = ”, D SENAO
ENTAO ESCREVA “Impossível dividir”
FIM
FIM_ALGORITMO
FIM_ALGORITMO

Exemplos 3: Algoritmos Exemplo 3: Algoritmos

c. Faça um algoritmo para calcular o novo


u Algoritmo em fluxograma:
salário de um funcionário. Sabe-se que os
funcionários que possuem salário atual até R$
500,00 terão aumento de 20%, os demais
terão aumento de 10%. INICIO
Algoritmo em descrição narrativa: NOVO_SAL = NOVO_SAL
SAL_ATUAL * 1,1
1. Receber o salário atual do funcionário
2. Se o salário atual do funcionário for até R$
500,00, calcular o novo salário com SAL_ATUAL
percentual de aumento de 20%; caso
FIM
contrário, calcular o novo salário com
percentual de aumento de 10%. Não
3. Mostrar o novo salário.
SAL_ATUAL NOVO_SAL =
<= 500 SAL_ATUAL * 1,2 NOVO_SAL
Sim

9
4/9/19

Exemplo 3: Algoritmos Exercício

u Algoritmo em pseudocódigo: u Faça um algoritmo para calcular a média


aritmética entre duas notas de um aluno e
ALGORITMO mostrar a situação desse aluno, que pode
DECLARE SAL_ATUAL, NOVO_SAL NUMERICO ser aprovado ou reprovado.
ESCREVA “Digite o salário atual do funcionário”
LEIA SAL_ATUAL
SE SAL_ATUAL <= 500
ENTAO NOVO_SAL <- SAL_ATUAL * 1,2
SENAO NOVO_SAL <- SAL_ATUAL * 1,1
ESCREVA “Novo salário =”, NOVO_SAL
FIM_ALGORITMO

Conceito de variável Tipos de dados

Duas pessoas estão conversando e precisam realizar uma


u Os tipos de dados mais utilizados são:
1.
conta.
2. A primeira pessoa diz: “Vamos somar dois números”. numérico, lógico e literal ou caractere.
A primeira pessoa continua: “E o primeiro número é 5”.
1. Numérico: Os dados numéricos dividem-
3.
4. A segunda pessoa guarda o primeiro número na cabeça, ou
seja, na memória humana. se em dois grupos: inteiros e reais.
5. A primeira pessoa diz: “O segundo número é 3”.
6. A segunda pessoa também guarda o segundo número na
Os números inteiros podem ser positivos
cabeça, sem se esquecer do primeiro número, ou seja, ou negativos e não possuem parte decimal.
cada número foi armazenado em posições diferentes da
memória humana, sem sobreposição. Exemplo: -23, 98, 0, 1223, -2, 327
7. A primeira pessoa pergunta: “Qual o resultado da soma?”
8. A segunda pessoa resgata os valores armazenados na Os números reais podem ser positivos ou
memória, realiza a conta e responde dizendo que o
resultado é 8.
negativos e possuem parte decimal.
Exemplo: 22.3, -34.29, 342.54, -23.332

10
4/9/19

Tipos de dados Tipos de dados

u Lógico: São também chamados dados u Literalou caractere: São dados formados
booleanos (por causa da álgebra de Boole) por um único caractere ou por uma cadeia
e podem assumir os valores verdadeiro ou de caracteres. Esses caracteres podem ser
falso. Esse tipo de dados, quando as letras maiúsculas, as letras minúsculas,
armazenado na memória do computador, os números (não podem ser usados para
opupa 1 bit, pois possui apenas duas cálculos) e os caracteres especiais (&, #,
possibilidades de representação. @, ?, +). Esse tipo de dado, quando
armazenado na memória do computador,
ocupa um byte para cada caractere.
u Exemplo: ‘aluno’, ‘1234’, ‘@ Internet’,
‘0.34’, ‘1 + 2’.

Formação de identificadores Formação de identificadores

u Os identificadores são os nomes das variáveis, dos u Exemplos de identificadores válidos


programas, das constantes, das rotinas, das
unidades, etc. § A, a, nota, NOTA, x5, nota_1, valor2
u As regras básicas para a formação dos
identificadores são:
§ os caracteres que você pode utilizar na formação dos u Exemplos de identificadores inválidos
identificadores são: os números, as letras maiúsculas,
as letras minúsculas e o caractere sublinhado § 5b, e 12, x-y, ESCREVA, LEIA, nota(2).
(underline).
§ o primeiro caractere deve ser sempre uma letra ou o
caractere sublinhado
§ não são permitidos espaços em branco e caracteres
especiais (@, ?, +, -, %, !)
§ não podemos usar as palavras reservadas nos
identificadores, ou seja, palavras que pertencem a
uma linguagem de programação.

11
4/9/19

Revisão da Aula

1. Introdução ao conceito de algoritmo.


a. Notação: símbolos e separadores.
b. Tipos de dados e operações primitivas.

12

Você também pode gostar