Buscar

logica-programacao-4

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 16 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 16 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 16 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Grupo SER Educacional | Lógica de Programação 1 
 
 
 
 
LÓGICA DE PROGRAMAÇÃO 
 Lógica de Programação
 
IZABELLY MORAIS E MAX AZEVEDO 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
INTRODUÇÃO À LÓGICA 
DE PROGRAMAÇÃO 
ALGORÍTMICA 
 
 
 
 
 
AULA 04 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Diretor Executivo 
DAVID LIRA STEPHEN BARROS 
 
Direção Editorial 
ANDRÉA CÉSAR PEDROSA 
 
Projeto Gráfico 
MANUELA CÉSAR DE ARRUDA 
 
Autor 
IZABELLY MORAIS E MAX AZEVEDO 
 
 
Desenvolvedor 
CAIO BENTO GOMES DOS SANTOS 
 
 
 
 
 
 
 
O Autor 
 
 
Izabelly Morais de Morais 
 
 
Olá. Meu nome é Izabelly Morais. Sou licenciada em Ciência da 
Computação pela Universidade Federal da Paraíba (UFPB), e mestre em 
Ciência da Computação com ênfase em Engenharia de Software e 
Linguagens de Programação pela Universidade Federal de Pernambuco 
(UFPE). Leciono como professora formadora no Instituto Federal de 
Pernambuco (IFPE) e na Faculdade Pitágoras (João Pessoa/PB), onde 
tenho a oportunidade de transmitir minha experiência na área de 
tecnologia e educação. 
 
 
Max André de Azevêdo Silva 
 
Olá. Meu nome é Max Azevêdo Silva. Sou formado em Licenciatura em 
Ciência da Computação, pela Universidade Federal da Paraíba, e 
mestrando em Ciência da Computação com ênfase em Engenharia de 
Software pela Universidade Federal da Paraíba. Possuo experiência na 
área de desenvolvimento de sistemas web, mobile e jogos eletrônicos. 
Atualmente atuo como Analista de Sistemas. 
 
 
A possibilidade de expor nossos conhecimentos adquiridos ao longo dos 
anos é fantástica! Por isso fomos convidados pela Editora Telesapiens a 
integrar seu elenco de autores independentes. Estamos muito felizes em 
poder ajudar você nesta fase de muito estudo e trabalho. Conte conosco! 
 
 
IZABELLY MORAIS E MAX AZEVEDO 
 
“ 
 
 
Iconográficos 
Olá. Meu nome é Manuela César de Arruda. Sou o responsável pelo 
projeto gráfico de seu material. Esses ícones irão aparecer em sua trilha 
de aprendizagem toda vez que: 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
INTRODUÇÃO 
para o início do 
desenvolvimento de 
uma nova 
competência; 
DEFINIÇÃO 
houver necessidade de 
se apresentar um novo 
conceito; 
NOTA 
quando forem 
necessários 
observações ou 
complementações 
para o seu 
conhecimento; 
IMPORTANTE 
as observações 
escritas tiveram 
que ser priorizadas 
para você; 
EXPLICANDO 
MELHOR 
algo precisa ser 
melhor explicado ou 
detalhado; 
VOCÊ SABIA? 
curiosidades e 
indagações lúdicas 
sobre o tema em 
estudo, se forem 
necessárias; 
SAIBA MAIS 
textos, referências 
bibliográficas e links 
para aprofundamento 
do seu conhecimento; 
REFLITA 
se houver a necessidade 
de chamar a atenção 
sobre algo a ser refletido 
ou discutido sobre; 
ACESSE 
se for preciso acessar 
um ou mais sites 
para fazer download, 
assistir vídeos, ler 
textos, ouvir podcast; 
 
RESUMINDO 
quando for preciso se 
fazer um resumo 
acumulativo das 
últimas abordagens; 
ATIVIDADES 
quando alguma 
atividade de 
autoaprendizagem for 
aplicada; 
TESTANDO 
quando o 
desenvolvimento de 
uma competência for 
concluído e questões 
forem explicadas; 
 
 
Sumário 
1 INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO ALGORÍTMICA ..................................... 6 
1.1 O que é Lógica? .................................................................................................... 6 
1.2 Lógica no contexto computacional ........................................................................ 8 
1.3 Algoritmos Computacionais ................................................................................... 9 
1.3.1 Fluxograma ............................................................................................ 10 
1.3.2 Pseudocódigo ......................................................................................... 11 
1.4 Dicas sobre algoritmização .................................................................................. 12 
Considerações Finais ................................................................................................ 14 
Atividades de Autoaprendizagem .............................................................................. 14 
Questionário Avaliativo ............................................................................................ 14 
Bibliografia .............................................................................................................. 15 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 6 
 
 
1 Introdução à Lógica de Programação 
Algorítmica 
 
INTRODUÇÃO: 
Como já sabemos, existe uma enormidade de linguagens de 
programação, desde as mais simples e intuitivas (de alto nível), até as 
mais complexas e trabalhosas (de baixo nível). Independentemente de 
que linguagem se adote, para solucionar problemas computacionais é 
requerido do programador uma habilidade específica: a lógica de 
programação algorítmica. Não se trata de habilidade com matemática ou 
algo do gênero. Estamos falando de uma capacidade peculiar a todos os 
que conseguem visualizar soluções racionais para problemas do dia a dia. 
O raciocínio lógico, que é a base desta habilidade, já é matéria cobrada 
em quase todos os editais de concursos públicos, e já é ensinado em 
várias escolas de ensino fundamental e médio. Quem desenvolve essa 
competência, é capaz de aprender rapidamente qualquer linguagem de 
programação, pois, como já dissemos anteriormente, a diferença de uma 
linguagem para a outra está apenas na semântica e no dicionário de 
comandos.Programar computadores é uma tarefa tão natural quanto 
escrever um pequeno manual sobre como trocar o pneu de um carro. 
Qualquer um é capaz de fazer! 
 
 
1.1 O que é Lógica? 
 
Damos início a este tópico debatendo um pouco sobre nosso cotidiano. 
Isso mesmo! Falaremos sobre as atividades que você desempenha no seu 
dia a dia, como tomar café, ir à escola ou até mesmo ir ao trabalho. 
OBJETIVO: 
Ao término desta aula você será capaz de definir e entender o conceito e 
as funcionalidades da lógica de programação e algoritmos computacionais. 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 7 
 
 
Toda ação que executamos, nos remete a um objetivo final . Por exemplo, 
quando estamos com fome, sempre vamos atrás de saná-la, por meio da 
alimentação. Dessa forma, toda tomada de decisão em um algoritmo 
computacional deve ser baseada na lógica de se atingir algum objetivo. 
Conforme o Dicionário Aurélio (2017), o termo lógica está associado à 
“análise que estuda as proposições e seus membros componentes” . Já 
Forbellone (2005, p.1) diz que: 
[...] a lógica pode estar relacionada com a „correção do 
pensamento‟, pois uma de suas preocupações é 
determinar quais operações são válidas e quais não são, 
fazendo análises das formas e leis do pensamento. 
Ainda sob a ótica do autor, ela nos ensina a usar 
corretamente as leis do pensamento, ou seja, ela ensina 
a colocar „ordem no pensamento‟. 
A lógica está interligada à solução de algum problema que traz 
características que não estão relacionadas à determinada situação. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Por exemplo, se precisamos realizar cálculos 
matemáticos, e nossa calculadora não está realizando 
as quatro operações matemáticas de forma correta, 
então temos um problema a ser resolvido. E é através 
da lógica matemática que conseguimos visualizar 
esta situação problemática e trazer uma ou mais 
possíveis soluções. 
A lógica computacional traz um conceito de solução de 
problemas, podendo muitas vezes ser aplicada a diversas 
situações do nosso cotidiano. Por exemplo, quando 
inserimos um endereço em um GPS e ele nos retorna 
diversas possíveis rotas, aplicamos certa lógica para 
escolhera rota mais adequada para nós, seja pela 
quilometragem, ou pelo tipo de estrada. 
EXPLICANDO MELHOR 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 8 
 
 
1.2 Lógica no contexto computacional 
 
A lógica não deve estar ligada apenas aos conceitos que norteiam a 
matemática. Para utilizá-la em favor da solução dos problemas 
computacionais, precisamos aplicá-la aos recursos disponíveis nos 
sistemas computacionais. 
 
 
 
 
 
 
 
 
 
Uma definição bastante completa sobre lógica de programação foi 
lançada por Forbellone (2005, p. 14), que a conceitua como: 
[...] o uso correto das leis do pensamento da “ordem da 
razão” e de processos de raciocínio e simbolização 
formais na programação de computadores, objetivando 
a racionalidade e o desenvolvimento de técnicas que 
cooperem para a produção de soluções logicamente 
válidas e coerentes, que resolvam com qualidade os 
problemas que se deseja programar. 
 
 
 
 
 
 
 
 
Por exemplo, a lógica necessária para se troca o pneu de 
um carro articula recursos como macaco, parafusos, jante, 
pneu, carro, etc. Já na programação do computador para 
ler um arquivo de dados e imprimir um relatório, 
envolvemos outros recursos, como memória, disco, dados, 
impressora e papel. Contudo, tanto em um caso quanto 
em outro, a forma de se raciocinar é a mesma: juntar 
comandos e manipular recursos para se atingir um 
objetivo específico ao final do processamento. 
EXPLICANDO MELHOR 
A lógica de programação, portanto, pode ser definida 
como a técnica necessária para nortear o desenvolvimento 
de um software, o qual deve seguir certas regras para 
atingir o seu objetivo. 
DEFINIÇÃO 
Lógica de Programação| Izabelly Morais e Max Azevedo | 9 
 
 
A lógica de programação computacional é aplicada, por exemplo, na 
seleção e determinação de quais instruções devem ser executadas para 
que o problema seja solucionado. Por meio de sua aplicação, podemos 
ter resultados lógicos que irão satisfazer nossas condições, ou seja, 
nenhuma instrução é inserida sem uma funcionalidade. 
 
1.3 Algoritmos Computacionais 
 
Podemos fazer uso de variados modos para representar a solução de um 
problema, computacional ou não. Quando se define um conjunto de 
regras sintáticas para expressar raciocínios e operações necessárias à 
solução de uma classe de problemas, tem-se um algoritmo. Se tais 
problemas forem de cunho computacional, tem-se um algoritmo 
computacional. 
 
 
 
 
 
 
 
 
Para entendermos melhor o conceito de algoritmo computacional, vamos 
imaginar a representação gráfica do seguinte problema: Decidir qual o 
maior entre dois números lidos pelo computador. Um problema simples 
deve apresentar uma solução igualmente simples, portanto, podemos 
representar esta solução algorítmica de duas maneiras: gra ficamente ou 
textualmente, como apresentado a seguir. 
Algoritmo computacional é uma visão esquemática sobre 
a solução de uma classe de problemas computacionais, 
podendo ser representado gráfica ou textualmente, por 
meio de um pseudocódigo escrito em uma 
pseudolinguagem. 
DEFINIÇÃO 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 10 
 
 
1.3.1 Fluxograma 
 
Figura 1 - Representação algorítmica por meio de fluxograma. Fonte: https://wiki.portugal-a-
programar.pt/_media/algoritmo:fluxograma.jpg 
 
Observe que a solução algorítmica adotada na figura 1 está sendo 
representada graficamente por uma simbologia denominada 
“fluxograma”. Nesta solução foram adotados comandos visuais, 
compreensíveis facilmente por qualquer um, de forma bastante intuitiva. 
Mas, para isto, foi necessário se estabelecer um dicionário de comandos, 
que neste caso contemplou os seguintes: 
 
 
Figura 2 - Destacando os comandos visuais do fluxograma. Fonte: idem. 
 
 
Marca o início ou o término 
de um algoritmo 
Lê ou exibe um 
dado/informação 
Executa um procedimento 
Desvia o fluxo de 
procedimentos conforme a 
condição descrita 
Desvia o fluxo de 
procedimentos para outro 
algoritmo 
Lógica de Programação| Izabelly Morais e Max Azevedo | 11 
 
 
 
 
1.3.2 Pseudocódigo 
 
Outro modo de se representar uma solução algorítmica é por meio de 
textos, ou pseudocódigos. Do grego, “pseudo” significa falso, o que faz do 
pseudocódigo um código escrito em uma linguagem que, na prática, não 
existe. Em outras palavras, o pseudocódigo evidencia uma forma genérica 
de se escrever um algoritmo, utilizando uma linguagem simples, 
compreensível por qualquer pessoa, sem que esta pessoa conheça a 
sintaxe de nenhuma linguagem de programação. Transcrevendo o 
algoritmo esquematizado no fluxograma anterior, poderíamos escrever o 
seguinte pseudocódigo: 
 
INÍCIO 
 LER NUM1 
 LER NUM2 
 SE NUM1 > NUM2 
 ENTÃO 
 ESCREVER “O maior é: ” & NUM1 
 SENÃO 
 SE NUM1 < NUM2 
 ENTÃO 
 ESCREVER “O maior é: ” & NUM2 
 SENÃO 
 ESCREVER “São iguais” 
 FIMSE 
 FIMSE 
FIM 
 
Perceba que ambas as representações algorítmicas conseguem 
solucionar o mesmo problema, com exatamente o mesmo ordenamento 
lógico. O que as diferencia é tão somente a semântica da linguagem. 
Enquanto na primeira solução foi adotada uma linguagem visual 
(fluxograma ou diagrama de blocos), na segunda foi utilizada uma 
linguagem natural, que no caso foi a própria língua portuguesa. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 12 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1.4 Dicas sobre algoritmização 
 
Assim como toda atividade que desempenhamos no nosso dia a dia, 
algoritmizar uma solução computacional exige escolhas sábias. Ascencio 
et al (2012) destacam os seguintes passos: 
1. Ler atentamente o enunciado, destacando os pontos mais 
importantes. 
2. Definir os dados de entrada, ou seja, quais dados serão fornecidos. 
3. Definir o processamento, ou seja, quais cálculos serão efetuados e 
quais as restrições para esses cálculos. O processamento é responsável 
pela transformação dos dados de entrada em informações de saída. 
4. Definir as informações de saída, ou seja, quais informações serão 
geradas depois do processamento. 
É possível elaborarmos um programa diretamente na 
linguagem de programação verdadeira, sem termos 
que passar pela fase da solução algorítmica? 
A resposta é afirmativa, ou seja, podemos sim 
literalmente “meter a mão na massa” e elaborar 
nossos programas utilizando a própria linguagem de 
programação comercial como ferramenta de solução 
algorítmica. 
Então por que existem pseudocódigos e fluxogramas 
para representar soluções computacionais? 
A reposta é igualmente simples: os algoritmos são 
instrumentos que cumprem duas funções distintas: 
cognitiva (na fase em que se está aprendendo a 
programar); e didática (para facilitar o entendimento de 
pessoas leigas que precise interagir com a solução). 
REFLITA 
Lógica de Programação| Izabelly Morais e Max Azevedo | 13 
 
 
5. Construir o algoritmo utilizando um dos tipos descritos 
anteriormente. 
6. Testar o algoritmo realizando simulações. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Podemos ter diversos algoritmos desenvolvidos de 
maneiras diferentes, ou seja, com etapas distintas, porém, 
que solucionam o mesmo problema. Cada pessoa tem seu 
modo de pensar, dessa forma, não é obrigado que todos 
tenhamos a mesma ideia, ou até mesmo executemos 
ações da mesma maneira! 
VOCÊ SABIA? 
Conforme Manzano (2004), “a norma ISO 5807 -1985 para 
a definição e elaboração de diagramas de fluxos para a 
área de desenvolvimento e projeto de software é a 
consolidação de duas normas anteriores: ISO 10282 e ISO26363. Segundo informação da própria norma ISO 5807-
1985 (E), a definição e elaboração de diagramas para a 
representação gráfica da linha de raciocino lógico a ser 
adotada não deve restringir o uso de aplicações ou 
soluções particulares, uma vez que pode ocorrer a 
existência de vários tipos de soluções para os vários 
problemas de processamento de informação” (ISO 5807, 
1985, p. 1 apud Manzano,2004). 
IMPORTANTE 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 14 
 
 
Considerações Finais 
SAIBA MAIS: 
 
Quer se aprofundar em algum dos temas desta aula? 
Recomendamos o acesso à seguinte fonte de consulta e 
aprofundamento: Vídeo: “Introdução a algoritmos – curso algoritmos 
#01” (GUANABARA, 2014), acessível pelo link: 
https://www.youtube.com/watch?v=8mei6uVttho (Acesso em 
19/09/2017). 
 
 
 
 
Atividades de Autoaprendizagem 
ATIVIDADES: 
Pronto para consolidar seus conhecimentos? Leia atentamente o 
enunciado de sua atividade de autoaprendizagem proposta para esta 
aula. Se você está fazendo o seu curso presencialmente, é só abrir o 
seu caderno de atividades. Se você estiver cursando na modalidade de 
EAD (Educação a Distância), acesse a sua trilha de aprendizagem no seu 
ambiente virtual e realize a atividade de modo online. Você pode 
desenvolver esta atividade sozinho ou em parceria com seus colegas de 
turma. Dificuldades? Poste suas dúvidas no fórum de discussões em seu 
ambiente virtual de aprendizagem. Concluiu a sua atividade? Submeta o 
resultado em uma postagem diretamente em seu ambiente virtual de 
aprendizagem e boa sorte! 
 
 
 
Questionário Avaliativo 
TESTANDO: 
Chegou a hora de você provar que aprendeu tudo o que foi abordado ao 
longo desta aula. Para isto, leia e resolva atentamente as questões do 
seu caderno de atividades. Se você estiver fazendo este curso a 
distância, acesse o QUIZ (Banco de Questões) em seu ambiente virtual 
de aprendizagem. 
https://www.youtube.com/watch?v=8mei6uVttho
Lógica de Programação| Izabelly Morais e Max Azevedo | 15 
 
 
Bibliografia 
 
ASCENCIO, A. F., & CAMPUS, E. A. (2012). Fundamentos da Programação de 
Computadores (Algoritmos, Pascal, C/C+ e Java) (3a. ed.). São Paulo: 
Prentice Hall. 
DICIONÁRIO do Aurélio (versão online). (2017). Acesso em 2017, disponível em 
https://dicionariodoaurelio.com/logica 
FORBELLONE, A. L. (2005). Lógica de programação: a construção de algoritmos e 
estrutura de dados. São Paulo: Pearson. 
MANZANO, J. A., & OLIVEIRA, J. F. (2016). Algoritmos: Lógica para desenvolvimento 
de programação de computadores (28. ed.). São Paulo: Érica. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 16

Outros materiais