Você está na página 1de 12

UNIDADE 1 | Seo 1

Algoritmos
e Lgica de
Programao

HISTRICO E DEFINIO DE ALGORITMOS: PERSPECTIVAS DE LINGUAGEM

Seo 1
Palavras-chave:
Algoritmos; lgica; estruturas de seleo; repetio e deciso; vetores; e
matrizes.

COMPETNCIA DE FUNDAMENTOS DE REA:


Conhecer os princpios e conceitos que envolvem o aprendizado em
construo de algoritmos e programao e a sua importncia para o
universo do desenvolvimento de sistemas.
CONTEDO:
Definio de algoritmos.
Histrico e perspectivas para a linguagem.
OBJETIVOS DE APRENDIZAGEM:
Conhecer o que so, como se aplicam e a quem se destina a
elaborao dos algoritmos.
Conhecer como se desenvolve estruturas computacionais com
expresses literais, lgicas e aritmticas, alm dos tipos de dados.
Conhecer o ambiente de programao, a maneira como ocorre o
raciocnio lgico computacional, bem como os tipos e as formas de
representao de algoritmos atravs da elaborao do fluxograma e do
pseudocdigo.
Conhecer e saber identificar o que so variveis e constantes e como se
faz a declarao de variveis.
RESULTADO DE APRENDIZAGEM:
Pretende-se que o aluno saiba identificar a sequncia de aes que o

U1

Histrico e Definio de Algoritmos: Perspectivas de Linguagem

sistema precisar executar e apresente-a em linguagem natural.


CONHECIMENTOS PRVIOS:
Conhecimentos Conceituais prvios necessrios:
No h.
Conhecimentos Procedimentais prvios necessrios:
No h.

U1

Histrico e Definio de Algoritmos: Perspectivas de Linguagem

AULA PRESENCIAL:
Voce deve alinhar e combinar essas etapas tendo em vista o
desenvolvimento das competencias e os objetivos de aprendizagem.

PENSANDO A AULA

Apresentar o Plano de Ensino-Aprendizagem para a turma.


Explicar a metodologia de ensino Flipped Classroom, que dever ser
adotada para a disciplina.
Orientar o aluno quanto a essa metodologia e esclarecer o que se espera
dele em pr-aula, aula presencial e ps-aula.
Agendar, de acordo com o calendrio acadmico, as datas das avaliaes
parciais e oficiais.
Esclarecer quais so os seus critrios de aula e avaliao das atividades
bem como da participao em aula.
Acessar a plataforma digital e resolver com os alunos nesse primeiro
contato a questo de nmero 1 da Webaula.
Provocar a reflexo com o argumento apresentado no Livro Didtico
acerca do que programao e do que algoritmo:

U1

Histrico e Definio de Algoritmos: Perspectivas de Linguagem

Para programarmos em um computador, devemos conhecer e entender


o que so os algoritmos e como utiliz-los para determinar a sequncia de
passos necessrios para resolvermos determinados problemas ou, em outras
palavras, encontrarmos a soluo, ou a melhor soluo, para a implementao
em uma linguagem de programao (PIVA JUNIOR et al., 2012, p. 3).

PROBLEMATIZANDO A AULA

SITUAO DA REALIDADE PROFISSIONAL


Retomada com o aluno da situao que ser trabalhada na aula.
O apoio pedaggico est no Livro Didtico e na Webaula.
Considere o cenrio que envolve os comerciantes do litoral sul do pas. Eles
esto se organizando em cooperativa para angariar recursos e melhorar as
transaes comerciais desse mercado. Contrataram uma consultoria para
desenvolver um aplicativo. Nesse contexto, suponha que voc faz parte
desta equipe.
O grande desafio dos comerciantes e da empresa contratada para o
desenvolvimento desse aplicativo achar uma soluo que atenda
necessidade de divulgao, organizao das informaes, facilidade de
uso e acesso para os seus clientes os encontrarem, agendarem ou mesmo
tomar conhecimento daquele determinado estabelecimento de hotelaria
ou gastronomia. Um ponto de ateno que precisam realizar todos os
processos, desde a determinao das aes do sistema e tarefas at a
escolha das ferramentas de anlise e desenvolvimento do aplicativo.
Uma das propostas da empresa disponibilizar um prottipo do aplicativo
para celular que informe aos usurios quais so os servios de hotelaria
e gastronomia disponveis naquela regio. A partir dessa situao, os
comerciantes esperam obter solues que apresentem uma forma de
contabilizar o ndice de satisfao do usurio quanto facilidade de
navegao e uso do aplicativo. Para tal, aps realizar a consulta, o usurio
direcionado a um painel com os cones que representam o seu ndice de
satisfao: insatisfeito, satisfeito ou plenamente satisfeito. O prazo para o
seu desenvolvimento de 6 meses.
Estabelea um processo de verificao e controle de como possibilitar
que o sistema contabilize os acessos, realize o clculo da mdia atravs da

U1

Histrico e Definio de Algoritmos: Perspectivas de Linguagem

indicao de sua expresso aritmtica, indique uma forma de registrar essas


informaes e as envie aos interessados.
Fica a sugesto do desenvolvimento das estruturas do algoritmo em
pseudocdigo. Isso permite que voc identifique os processos e a necessidade
de alteraes antes do desenvolvimento efetivo do sistema. Encontre a lgica
necessria para otimizar o processamento e uso dos recursos.

SITUAO-PROBLEMA
Considerar a situao-problema seguinte para esta etapa de apresentao
de conceitos e definies:
A partir de agora preciso definir, em linguagem natural, um algoritmo
que deixe clara a sequncia lgica que ter de ser cumprida para a soluo
do problema que os comerciantes do Litoral Sul tm de resolver.

PROCEDIMENTOS PARA A SOLUO DA SITUAO-PROBLEMA


Nesta etapa so enfatizados os pontos presentes no material e, aliados aos
conhecimentos do professor, os procedimentos bsicos a estudar ou a
atentar para a realizao das atividades.
muito importante, nesta primeira entrega, que seja especificado o
algoritmo em linguagem natural a fim de facilitar o desenvolvimento do
fluxograma dos processos que o sistema dever executar, como tambm o
seu pseudocdigo, que ser apresentado em seguida.
O objetivo seguir os passos identificados no algoritmo para o
desenvolvimento do prottipo. Esta uma tarefa que requer a leitura dos
materiais e das indicaes componentes dessas referncias.
ATIVIDADES MEDIADAS
Iniciar a explicao de como surgiu o termo algoritmo e de como aplicar
esse conceito realidade computacional. A seguir destaca-se o ponto de
ateno no Livro Didtico.
O termo surgiu com o astrnomo e matemtico persa Abdullah Muhammad
Bin Musa al- Khwarizmi, no sculo IX. Um dos algoritmos mais conhecidos
o de Euclides, que determina o valor do mdc (mximo divisor comum). O

U1

Histrico e Definio de Algoritmos: Perspectivas de Linguagem

algoritmo de Euclides estabelece os seguintes passos:


Divide um nmero a por b e o resto de diviso chamado de r.
Substitui a por b.
Continua a diviso e substitui b por r.
Divide a por b at que um no possa ser mais dividido e o a, para esta
situao, ser o mximo divisor comum.
Veja, a seguir, o exemplo dado para calcular o mdc (PIVA JUNIOR et al.,
2012, p. 4):
mdc= (480, 130)
a

+ x

480 = 130 * 3 + 90 (o resto 90)


130 = 90 * 1 + 40 (r = 40)
90 = 40 * 2 + 10 (r = 10)
40 = 10 * 4 + 0 (r = 0)
10 = 0, Logo, o mdc (480,130) = 10.

Explicar as diferentes aplicaes, seja do ponto de vista da organizao


lgica para a execuo de tarefas, seja para a considerao do modelo
de sequenciamento de aes e sua representao de acordo com a
sintaxe ou o paradigma de programao. Indicar quais so as ferramentas
e plataformas que sero utilizadas para o desenvolvimento dos algoritmos
na disciplina (VisuAlg, Dev C++ e outras que o professor achar interessante
e agregadoras)
Recapitular algumas informaes, tais como: qual a organizao bsica do
computador; o que linguagem de mquina; como ocorre a comunicao
entre elas; o cdigo ASCII; o que so os programas de computadores; como
a lgica de programao e de que forma acontece a resoluo de problemas
pelo computador, ou seja, como ocorre o processamento da informao.
Apresentar a tabela ASCII: explicar a representao binria brevemente.
(Disponvel em: <http://www.ascii-code.com/>. Acesso em: 18 maio 2015.)

U1

Histrico e Definio de Algoritmos: Perspectivas de Linguagem

Retomar contedos com uma breve explicao:


Unidade de entrada: em que ocorre a entrada de dados. Ex.: teclado, mouse.
Unidade de sada: h a sada de informaes. Ex.: monitor, impressora.
Unidade de Processamento Central: responsvel pelo processamento das
informaes e alocao de recursos.
Memria: armazenamento de dados (RAM, HD, ROM, Cache).
Exemplificar de acordo com o exerccio proposto no Livro Didtico:
A seguir h um outro exemplo de algoritmo, porm em linguagem no
computacional, que representa uma tarefa do cotidiano: realizar a troca de
uma lmpada:
Apresentar a proposta de soluo:
Incio
a. Verifica se o interruptor est desligado.
b. Pega uma escada.
c. Posiciona a escada no local.
d. Sobe a escada.
e. Retira a lmpada queimada.
f. Coloca a lmpada nova.
g. Desce da escada.
h. Ascende a lmpada no interruptor.
i. Se a lmpada no acender, ento
j. Retira novamente a lmpada queimada.
k. Troca por uma lmpada nova.
l. Seno
m. Descarta a lmpada queimada.
n. Guarda a escada.
o. Encerra a tarefa.
Fim

U1

Histrico e Definio de Algoritmos: Perspectivas de Linguagem

RESOLUO DA SITUAO-PROBLEMA
Explicar a resoluo proposta no Livro Didtico.
Considere que voc realizou uma entrevista com os stakeholders desse
projeto, ou seja, com os comerciantes e demais envolvidos neste trabalho.
Assim, voc precisa identificar os processos e escrever em estrutura de
algoritmo, mas em linguagem natural, os passos que anotou.
Verifique se o algoritmo a seguir cabe como sugesto de resoluo do
problema e proponha tambm outras formas de resolv-lo, de maneira que
seja otimizado o processamento da informao. A princpio, estabelea
tambm quais sero os passos necessrios para a sua concluso.
Veja a seguir a proposta:
Algoritmo de execuo do projeto
1. Incio
2. Levantar requisitos do aplicativo junto aos comerciantes.
3. Escrever o plano de ao do projeto.
4. Obter a aprovao junto aos clientes.
5. Elaborar o algoritmo do software em questo em linguagem natural e em
pseudocdigo.
6. Desenvolver o fluxograma das aes do aplicativo.
7. Direcionar equipe de desenvolvimento do projeto para a implantao.
8. Desenvolver a soluo utilizando uma linguagem de programao.
9. Realizar os testes.
10. Disponibilizar o aplicativo.
11. Encerrar o projeto.
Fim.

U1

Histrico e Definio de Algoritmos: Perspectivas de Linguagem

PROVOCANDO NOVAS SITUAES

TRANSFERNCIA
Transferncia 30 min. (utilizar a Avaliao Formativa sempre que houver
necessidade)
Apresente o problema da Torre de Hanoi:
Exemplo 1: Algoritmo Torres de Hanoi
Incio
1. Mover o primeiro anel de A para B.
2. Mover o segundo anel de A para C.
3. Mover o anel de B para C.
4. Mover o terceiro anel de A para B.
5. Mover o anel de C para A.
6. Mover o anel de C para B.
7. Mover o anel de A para B.
Fim

Apresentar a soluo correta, proposta no livro didtico:


Resolver com os alunos:
Em uma gincana escolar, o desafio era fazer com que dois grupos de trs
integrantes cada conseguissem atravessar uma ponte pela qual s possvel
passar dois alunos por vez. No entanto, como so grupos diferentes, no
permitido que em qualquer dos lados da ponte fique mais alunos do
grupo 2 (G2) que do grupo 3 (G3). Ento, elabore o algoritmo que respeite
a essas regras, demonstre-o em linguagem natural e faa o teste conforme
a indicao que segue:
Resposta padro:
1. Atravessem o aluno1 do G1 e o aluno1 do G2.

10

U1

Histrico e Definio de Algoritmos: Perspectivas de Linguagem

2. Volte o aluno1 do G1.


3. Atravessem o aluno2 do G2 e o aluno3 do G2.
4. Volte o aluno1 do G2.
5. Atravessem o aluno1 do G1 e o aluno2 do G1.
6. Volte aluno1 do G1 e aluno2 do G2.
7. Atravessem o aluno1 do G1 e o aluno3 do G1.
8. Volte o aluno3 do G2.
9. Atravesse o aluno1 do G2 e o aluno2 do G2.

Apresentar a soluo correta, proposta no livro didtico:


Resolver com os alunos:
Em uma gincana escolar, o desafio era fazer com que dois grupos de trs
integrantes cada conseguissem atravessar uma ponte pela qual s possvel
passar dois alunos por vez. No entanto, como so grupos diferentes, no
permitido que em qualquer dos lados da ponte fique mais alunos do
grupo 2 (G2) que do grupo 3 (G3). Ento, elabore o algoritmo que respeite
a essas regras, demonstre-o em linguagem natural e faa o teste conforme
a indicao que segue:
Resposta padro:
1. Atravessem o aluno1 do G1 e o aluno1 do G2.
2. Volte o aluno1 do G1.
3. Atravessem o aluno2 do G2 e o aluno3 do G2.
4. Volte o aluno1 do G2.
5. Atravessem o aluno1 do G1 e o aluno2 do G1.
6. Volte aluno1 do G1 e aluno2 do G2.
7. Atravessem o aluno1 do G1 e o aluno3 do G1.
8. Volte o aluno3 do G2.
9. Atravesse o aluno1 do G2 e o aluno2 do G2.
10. Volte aluno2 do G2.

11

U1

Histrico e Definio de Algoritmos: Perspectivas de Linguagem

11. Atravessem aluno2 do G2 e o aluno3 do G2.

Acesse com os alunos o site: <http://rachacuca.com.br/jogos/missionariose-canibais/>. Acesso em: 18 maio 2015.

Referncia Bibliogrfica
PIVA JUNIOR, Dilermando et al. Algoritmos e Programao de
Computadores. Rio de Janeiro: Campus, 2012.

12