Você está na página 1de 32

ALGORITMOS COMPUTACIONAIS

Profa. Débora Meyhofer Ferreira


Aula 1
Instruções
Os alunos de Campinas e Itatiba devem ficar nesse
meet! Os de Bragança em outro link com professor
Felipe https://meet.google.com/pkg-bmfg-ies

O período das 19h10 às 20h está reservado para as


atividades da pré-aula (contidas na sala virtual).
A aula remota se iniciará as 20h.
Ao entrar, deixe o microfone no mudo.
**Pergunte sempre que precisar!**
Datas e Composição de Nota
SEG TER QUA QUI
P1 28/09 22/09 30/09 24/09
P2 16/11 10/11 18/11 12/11
P3 14/12 15/12 09/12 10/12

N1: P1*0,7 + ATIV1*0,3


N2: P2*0,7 + ATIV2*0,3
N3: P3
Plano
de
Ensino
Plano
de
Ensino
Plano
de
Ensino
Pré-aula
• Vídeo – Como fazer um sanduíche
• Questionário – Google Forms
O que pai o quis ensinar para seus filhos além de fazer um
sanduíche?
O que você acha importante para conseguir concluir o
desafio?
A Long long Time ago…
O ENIAC. Esta máquina das
cavernas media 17m x 9m,
era capaz de fazer 38
divisões e 357 multiplicações
por segundo e levava 2 horas
para calcular o mesmo que
100 engenheiros levariam 1
ano apenas com lápis e
papel. No entanto, seriam
necessárias 1.000.000 destas
máquinas para poder
competir com um único
PlayStation 3...
PROGRAMAÇÃO
O algoritmo mais antigo do mundo
Um dos algoritmos mais antigos é o de Euclides, que foi escrito na Grécia em torno de 300 A.C. (adivinhe
como era o nome do matemático que o escreveu...). Este algoritmo se propõem a encontrar o maior divisor
inteiro comum entre um par de números.

O algoritmo diz:

divida um dos números pelo outro e pegue o resto desta divisão


pegue o segundo número da divisão e coloque-o no lugar do primeiro, dividindo-o pelo resto obtido no
cálculo anterior.
Continue este procedimento até que o resto da divisão seja zero.
O último resto obtido será o maior divisor comum.

3654 ÷ 1365 🡪 resto 924


1365 ÷ 924 🡪 resto 441
924 ÷ 441 🡪 resto 42
441 ÷ 42 🡪 resto 21
42 ÷ 21 🡪 resto 0
Problema x Programa Parte 1
Problema x Programa Parte 2
Problema x Programa Parte 3
Problema x Programa Parte 4
Linguagem de Programação
- C++
- JAVA
- C
- Pascal
- Fortran
- Visual Basic
- ASP
- Phyton
- C#
- SQL
Respiro (Padlet)☺

- Você
- Você e a Programação
- Que livro está lendo (ou leu!)
Por onde começar ????

A palavra
lógica está
normalmente
relacionada
com o modo
de pensar de
um indivíduo
em termos de
racionalidade
e coerência.
O que é Lógica?

“Poderíamos dizer que a lógica é:

- a “arte de bem pensar”,


- a“ciência das formas do pensamento”.
- estuda a “correção do raciocínio”.
- tem em vista a “ordem da razão (nossa razão pode
funcionar desordenadamente!).
- estuda e ensina a colocar “ordem no pensamento”.”

Lógica de Programação – André Luiz Villar Forbellone

17
Lógica de Programação:
Técnica de encadear
pensamentos para atingir
determinado objetivo.

Necessária para desenvolver


programas e sistemas, pois
permite definir a seqüência
lógica para a solução de um
problema
O que são Instruções?
O que é o Algoritmo?
“Um conjunto finito de regras
que provê uma seqüência de
operações para resolver um tipo
de problema específico”
(KNUTH]

“Seqüência ordenada, e não ambígua, de passos que


levam à solução de um dado problema” (TREMBLAY)
Introdução
O que é algoritmos?
• Um algoritmo representa um conjunto de regras
para a solução de um problema (SOUZA; et al.,
2019).
• Um algoritmo é um método para resolver um
problema mediante uma série de passos precisos,
definidos e finitos (AGUILAR, 2011).
• Um algoritmo pode ainda ser descrito como uma
sequência lógica de etapas ou procedimentos que
transformam uma entrada de dados numa saída
válida (ALVES, 2014).
Introdução
Algoritmos Computacionais

Os algoritmos computacionais são


destinados a receber dados que os
usuários fornecem por um meio de
entrada (teclado, mouse, escâner etc.),
processá-los por meio de operações
realizadas com eles e apresentar os
resulta- dos esperados por meio de um
Elementos básicos de dispositivo de saída (monitor, impressora,
um sistema computacional.
(ALVES, 2014) traçador gráfico etc.) (ALVES, 2014).
Para que serve os Algoritmo?

23
Características de um Algoritmo
• Todo algoritmo deve apresentar algumas características básicas:
-Ter um início;
-Ter um fim;
- Não dar margem à dupla interpretação
(não ter duplo sentido);
-Ter a capacidade de receber dado(s) de entrada do mundo exterior;
-Poder gerar informações de saída para o mundo externo ao do ambiente do
algoritmo;

• Ser efetivo (todas as etapas especificadas no algoritmo devem ser alcançáveis


em um tempo finito).

24
Exercício 1:
Faça um algoritmo (narrativa, fluxograma e pseudocódigo) para
mostrar o resultado da multiplicação de dois números.

Qual a entrada?
Qual o processamento?
Qual a saída?
Narrativa Fluxograma
1) Coletar dois números (N1 e N2)
2) Multiplicar os números (M <- N1 * N2)
3) Mostrar o resultado da multiplicação
início
Pseudocódigo
Algoritmo "multiplicacao"
N1, N2
Var
n1,n2,m:real
Inicio M <- N1 * N2
escreva("Digite um numero: ")
leia(n1)
escreva("Digite outro numero: ") M
leia(n2)
m<-n1*n2
escreva(m)
fim
Fimalgoritmo
Fluxograma
Símbolo utilizado para indicar o início e o fim do algoritmo
Símbolo utilizado para representar a entrada de dados

Símbolo utilizado para indicar cálculos e atribuições de valores


Símbolo utilizado para representar a saída de dados

Símbolo que indica que deve ser tomada uma decisão, indicando a
possibilidade de desvios

Permite indicar o sentido do fluxo de dados. Serve exclusivamente


para conectar os símbolos ou blocos existentes (ASCENCIO;
CAMPOS, 2002).
Pseudocódigo
Algoritmo "nomedoalgoritmo" // indica o nome do algoritmo
Var
variavel1: real // declara a variável do tipo real
variavel2: inteiro // declara a variável do tipo inteira
Inicio
escreva("mensagem") // mostra na tela o texto informado
leia(variavel1) //coleta a informação digitada e grava na variável
se(variavel1>0) entao//verifica se a variável é maior que zero
escreva("verdadeiro") //executa esse comando escreva se for verdadeiro
senao //termina o comando se e inicia o senão
escreva("falso") //executa esse comando escreva se for falso
fimse //termina o comando senão
Fimalgoritmo
Exercícios
Exercício 2:
• Faça um algoritmo (narrativa, fluxograma e pseudocódigo) para
mostrar a média aritmética entre duas notas.
• Narrativa – Editor de Texto (Word)
• Fluxograma (draw.io) - https://app.diagrams.net/
• Pseudocódigo – Visualg 3.0
Exercício 3:
• Faça um algoritmo (narrativa, fluxograma e pseudocódigo) para
calcular a média aritmética entre duas notas de um aluno e para
mostrar a situação do aluno, que pode ser aprovado ou reprovado.
Obs.: O aluno é aprovado com a média maior ou igual a seis.
O que podemos concluir sobre algoritmos?
• Algoritmo é uma espécie de passo a passo;
• Algoritmos realizam uma saída (ex.: Um ovo frito ou um valor de x) a
partir de uma determinada entrada (um ovo ou a,b,c) através de
uma sequência de passos;
• Os passos tem que ser executados um após o outro;
• Um algoritmo está correto quando sua sequência de instruções
resulta em uma saída esperada.
• Podem existir um ou mais algoritmos para atingir um resultado,
desde que o resultado (a saída) seja o mesmo!
Referências Bibliográficas
• AGUILAR, Luis Joyanes. Fundamentos de Programação: Algoritmos,
estruturas de dados e objetos. 3ª ed. Porto Alegre : AMGH, 2011.
• ALVES, William Pereira. Linguagem e Lógica de Programação. 1ª ed.
São Paulo : Érica, 2014.
• ASCENCIO, A.F.G.; CAMPOS, E.A.V. Fundamentos da Programação de
Computadores - Algoritmos, Pascal e C/C++. Prentice Hall, 2002.
• SOUZA, Marco; et al. Algoritmos e lógica de programação: um texto
introdutório para a engenharia. 3ª ed. São Paulo: Cengage, 2019.

31
Obrigada!

Você também pode gostar