Você está na página 1de 26

Professora Adriana Costa Nascimento

Algoritmos e Aula 1

Programação I
Algoritmos e Programação

❖ Disciplina que tem por objetivo introduzir os conceitos


de lógica de programação e capacitar o aluno a
desenvolver soluções constituídas de uma sequência
finita de passos e que possa ser traduzido para um um
programa por meio de uma linguagem de programação.
Conceitos Básicos (1/5)
❖ Dificilmente hoje alguém não consome algum produto oriundo de um
sistema computacional.
❖ Celular (Facebook, Snapchat, WhatsApp, Instagram, Spotify...)
❖ Caixas Eletrônicos (Saques, Transferências, Pagamentos...)
❖ Área da Saúde (Tomografias, Ressonância, ...)
❖ Empresas (auxiliar desde a produção até o relacionamento como
cliente)
Conceitos Básicos (2/5)

❖ A importância do computador é grande!


❖ O computador pode auxiliar no desenvolvimento de
tarefas repetitivas e promove rapidez.
❖ A função primária de um computador é receber,
armazenar e manipular dados.
❖ Entretanto, para fazer tal função, além de circuitos
eletrônicos, cabos , fontes de alimentação são
necessários PROGRAMAS.
Conceitos Básicos (3/5)

❖ A principal finalidade de um computador é a de


processamento de dados.

Resposta
Entrada Processamento (saída de
( operações dados)
de dados sobre os dados)
Conceitos Básicos (4/5)

❖ O computador possui duas partes distintas:

❖ Hardware: composto pelas partes físicas.

❖ Software: composto pelos programas.


Conceitos Básicos ( 5/5)
❖ Etapas do desenvolvimento de um programa:
❖ Análise
❖ Entendimento do problema: quais entradas,
qual será o processamento e qual será a
saída.
❖ Algoritmo
❖ Descrever a solução passo a passo.
❖ Codificação
❖ Tradução do algoritmo em programa, com
uso de uma linguagem de programação.
O que é algoritmo?

❖ Algoritmo é uma seqüência de passos que visa atingir


um objetivo bem definido (Forbellone, 1999).

❖ Características de um Algoritmo:
❖ O número de passos da sequência deve ser finito.
❖ O tempo de execução dos passos deve ser finito.
Algoritmos no seu dia a dia
❖ Levantar da cama pela manhã:
Toca despertador
Desliga despertador
Levanta da cama
Lava o rosto
Veste a roupa
Toma café da manhã
Escova os dentes
......
Algoritmos no seu dia a dia

❖ Sua vez de praticar…


❖ Elabore o algoritmo para fazer pipoca na panela
Solução

❖ Fazer pipoca
Pegar a panela, o óleo e a pipoca
❖ .....
Características dos
Algoritmos

❖ As instruções (comandos) que compõem o algoritmo


devem ser claras, coerentes e lógicas.
❖ Caso contrário, podem ocorrer problemas que
impeçam chegar ao resultado desejado.
Características dos
Algoritmos

❖ Cada instrução deve poder ser


realizada.

❖ A ordem das instruções deve ser


precisamente determinada.

❖ O algoritmo deve ter fim.


Método para construção de
Algoritmos
A. Ler atentamente o enunciado do problema e compreender
o que deve ser resolvido.
B. Definir quais são os dados de entrada.
C. Definir quais são os dados de saída.
D. Definir as operações necessárias para transformar os
dados de entrada em dados de saída.
E. Construir o algoritmo.
F. Testar o algoritmo realizando simulações.
Tipos de Representação de
Algoritmos

❖ Os três tipos mais utilizados para representar os


algoritmos são:
❖ Descrição narrativa.
❖ Fluxograma.
❖ Pseudocódigo.
Descrição Narrativa
❖ Consiste em escrever o algoritmo com uso de uma linguagem natural (por
exemplo a língua portuguesa) descrevendo os passos que o compõem.

❖ Exemplo ( Problema: Trocar uma lâmpada)

❖ Passo 1 - Pegar uma lâmpada nova.

❖ Passo 2 - Pegar uma escada.

❖ Passo 3 - Posicionar a escada embaixo da lâmpada


queimada.

❖ Passo 4 - Subir a escada com a lâmpada nova na mão.

❖ Passo 5 - Retirar a lâmpada queimada.

❖ Passo 6 - Colocar a lâmpada nova.

❖ Passo 7 - Descer da escada.

❖ Passo 8 - Testar o interruptor.

❖ Passo 9. Guardar a escada.


Exercitando

❖ Faça um algoritmo em descrição narrativa para efetuar


uma ligação de um telefone celular para outro celular.
Descrição Narrativa
❖ Vantagem:
❖ A linguagem natural é bem conhecida.
❖ Desvantagem:
❖ A linguagem natural abre espaço para várias interpretações, dificultando
a transcrição para o programa.
Fluxograma
❖ O fluxograma consiste em escrever o algoritmo
utilizando símbolos gráficos:

Início e fim do programa

Processamento ( instruções de cálculos e atribuições de valores).

Indica o sentido do fluxo de dados

Saída de dados

Decisão

Entrada de dados
Exemplo de Fluxograma
Inicio
Algoritmo para trocar lâmpada

Obter uma lâmpada nova

Chamar o eletricista

Pegar uma escada


Não
Sim Guarde a escada
Interruptor funciona?
Posicionar a escada embaixo da
lâmpada queimada

Fim

Subir a escada com a lâmpada Descer da escada


nova na mão Lembram-se
desse bloco

Retirar a lâmpada queimada Colocar a lâmpada nova


Exercitando

❖ Transforme seu algoritmo de ligação telefônica,


solicitado no slide 17 em uma representação de
fluxograma.
Fluxograma

❖ Vantagem: o entendimento de gráficos geralmente é


mais simples que o de textos.
❖ Desvantagem: o algoritmo resultante não apresenta
muitos detalhes, o que pode dificultar a sua transcrição
para um programa.
Pseudocódigo
Início

❖ Consiste em Pegar uma lâmpada nova.

escrever o Pegar uma escada.

algoritmo por Posicionar a escada embaixo da lâmpada queimada.

meio de regras Subir a escada com a lâmpada nova na mão.

predefinidas. Retirar a lâmpada queimada.

Colocar a lâmpada nova.

Descer da escada.

Se ao pressionar o interruptor a lâmpada não ascender então

Chamar o eletricista.

Fim se.

Guardar a escada.

Fim
Considerações importantes

❖ Para um problema, pode haver mais de um algoritmo


que o soluciona.

❖ Estamos interessados naquele que for mais eficiente!


Exercitando

❖ Faça um algoritmo para chegar na sala 30 do UNIFAE


partindo do portão principal.
❖ Faça a representação em descrição narrativa e em
fluxograma.
Referências

ASCENCIO, A. F. G; CAMPOS, E. A. V. Fundamentos da



Programação de Computadores. Algoritmos, Pascal,
C/C++ e Java. 3ª. ed. Pearson Prentice Hall. São Paulo.
2008.

code.org (acessado em agosto de 2018).


Você também pode gostar