Você está na página 1de 46

Engenharia de Software

Algoritmos de Programação
Aula 1: Apresentação da Disciplina e Conceitos
Introdutórios
Professor: D.r. Henrique Valle de Lima
henrique.lima@unievangelica.edu.br
JITTDP
Jesus Is The Top Da Parada!
AND ABOUT ME
Formação acadêmica
(2006 - 2011): Engenharia de Computação pela
Pontifícia Universidade Católica de Goiás
TCC: Etiquetas Inteligentes: - Um estudo prático e
teórico da tecnologia RFID

Universidade Evangélica de Goiás 5


Formação acadêmica
(2014 - 2015): Especialização em Segurança de
Redes de Computadores pelo SENAI-FATESG
TCC: Uma análise de desempenho de protocolos
criptográficos na transferência de dados em Redes
Sem Fio.

Universidade Evangélica de Goiás 6


Formação acadêmica
(2016 - 2017): Especialização em Docência no
Ensino Superior pela Faculdade APOGEU
TCC: Os paradigmas da educação no Brasil - Um
estudo da qualidade do ensino vigente

Universidade Evangélica de Goiás 7


Formação acadêmica
(2016 - 2018): Mestrado em Ciência da
Computação pela Universidade Federal de Goiás
Dissertação: Alocação de recursos para redes LTE
(Long Term Evolution) em bandas não-licenciadas

Universidade Evangélica de Goiás 8


Formação acadêmica
(2019 - 2023): Doutorado em Ciência da
Computação pela Universidade Federal de Goiás
Tese: Admission Control for Network Slicing
considering communication and computing
resources

Universidade Evangélica de Goiás 9


Formação acadêmica

(2023 - 2024): Especialização em Inteligência


Artificial e Data Science

(2023 - 2024): Especialização em


Desenvolvimento Full Stack

Universidade Evangélica de Goiás 10


Experiência em Projetos
(2017 – 2019): Programador/Administrador de
Redes do projeto ATER (Aceleração do
Transporte de Dados com o Emprego de Redes
de Circuitos Dinâmico)

Universidade Evangélica de Goiás 11


Experiência em Projetos

(2022-2023) AVIC: Aplicativo de correção de


VAs com integração contínua entre AVA e
Lyceum

(2022-2023) METAVERSE

(2023 - 2025) Projeto AGRO - IFG

Universidade Evangélica de Goiás 12


Áreas de Interesse
Inteligência Artifical
Redes de Computadores e Móveis
Redes Definidas por Software (SDN)
Segurança de Redes de Computadores
Internet das Coisas (IoT)
RFID
Arquitetura de Sistemas de Computação
Linguagens de Programação

Universidade Evangélica de Goiás 13


Chamada, presença e contato

Chamada
Ocorrerá sempre ao fim da aula – 11:40/22:40
Não está presente = falta!

Contato
henrique.lima@unievangelica.edu.br

Universidade Evangélica de Goiás 14


Plano de ensino
Disponível no AVA

Universidade Evangélica de Goiás 15


Plano de ensino
Datas Importantes:

19/03/2023 – 1ª VA
07/05/2023 – 2ª VA
18/06/2023 – 3ª VA

Formato das VAs: 2 subs e 20 objs

Atividade pré-aula e Atividade pós-aula (1 por ciclo)

Universidade Evangélica de Goiás 16


Plano de ensino

VA – Ciclo ITEM Pontos


VA 60
APS 10
1/2/3 ARP 10
Atividade Prática 20
Projeto Integrador 10

Universidade Evangélica de Goiás 17


ARP AND PI

ARP – Educação Básica do Município – 15 dias antes da VA

Projeto Integrador – 7 dias antes da VA


Plano de aula

Universidade Evangélica de Goiás 19


Plano de aula

Universidade Evangélica de Goiás 20


Plano de aula

Universidade Evangélica de Goiás 21


Bibliografias

Universidade Evangélica de Goiás 22



NMR
NMR
LÓGICA DE PROGRAMAÇÃO
Resolver problemas com o computador é semelhante a maneira como resolvemos problema do
cotidiano:

Encontrar uma maneira de descrever o problema;

Seguir uma sequência de passos até atingir a solução desejada.

Isso é algoritmo!
ALGORITMOS
Exemplos:

Receita de bolo, onde você tem uma série de ingredientes necessários, uma
sequência de diversos passos a serem cumpridos para que se consiga fazer
determinado tipo de bolo (objetivo bem definido).

Mapa para se chegar à escola, que também possui uma sequência de


passos a serem seguidos e um objetivo bem definido.
ALGORITMO

Imagine a sequência de números: 1, 6, 11, 16, 21, 26 ... Qual seria o sétimo
elemento da série? Para isto, precisamos definir qual a sua regra de formação,
ou seja, o seu padrão de comportamento.
COMO CONSTRUIR UM ALGORITMO?

Trocar uma lâmpada

Pegue uma escada;


Posicione-a embaixo da lâmpada;
Busque uma lâmpada nova;
Suba na escada;
Retire a lâmpada;
Coloque uma lâmpada nova.
COMO CONSTRUIR UM ALGORITMO?

O objetivo de trocar a lâmpada queimada pode ser atingido com tal algoritmo que descreve a
sequência de passos a ser seguida. Porém, e se a lâmpada não estiver queimada? Podemos efetuar
um teste antes de trocá-la.

pegue uma escada;


posicione-a embaixo da lâmpada;
busque uma lâmpada nova;
ligue o interruptor;
SE a lâmpada não acender, então:
suba na escada;
retire a lâmpada;
coloque uma lâmpada nova.
COMO CONSTRUIR UM ALGORITMO?

Otimização do algoritmo anterior – o algoritmo anterior permite que se pegue a escada e uma lâmpada
nova sem saber se serão necessárias.

ligue o interruptor;
SE a lâmpada não acender, então:
pegue uma escada;
posicione-a embaixo da lâmpada;
busque uma lâmpada nova;
suba na escada;
retire a lâmpada;
coloque uma lâmpada nova.
COMO CONSTRUIR UM ALGORITMO?
E se a lâmpada nova não funcionar? O objetivo portanto não foi atingido. Devemos então trocar a
lâmpada diversas vezes, até que funcione.

ligue interruptor;
SE a lâmpada não acender, então:
pegue uma escada;
posicione-a embaixo da lâmpada;
busque uma lâmpada nova;
suba na escada;
retire a lâmpada;
coloque uma lâmpada nova.
ENQUANTO a lâmpada não acender:
retire a lâmpada;
coloque outra lâmpada.
ALGORITMO

O processo é composto de:

Raciocínio Lógico – experiência que vem com a prática

Conhecimento de técnicas – estudo de livros de programação

Conhecimento das Ferramentas – estudo de manuais de referência


Zé Círcio

Escreva um algoritmo otimizado para tomar banho


FORMAS DE REPRESENTAÇÃO DE ALGORITMOS

Existem diversas formas de representação de algoritmos

Algumas tratam o nível lógico, abstraindo os detalhes da implementação

Outras são mais ricas em detalhes, mas podem incorrer na dificuldade de


entendimento do algoritmo

Dentre as principais formas estão:


Descrição narrativa
Fluxograma convencional
Pseudocódigo – Linguagem Estruturada - Portugol
NARRAÇÃO DESCRITIVA
Exemplo de uma receita de bolo

Misture os ingredientes
Unte a forma com manteiga
Despeje a mistura na forma
Leve a forma ao forno
Enquanto não dourar
Deixe a forma no forno
Retire do forno
Deixe esfriar
Zé Círcio

Escreva um algoritmo, utilizando narração descritiva para coar café


FLUXOGRAMA

É uma representação gráfica que utiliza formas geométricas para descrever


ações

Facilita o entendimento das ideias e a exatidão dos comandos


Símbolo Função Descrição

Processo
FLUXOGRAMA
Representa todo tipo de ação, como por exemplo,
operações aritméticas, lógicas e atribuições
Uma ação que é efetuada de acordo com uma condição.
Decisão Por exemplo, se o aluno tirou nota 7, então ele está
aprovado, caso contrário, está reprovado

Terminador Utilizado para indicar que o fluxograma terminou

Símbolo que representa a saída de dados, seja para um


Display monitor ou para um periférico de saída de dados, como
uma impressora
Símbolo Função Descrição
Entrada Corresponde à instrução de entrada de dados através do
manual de teclado. Atualmente é considerado o símbolo para
dados qualquer entrada de dados

Somador Elemento lógico E

OR - OU Elemento lógico OU

Seta de fluxo Indica o fluxo que a informação está seguindo


FLUXOGRAMA

Símbolo Função Descrição


Entrada Corresponde à instrução de entrada de dados através do
manual de teclado. Atualmente é considerado o símbolo para
dados qualquer entrada de dados

Somador Elemento lógico E

OR - OU Elemento lógico OU

Seta de fluxo Indica o fluxo que a informação está seguindo


FLUXOGRAMA
Exemplo
Escreva um fluxograma que leia dois números e apresente o resultado da soma
FLUXOGRAMA
Exemplo
Escreva um fluxograma que leia dois números e apresente o resultado da soma
INÍCIO

Digite dois
números

Leia X
Leia Y

O resultado
FIM da soma de Z=X+Y
XeYéZ
Zé Círcio

Escreva um fluxograma que leia um número e apresente o fatorial


FLUXOGRAMA
Exemplo
Escreva um fluxograma que leia dois números e apresente o resultado da soma
INÍCIO

Digite um
números

Leia X

O fatorial
FIM do número Z = X!
XéZ
PSEUDOCÓDIGO
É uma descrição quase textual, mais precisa do fluxo do programa

Utilizando o exemplo anterior, temos:

Início do algoritmo
Escreva “Digite dois números:”
Leia X
Leia Y
Z=X+Y
Escreva “A soma de X e Y é Z”
Fim do algoritmo
Zé Círcio

Escreva em narração descritiva, fluxograma e pseudocódigo um programa que


solicite que o usuário digite as quatro notas que um aluno obteve. Em seguida,
o programa deve calcular a média das notas e apresentar a média final
Dúvidas?

Você também pode gostar