Buscar

Livro de Algoritmos e Lógica de Programação II

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 83 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 83 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 83 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

ALGORITMOS E LÓGICA
DE PROGRAMAÇÃO II
PROF. JOSÉ HENRIQUE HONJOYA
“A Faculdade Católica Paulista tem por missão exercer uma ação integrada de suas atividades educacionais, visando à 
geração, sistematização e disseminação do conhecimento, 
para formar profissionais empreendedores que promovam 
a transformação e o desenvolvimento social, econômico e 
cultural da comunidade em que está inserida.
Missão da Faculdade Católica Paulista
 Av. Cristo Rei, 305 - Banzato, CEP 17515-200 Marília - São Paulo.
 www.uca.edu.br
Nenhuma parte desta publicação poderá ser reproduzida por qualquer meio ou forma 
sem autorização. Todos os gráficos, tabelas e elementos são creditados à autoria, 
salvo quando indicada a referência, sendo de inteira responsabilidade da autoria a 
emissão de conceitos.
Diretor Geral | Valdir Carrenho Junior
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO II
PROF. JOSÉ HENRIQUE HONJOYA
SUMÁRIO
AULA 01
AULA 02
AULA 03
AULA 04
AULA 05
AULA 06
AULA 07
AULA 08
AULA 09
AULA 10
AULA 11
AULA 12
AULA 13
AULA 14
AULA 15
AULA 16
 05
 08
 15
 21
 26
 31
 34
 46
 49
 52
 56
 59
 63
 69
74
77
INTRODUÇÃO A ALGORITMOS 
REPRESENTAÇÃO DE ALGORITMOS 
A LINGUAGEM 
SINTAXE, SEMÂNTICA, INSTRUÇÕES, 
PARÂMETROS E ATRIBUIÇÃO 
ENTRADA DE DADOS E SAÍDA 
STR (STRING) 
CONSTANTES, VARIÁVEIS E TIPOS DE DADOS 
OPERADORES MATEMÁTICOS 
EXPRESSÕES ARITMÉTICAS 
ÁLGEBRA BOOLEANA E OPERADORES LÓGICOS 
ESTRUTURA CONDICIONAL 
ESTRUTURA DE REPETIÇÕES 
VETORES, MATRIZES E DICIONÁRIO 
REFINAMENTO SUCESSIVO E MÓDULOS
MÓDULO
DICAS 
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO II
PROF. JOSÉ HENRIQUE HONJOYA
FACULDADE CATÓLICA PAULISTA | 4
INTRODUÇÃO
Esta disciplina irá fornecer ao aluno conhecimento e ferramentas para que consiga 
desenvolver algoritmos utilizando uma linguagem de programação. Esta matéria é 
pilar para as futuras disciplinas.
Após a conclusão desta aula o aluno será capaz de desenvolver programas funcio-
nais que poderão ser utilizados em qualquer computador.
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO II
PROF. JOSÉ HENRIQUE HONJOYA
FACULDADE CATÓLICA PAULISTA | 5
AULA 1
INTRODUÇÃO A ALGORITMOS
1.1 O que é algoritmo?
Com o advento dos computadores e seu uso para resolver problemas, ficou eviden-
te o termo algoritmo, embora utilizamos algoritmos no nosso dia a dia para execuções 
de tarefas simples como escovar os dentes e até mesmo ligar um veículo.
Mas o que é realmente algoritmo? Algoritmo é simplesmente uma receita para a 
execução de uma tarefa. Para que você tenha um algoritmo que atenda sua finalidade 
ele deverá sempre ter um objetivo alcançável, ou seja, ser finito. Abaixo temos descre-
vemos o algoritmo para escovar os dentes:
Problema: Escovar os dentes pela manhã
- Algoritmo EscovarDentes
1. Molhar a escova de dente
2. Colocar creme dental na escova
3. Escovar os dentes 
4. Enxaguar a boca com água
5. Lavar a escova 
6. Enxugar a boca
- Fim do algoritmo EscovarDentes
Como citado anteriormente, o termo algoritmo e seu estudo se tornou mais evi-
dente ao resolver problemas utilizando-se de recursos computacionais, seu estudo é 
requisito obrigatório em cursos voltados para desenvolvimento de sistemas. 
1.2 Lógica
Uma boa lógica é requisito essencial para um bom programador, sendo este ponto-
-chave para a resolução de problemas no dia a dia. Alves (2014) descreve que a lógica 
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO II
PROF. JOSÉ HENRIQUE HONJOYA
FACULDADE CATÓLICA PAULISTA | 6
nos ensina como utilizar o pensamento em busca de uma solução frente a algum pro-
blema, ajudando a organizar as tarefas para que o problema seja solucionado.
Uma boa lógica o ajudará a elaborar algoritmos assertivos, cobrindo os cenários 
que poderão se apresentar no decorrer de sua execução.
1.3 Conceitos Básicos
Dados: conjuntos de elementos brutos que podem ser utilizados como entrada em 
um sistema computacional, a fim de obter resultados após processado (Informação).
Informação: conjunto de resultados fornecidos após processamento dos dados 
brutos, este processamento é realizado por um ou mais algoritmos.
Programa de Computador: sequência de instruções não ambígua e finita em uma 
linguagem de programação específica que, quando executada, resolve um problema 
determinado pelo programador.
Linguagem de máquina: linguagem binária, composta por sequências de uns e ou 
zeros, essas sequências são utilizadas para representar os dados, programas e outros 
de maneira digital.
Linguagem de programação: hoje no mercado temos diversas linguagens de pro-
gramação de diversos níveis, desde uma linguagem de baixo nível que se comunica 
com registradores do processador que é o caso do Assembler e linguagens de mais 
alto nível que é o caso do Java, PHP, Ruby, Go, Python e outras.
Compiladores e Interpretadores: ambos têm como responsabilidade a tradução do 
código escrito em uma linguagem de alto nível para linguagem de máquina, a diferen-
ça é que uma linguagem compilada obtém-se um executável em sua grande maioria 
e a interpretada é traduzida em tempo de execução.
Sistema Operacional: primeira camada de software dos nossos computadores ele 
é responsável por realizar a comunicação dos programas e o hardware. O desenvolvi-
mento de um SO (Sistema Operacional) é extremamente complexo.
Hardware: termo utilizado para dispositivos físicos o qual podemos visualizar e que 
possuem funções específicas como mouse, teclado, monitor, processador, placa mãe, 
placa de rede etc.
Memória: é utilizada para armazenamento dos dados que estão sendo processa-
dos pelo seu algoritmo, o conhecimento de como a linguagem de programação traba-
lha com ela é fundamental.
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO II
PROF. JOSÉ HENRIQUE HONJOYA
FACULDADE CATÓLICA PAULISTA | 7
O conceito apresentado é de extrema importância dentro do ambiente computacio-
nal e no desenvolvimento de software, alguns destes conceitos poderão ser aplicados 
na escolha da linguagem de programação a ser utilizada no desenvolvimento do seu 
algoritmo, algumas linguagens de programação podem ser específicas para específi-
cos sistemas operacionais (Android, Linux, Windows, embarcados ou outros) ou har-
dwares (mobile, embarcados, com arquitetura 32 bits/ 64 bits ou outros).
1.4 Propriedades de um algoritmo
Souza descreve que todo algoritmo possui propriedades tais como:
- Valores de entrada: o algoritmo deve receber zero ou mais argumentos de entra-
da, um algoritmo que recebe zero entrada terá seu funcionamento estático, ou seja, irá 
gerar saídas levando em consideração dados de entrada.
- Valores de saída: todo algoritmo possui uma ou mais saídas que simboliza seu 
resultado, podemos utilizar como exemplo um algoritmo de soma, que passando dois 
números A e B o valor de saída seria R, onde R é a somatória de A e B.
- Finitude: um algoritmo é desenvolvido para a execução de tarefa que irá resolver 
algum problema e como toda tarefa deve haver início, meio e fim.
- Passos elementares: um algoritmo computacional deve ser explicado por meio 
de operações elementares ou seja sem ambiguidade e de forma lógica visando a fini-
tude.
- Correção: um algoritmo deve ser correto, isto é, deve permitir que, com sua exe-
cução, se chegue à saída com resultados coerentes com a entrada, para saber se um 
algoritmo está correto ou não deve-se realizar testes com diversos valores de entrada, 
cujos valores a serem produzidos já se conhece o resultado, então, comparar esses 
resultados com os valores produzidos pelo algoritmo em questão.
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO II
PROF. JOSÉ HENRIQUE HONJOYA
FACULDADE CATÓLICA PAULISTA | 8
AULA 2
REPRESENTAÇÃO DE 
ALGORITMOS
No desenvolvimento de software é muito comum a utilização de formas de repre-
sentações textuais ou gráficas, seja para exemplificar um componente físico ou lógi-
co.
 Na representação de algoritmos temos algumas formas que podem ser adotadas, 
sendo elas:
- Através de uma Língua: estas formassão frequentemente utilizadas em manu-
ais de montagem, configuração, algoritmos entre outros
- Linguagem de Programação: sendo utilizadas por desenvolvedores que preferem 
pular a fase de prototipação e validação do algoritmo, partindo direto para a progra-
mação.
- Representações gŕaficas ou textuais, onde podemos utilizar algumas destas for-
mas:
- Diagrama de blocos
- Português estruturado
2.1 Diagrama de blocos
 Manzano (2016) descreve que a representação gráfica baseada nas formas geo-
métricas padronizadas que implica o uso e a implementação de ações distintas. O uso 
de diagramas facilita o entendimento das ideias de uma pessoa ou equipe e justifica 
sua popularidade.
Este tipo de diagrama proporciona a visualização da entrada, processamento, flu-
xos e a saída de um algoritmo, abaixo temos um exemplo:
 
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO II
PROF. JOSÉ HENRIQUE HONJOYA
FACULDADE CATÓLICA PAULISTA | 9
Diagrama de bloco de um algoritmo de soma. Fonte: Algoritmos = Lógica de para Desenvolvimento de Programação de Computadores
No exemplo acima, temos um algoritmo de soma que receberá A e B como dados 
de entrada, irá realizar a soma dos dados de entrada e atribuir a variável R, que irá re-
tornar a escrita do valor atribuído a R.
 Como visto no exemplo o diagrama de bloco utiliza-se de formas geométricas, abai-
xo temos as formas disponíveis e o significado de cada uma:
 
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO II
PROF. JOSÉ HENRIQUE HONJOYA
FACULDADE CATÓLICA PAULISTA | 10
Tabela com as formas disponíveis no diagrama de blocos. Fonte: elaborado pelo autor
 Com as formas apresentadas acima, podemos representar algoritmos simples 
como o apresentado anteriormente, e até mesmo mais complexos, como algoritmos 
contendo laços de repetição, condicionais e sub-rotinas.
 
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO II
PROF. JOSÉ HENRIQUE HONJOYA
FACULDADE CATÓLICA PAULISTA | 11
Contador até 10, utilizando Diagrama de Bloco. Fonte: Algoritmos - Lógica de para Desenvolvimento de Programação de Computadores
 No exemplo acima temos um algoritmo que irá gerar saídas de zero a dez, onde:
1. I começa valendo 1
2. Há uma condicional, onde se I é menor ou igual a 10 deverá ser exibido o valor de I
3. Após exibição o valor de I é incrementado em + 1 
4. Voltamos para a fase condicional (2) 
5. Caso o valor de I seja maior do que 10, finaliza o algoritmo
Isto está na rede
Existem diversas ferramentas online que auxiliam o desenvolvimento de diagra-
mas de forma gratuita, nelas você pode criar, editar, exportar e até compartilhar 
com outras pessoas os diagramas desenvolvidos. Abaixo segue algumas da 
mais utilizadas:
- Creately - https://creately.com/pt/home/
- Diagrams.net - https://www.diagrams.net/
- Lucidchart - https://app.lucidchart.com/
https://creately.com/pt/home/ 
https://www.diagrams.net/ 
https://app.lucidchart.com/ 
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO II
PROF. JOSÉ HENRIQUE HONJOYA
FACULDADE CATÓLICA PAULISTA | 12
2.2 Português estruturado
 Este método é uma forma especial da linguagem, onde temos palavras do portu-
guês que irão funcionar como comandos, possui uma maneira fácil de interpretação 
por utilizar o português. Abaixo temos um algoritmo de soma, utilizando-se do portu-
guês estruturado.
 
Representação utilizando português estruturado de um algoritmo de soma. Fonte: Algoritmos - Lógica de para Desenvolvimento de Programação de Computadores
 Podemos ter cenários mais complexos, envolvendo laço de repetição e condicio-
nais, como exemplo utilizaremos o algoritmo de impressão de números de um até dez, 
conforme apresentado como exemplo no diagrama de blocos.
 
Contador até 10, utilizando Português Estruturado. Fonte: Algoritmos - Lógica de para Desenvolvimento de Programação de Computadores
 Com base no “Português Estruturado” surgiram ferramentas que interpretam o có-
digo escrito e o transformam em um programa, podemos citar a pseudolinguagem 
chama de Portugol.
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO II
PROF. JOSÉ HENRIQUE HONJOYA
FACULDADE CATÓLICA PAULISTA | 13
 Portugol permite que o leitor possa desenvolver algoritmos estruturados de forma 
simples e intuitiva, emprega-se a técnica de refinamentos sucessivos, após refina-
mento final o algoritmo é escrito em outra linguagem. 
2.3 Linguagem de programação
Muitas das instituições de ensino no mundo estão mudando a metodologia de ensi-
no de algoritmo, pulando diretamente para o uso de uma linguagem de programação, 
essa iniciativa teve início em renomadas universidades americanas, abaixo temos o 
algoritmo de soma desenvolvido utilizando a Python.
 
Algoritmo em Python com a função de soma. Fonte: elaborado pelo autor
 No exemplo abaixo temos o mesmo algoritmo de contagem de um a dez apresen-
tado anteriormente escrito na linguagem Python, observe que temos duas formas de 
escrever o mesmo algoritmo.
 
Contador até 10, utilizando Python versão somente com while. Fonte: elaborado pelo autor
 
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO II
PROF. JOSÉ HENRIQUE HONJOYA
FACULDADE CATÓLICA PAULISTA | 14
Contador até 10, utilizando Python versão com condicional. Fonte: elaborado pelo autor
 Ambas as versões do contador possuem as mesmas saídas, porém utilizando ins-
truções diferentes, mas não se preocupe caso não tenha entendido o código, nas au-
las posteriores os códigos farão mais sentido.
Isto está na rede
 A linguagem de programação Python foi lançada por Guido van Rossum em 
1991 e possui seu desenvolvimento comunitário, aberto e gerenciado pela en-
tidade Python Software Foundation, vem sendo adotada no desenvolvimento 
científico, no desenvolvimento de aplicações para web, jogos, desktop e outros.
Fonte: Python Brasil - https://python.org.br/
2.4 Abordagem escolhida
 Para potencializar o aprendizado do leitor será utilizado o Python no decorrer das 
próximas aulas, esta escolha proporcionará ao aluno o contato desde o início com 
uma linguagem de mercado e tornando seu aprendizado mais abrangente.
https://python.org.br/
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO II
PROF. JOSÉ HENRIQUE HONJOYA
FACULDADE CATÓLICA PAULISTA | 15
AULA 3
A LINGUAGEM
Nesta aula iremos conhecer um pouco mais sobre o Python e você terá o primeiro 
contato com a linguagem, abaixo temos tópicos que o ajudará a realizar a instalação 
e configuração do ambiente de desenvolvimento em sua máquina local e a execução 
do nosso primeiro algoritmo. 
3.1 Python
 A linguagem de programação escolhida para o desenvolvimento desta disciplina 
é o Python ela é uma linguagem baseada em comandos (imperativa), ela é muito se-
melhantes a outras linguagens como PHP, Java, C++, podemos dizer que ela é uma 
linguagem interpretada.
 Seu surgimento se deu em 1991 com o intuito de simplificar o desenvolvimento de 
aplicações, hoje ela é muito utilizada na mineração de dados, aprendizado de máqui-
nas, em desktop e para internet.
 O Python leva a indentação (espaçamento do bloco de texto em referência a sua 
margem esquerda) do código muito a serio, então é extremamente importante que 
você tenha cuidado ao escrever seu código, outro ponto importante é que todas as 
linguagens de programação de mercado utilizam palavras reservadas em inglês.
 
3.1.1 IDE (Integrated Development Environment ou Ambiente de 
Desenvolvimento Integrado)
As linguagens de programação são baseadas em texto, então podemos utilizar um 
simples editor de texto para escrever código, porém podemos utilizar uma IDE.
 A IDE é um conjunto de ferramentas que vem para nos apoiar no desenvolvimento, 
onde podemos maximizar nossa produtividade e reduzir a quantidade de erros, ela 
nos auxilia em:
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO II
PROF. JOSÉ HENRIQUE HONJOYA
FACULDADE CATÓLICA PAULISTA | 16
- Visualizar os dados de forma organizada.
- Auto completar de comandos específicos da linguagem, funções e processos.
- Correção de espaçamentos (Muito importante quando utilizamos Python).
- Ajuda na gestão dependência.
- Fornece terminalacoplado para a execução do código.
- Entre outras.
Para potencializar o aprendizado iremos utilizar o PyCharm que é uma ferramenta 
desenvolvida pela empresa JetBrains e fornecida gratuitamente para a comunidade 
(Versão sem suporte avançado a outras tecnologias). Caso queira baixar a versão 
paga, você poderá solicitar a versão estudante, que lhe dará 1 ano de cortesia ou utili-
zá-la gratuitamente por 30 dias.
Acesso ao site do PyCharm: https://www.jetbrains.com/pt-br/pycharm/download 
3.2 A instalação do Python no Windows
 Hoje temos diversas opções de sistemas operacionais no mercado, onde os mais 
conhecidos são o Windows, Linux e MacOS, para este livro iremos utilizar o Windows 
na versão 10, caso você faça uso do Linux, não se preocupe o python já vem instalado 
em diversas distribuições ou encontrará um tutorial no google para lhe auxiliar na ins-
talação e configuração do ambiente.
Instalando no Windows:
Passo 1: Baixe o instalador do Python no site https://www.python.org/downloads/, 
será utilizada a versão 3.8.5, clique em Download e executar
 
https://www.jetbrains.com/pt-br/pycharm/download
https://www.python.org/downloads/
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO II
PROF. JOSÉ HENRIQUE HONJOYA
FACULDADE CATÓLICA PAULISTA | 17
Página de download do Python. Fonte: elaborado pelo autor
Passo 2: Instalando o Python
Início da instalação do Python. Fonte: elaborado pelo autor
Selecione a opção “add Python 3.8 to PATH”, esta opção irá garantir que o instalador 
mapeie o python para utilização via linha de comando.
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO II
PROF. JOSÉ HENRIQUE HONJOYA
FACULDADE CATÓLICA PAULISTA | 18
Finalização da instalação do Python. Fonte: elaborado pelo autor
Passo 3: Verificando se a instalação do Python foi realizada corretamente, para 
isso abra o PowerShell e execute o comando python --version, abaixo temos o resulta-
do da execução do comando.
 
Conferindo a instalação do Python. Fonte: elaborado pelo autor
3.3 Escrevendo o primeiro algoritmo
 Iremos dar nosso primeiro passo no mundo da programação e para isso iremos 
criar nosso primeiro código, o famoso Hello World, por curiosidade todas as lingua-
gens de programação têm exemplos deste código, para isso dentro da pasta do seu 
usuário, que fica localizado em C:\Users\<SeuUsuario>, cria uma pasta chamada au-
las, no caso da imagem abaixo o <SeuUsuario> é Python, após criação abra o Py-
Charm e abra o projeto apontando para a pasta aulas.
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO II
PROF. JOSÉ HENRIQUE HONJOYA
FACULDADE CATÓLICA PAULISTA | 19
Pasta do usuário contendo a pasta aulas. Fonte: elaborado pelo autor
Crie o arquivo hello.py dentro da pasta aula, dentro deste arquivo iremos escrever 
nosso primeiro algoritmo, adicione o código abaixo e salve o arquivo.
print(‘Hello World’)
A função print realiza a impressão do atributo informado, posteriormente iremos 
falar mais sobre a sintaxe do Python e a função print.
Anote isso
 Por padrão todos os arquivos contendo código escrito em Python devem pos-
suir a extensão .py, você poderá até utilizar outra extensão, porém recomenda-
mos da extensão padrão.
Após salvar o arquivo, localize a aba Terminal dentro do PyCharm esta aba será 
utilizada para acesso ao terminal do Windows via a ferramenta, a qual será utilizada 
para executar o código hello.py, para isso clique na aba Terminal e execute o comando 
abaixo:
python hello.py
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO II
PROF. JOSÉ HENRIQUE HONJOYA
FACULDADE CATÓLICA PAULISTA | 20
O comando python <nome-do-arquivo>.py será sempre utilizado para executar o 
código nele salvo.
Abaixo temos a tela do PyCharm contendo o comando e a saída do terminal, que 
deverá ser “Hello World”
Aba Terminal demonstrando a saída após execução do comando python hello.py. Fonte: elaborada pelo autor
Isto acontece na prática
Caso você tenha dúvida em como instalar o Python, você poderá fazer o acesso 
à documentação disponível no site https://python.org aonde encontrará as for-
mas de instalação do Python para diversos Sistemas Operacionais.
Fonte: https://wiki.python.org/moin/BeginnersGuide/Download
https://wiki.python.org/moin/BeginnersGuide/Download 
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO II
PROF. JOSÉ HENRIQUE HONJOYA
FACULDADE CATÓLICA PAULISTA | 21
AULA 4
SINTAXE, SEMÂNTICA, 
INSTRUÇÕES, PARÂMETROS E 
ATRIBUIÇÃO
Nesta aula você entenderá como a importância da sintaxe e a semântica do Python 
e como seu entendimento é importante para otimização de tempo.
4.1 Sintaxe
A sintaxe de uma linguagem de programação é o conjunto de regras que a definem 
como o programa será escrito e interpretado/compilado, isso não é diferente no Py-
thon que foi criado com foco em legibilidade e praticidade, ele possui um layout orga-
nizado, fazendo uso de espaços para definir início e fim de blocos de código, diferente 
de outras linguagens que forçam o desenvolvedor realizar este tipo de declaração.
Manzano (2016, p. 14) descreve que o excesso de erros de sintaxe denota um pro-
fissional com pouca experiência na utilização de uma determinada linguagem de pro-
gramação, enquanto erros de lógica mostram grande despreparo na “arte” de progra-
mar um computador. Acreditando que os erros podem ser retirados no momento da 
compilação de um programa, as pessoas perdem muito mais tempo do que imagi-
nam, e assim entram em um círculo vicioso de querer resolver o problema (erros de 
sintaxe e de lógica) por tentativa e erro.
O profissional deve-se habituar-se com a linguagem, realizando a implementação 
de diversos algoritmos como treino, se habituando com a peculiaridade da linguagem.
4.1.1 Sintaxe no Python
 A linguagem Python foi criada com a premissa que o desenvolvedor consiga ler 
facilmente um código desenvolvido com ela, para isso possui uma sintaxe um pouco 
diferente de outras linguagens, onde:
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO II
PROF. JOSÉ HENRIQUE HONJOYA
FACULDADE CATÓLICA PAULISTA | 22
- Espaços em branco: diferentemente de outras linguagens como Java, PHP, Pas-
cal e outras o Python utiliza-se dos espaços para definir o que está dentro no contexto 
de um bloco.
 
Exemplo 1 - uso de espaços em branco e bloco de código if. Fonte: elaborado pelo autor
Ao analisar o código acima fica visível que o print(“Numeros são iguais - Dentro 
do bloco”) está utilizando espaçamento em branco em relação ao bloco if( 10==10): 
com base na sintaxe do Python significa que caso seja verdadeira a afirmação que 
10 é igual a 10 será impresso a mensagem “Números são iguais - Dentro do bloco”, 
caso contrário será impresso a mensagem “Números não são iguais”, porém na linha 
7 temos o comando print(“Finalizando”) , que sempre será executado independente da 
condição, pois ele está fora do bloco do if ou do else.
Exemplo 2 - uso de espaços em branco e bloco de código if. Fonte: elaborado pelo autor
No código acima existem duas instruções print dentro do bloco do if e duas instru-
ções no bloco do else, ambas as instruções usam espaço em branco em relação às 
instruções if e else
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO II
PROF. JOSÉ HENRIQUE HONJOYA
FACULDADE CATÓLICA PAULISTA | 23
- Uso de ponto e vírgula (;): é muito comum em algumas linguagens de programa-
ção que ao término de uma instrução o uso obrigatório do (;), no Python o uso de (;) 
é opcional, não sendo recomendado, pois cada linha possui como boa prática uma 
única instrução. Em caso de mais de uma instrução por linha é obrigatório o uso de (;) 
ao término.
 Ainda há diversos elementos que abordam a sintaxe do Python que serão aborda-
dos posteriormente nas próximas aulas.
4.2 Semântica
Utilizando da sintaxe do Python vem outro ponto importante dentro da programa-
ção que é a semântica ou lógica, ela garante que o código escrito tenha sentido dentro 
do contexto, podendo gerar erros de lógicas, causando saídas inesperadas.
 
4.3 Instruções 
 Joyanes (2011, p. 77) define que uma instrução é um conjunto de tarefas que que 
o computadorirá executar, essas instruções também são conhecidas como ações, 
tipos de instruções:
- Instruções de início/fim
- Instruções de atribuição
- Instruções de leitura
- Instruções de escrita
- Instruções de bifurcação
 Na linguagem Python há diversas instruções que podem ser utilizadas no seu algo-
ritmo, como:
- Leitura de teclado
- Leitura de arquivos
- Download de arquivos via rede
- Escrita/Saída em monitores
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO II
PROF. JOSÉ HENRIQUE HONJOYA
FACULDADE CATÓLICA PAULISTA | 24
- Impressão
- Gravação de arquivos em disco
- Envio de informações via rede
- Condicionais
- Laços de repetições
- Lançamento de erros 
- Funções definidas pelo programador
- etc
 Podemos utilizar a instrução print como exemplo, ela recebe como parâmetro o 
texto a ser impresso na tela do usuário.
 
4.4 Atribuição de valores
Posteriormente iremos ter uma aula sobre o conceito e uso de variáveis, porém 
para que seja explicada a atribuição de valores, usaremos variáveis, mas não se preo-
cupe o conceito de variável será abordado mais à frente.
A atribuição é utilizada quando for necessário vincular valores para variáveis a se-
rem utilizada em um algoritmo, por padrão as linguagens de programação utilizam o 
sinal de (=) igual para atribuição, abaixo exemplificamos a atribuição do texto “Hoje é 
dia de aprender” para a variável meu_texto e posteriormente sua impressão.
Atribuindo um texto a variável meu_texto e imprimindo. Fonte: elaborado pelo autor
4.5 Comentários
 Na linguagem Python temos o recurso de comentários, com ele podemos adicionar 
comentários no código para auxiliar outros desenvolvedores ou até mesmo o autor, 
este tipo de recurso é frequentemente utilizado para documentar o código escrito ou 
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO II
PROF. JOSÉ HENRIQUE HONJOYA
FACULDADE CATÓLICA PAULISTA | 25
até mesmo deixar algo a ser melhorado.
 Vale ressaltar que os comentários são ignorados pelos compiladores e interpreta-
dores e há duas formas de se comentar um código, podemos utilizar:
- Comentário de uma linha utiliza-se o carácter # seguido pelo texto do comentário.
Comentário de uma linha. Fonte: elaborado pela autora
- Comentário englobando mais de uma linha devem utilizar “”” seguido pelo texto e 
finalizado por “”” 
Comentário de múltiplas de linhas. Fonte: elaborado pelo autor
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO II
PROF. JOSÉ HENRIQUE HONJOYA
FACULDADE CATÓLICA PAULISTA | 26
AULA 5
ENTRADA DE DADOS E SAÍDA
 Nesta aula será abordada de forma teórica e prática a entrada de dados a qual irá 
fornecer os dados a serem trabalhados pelos algoritmos e as formas de saídas.
Edelweiss (2014, p. 59) define que os comandos de entrada e de saída fazem a liga-
ção entre o programa e o usuário. Toda comunicação entre o mundo virtual e o mundo 
real é feita através desses comandos, sem os quais o usuários não ficaria ciente do 
que ocorreu durante e ao término do processamento.
 
Diagrama de entrada, processamento e saída. Fonte: elaborado pelo autor
5.1 Entrada
 A entrada de dados entre computador e o usuário é realizada através dos coman-
dos de entrada, as linguagens de programação de computadores por padrão forne-
cem mecanismos de entrada, podendo formar da instrução ser chamada variar entre 
as linguagens, por exemplo, para obter a interação do usuário via teclado na lingua-
gem C é utilizado o comando gets ou getchar, no Pascal utiliza-se readln. 
Pode-se considerar como entrada de dados em um sistema computacional:
- Interação teclado e mouse
- Leitura de arquivos
- Leitura de sensores 
- Captura de imagem via câmera
- Entre outros
 Será utilizada a entrada de dados por interação do usuário com o teclado, esta inte-
ração irá permitir que o usuário interaja com a máquina fornecendo dados de entrada 
para o algoritmo.
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO II
PROF. JOSÉ HENRIQUE HONJOYA
FACULDADE CATÓLICA PAULISTA | 27
5.1.1 Instrução input
 
 No Python a entrada de dados se dá pelo comando input este comando irá solicitar 
ao usuário a entrada de informações pela interface do teclado, abaixo exemplo de um 
algoritmo que irá solicitar o nome do usuário.
 
Código solicitando a entrada do nome do usuário. Fonte: elaborado pelo autor
 Ao executar este comando será solicitada a resposta da pergunta “Qual é seu 
nome?” Ao usuário que poderá enviar sua resposta digitando o valor e pressionando a 
tecla ENTER, conforme demonstrado na imagem abaixo:
 
Resultado da execução do código que solicita a enteada do nome do usuário. Fonte: elaborado pelo autor
5.2 Saída 
 Há diversas formas de um algoritmo executar um comando de escrita (saída), a 
mais comum delas é a exibição através de um monitor outras formas também pode 
ser utilizadas:
- Impressão
- Sonora
- Pulsos elétricos ou de luz
- Gravação de arquivos
- etc.
 Da mesma forma que as linguagens de programação dão suporte a comandos de 
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO II
PROF. JOSÉ HENRIQUE HONJOYA
FACULDADE CATÓLICA PAULISTA | 28
entrada, elas também dão suporte para os comandos de saída, por exemplo, podemos 
enviar um mensagem de saída para o monitor através de uma linguagem de progra-
mação.
 A observação realizada referente à entrada e as diversas linguagens de programa-
ção são aplicadas à saída, onde cada linguagem pode definir conjunto de instruções 
de saída.
5.2.1 Instrução print
Abaixo será demonstrado como é realizada a exibição de informações ao usuário 
através do monitor, onde é utilizada a instrução print do Python que realiza a impres-
são do valor.
 A instrução print é capaz de imprimir texto e número e pode-se realizar a impres-
são de um de 1-n valores, bastando informar os valores separados por vírgulas, abaixo 
temos alguns exemplos de utilização do print.
5.2.1.1 Impressão de texto simples
Impressão de um texto simples, o mesmo já utilizado no exemplo “hello.py”
 
Código para impressão de um texto simples e saída. Fonte: elaborado pelo autor
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO II
PROF. JOSÉ HENRIQUE HONJOYA
FACULDADE CATÓLICA PAULISTA | 29
5.2.1.2 Impressão de dois ou mais textos
Para realizar a impressão de mais de um texto para informar os textos a serem 
impressos separado por vírgula.
 
Código para impressão de dois textos
Fonte: elaborado pelo autor
5.1.1.3 Impressão de números e textos
Utilizando-se de instrução print é possível realizar a impressão de números e de 
números e textos.
Código para impressão de número
Fonte: elaborado pelo autor
 
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO II
PROF. JOSÉ HENRIQUE HONJOYA
FACULDADE CATÓLICA PAULISTA | 30
Código para impressão de número e texto com parâmetros se-
parados
Fonte: elaborado pelo autor
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO II
PROF. JOSÉ HENRIQUE HONJOYA
FACULDADE CATÓLICA PAULISTA | 31
AULA 6
STR (STRING)
Nesta aula iremos ver um pouco mais sobre a str que é a abreviação de string que 
é uma sequência de caracteres, formando um texto.
6.1 Concatenando Dados
Abaixo há necessidade de concatenar o número 7 ao texto, com a intenção de obter 
o resultado final de “Seu número da sorte é 7”, porém ao executado o algoritmo foi 
retornando um erro com a seguinte mensagem “can only concatenate srt (not int) to 
str”, isso quer dizer que temos uma texto que está sendo concatenando o número 7 
que é inteiro.
getchar
 
Código com concatenação de texto e o número 7
Fonte: elaborado pelo autor
Logo a seguir temos a correção do exemplo acima, onde utilizamos o instrução str 
passando como parâmetro o número 7, esta instrução realiza a conversão do 7 de 
inteiro para texto.
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO II
PROF. JOSÉ HENRIQUE HONJOYA
FACULDADE CATÓLICA PAULISTA | 32
Importante: o número 7 é do tipo inteiro, porém ao utilizar aspas simples ou duplas 
em um número o interpretador do Python entende o valor é um texto. 
 
6.2 Formatando Texto (String Formatting)
Há outras formas que podemos utilizar a concatenação de string em textosmais 
complexos, como a adição de valores em uma string pré definida como:
“O aluno {} tirou {} na prova de {}”
Precisamos que o nome, nota e o nome da matéria esteja presente neste texto, 
para isso podemos utilizar um método dentro da string, não se preocupe em tentar 
entender o que seria um método por enquanto, isso será tratado posteriormente.
Código com concatenação utilizando string.format
Fonte: elaborado pelo autor
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO II
PROF. JOSÉ HENRIQUE HONJOYA
FACULDADE CATÓLICA PAULISTA | 33
Isto está na rede
Toda linguagem de programação possui documentação a qual você consegue 
consultar informações sobre a introdução, parâmetros informados e compor-
tamento, no caso do Python você poderá acessar https://docs.python.org/3/
library/string.html e obter mais informações sobre os métodos de uma string.
Fonte: https://docs.python.org/3/
https://docs.python.org/3/
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO II
PROF. JOSÉ HENRIQUE HONJOYA
FACULDADE CATÓLICA PAULISTA | 34
AULA 7
CONSTANTES, VARIÁVEIS E 
TIPOS DE DADOS
Nas aulas anteriores utilizamos variáveis em alguns exemplos de código em Py-
thon, nesta aula iremos entender como podemos utilizar as variáveis para armazenar 
valores em nossos sistemas de acordo com o tipo dos dados e como podemos definir 
valores constantes.
7.1 Constantes
Nos programas de computadores existem certos valores que devem ser fixos, não 
podendo sofrer modificações no decorrer da sua execução, vamos supor que temos 
um algoritmo que irá realizar o cálculo da área de círculo ( 
) , neste algoritmo foi definido que o irá valer 3.14, então podemos definir o valor 
como uma constante, abaixo temos como podemos definir uma constante no Python.
Anote isso
 O conceito sobre constante é importante para que se torne mais fácil a transi-
ção de uma linguagem para outra, pois a forma de declaração de uma constan-
te varia de acordo com a linguagem.
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO II
PROF. JOSÉ HENRIQUE HONJOYA
FACULDADE CATÓLICA PAULISTA | 35
No caso do Python, por ser tratar de uma linguagem dinâmica ele não faz o uso 
de constante, por isso devemos tomar muito cuidado em alterar valores, no exemplo 
abaixo trocamos o valor de PI para 10, abaixo temos saídas com valores diferentes, 
onde Área I é igual a 314 e Área II 1000.
 
 Para resolver o problema de constantes no Python, podemos utilizar funções con-
forme demonstrado abaixo:
 
7.2 Variáveis
 As variáveis armazenam valores e são elementos básicos na programação, elas ar-
mazenam os dados que precisamos em nosso algoritmo, no exemplo do IMC, temos 
a variável resposta que armazena valor do imc
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO II
PROF. JOSÉ HENRIQUE HONJOYA
FACULDADE CATÓLICA PAULISTA | 36
Exemplificação do algoritmo de IMC
Fonte: elaborado pelo autor
Toda informação armazenada em uma variável são persistidas na memória do 
computador e os valores associados a elas podem ser modificados ao longo da exe-
cução do algoritmo, conforme demonstrado anteriormente. Embora uma variável pos-
sa assumir diversos valores em todo o ciclo de execução do algoritmo, ela só poderá 
armazenar um único valor a cada instante, ou seja, para cada nova atribuição o valor 
anterior armazenado é descartado.
No caso do Python quando declaramos uma variável ela não precisa da definição 
do tipo, pode-se armazenar qualquer tipo de dados, seja ele um texto ou um número, 
em algumas linguagens como C e Java é necessário informar o tipo da informação a 
ser armazenada na criação da variável.
Abaixo temos uma breve demonstração de como é realizada a criação de variável 
dentro do Python.
 
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO II
PROF. JOSÉ HENRIQUE HONJOYA
FACULDADE CATÓLICA PAULISTA | 37
Declarando e imprimindo dados de variáveis
Fonte: elaborado pelo autor
 Devido ao dinamismo do Python mesmo que uma variável contenha um valor nu-
mérico é possível atribuir um valor texto, conforme apresentado abaixo, temos a re-
ceita inicialmente valendo 9802.30 (valor numérico) e logo abaixo substitui-se o valor 
pelo texto “1.4 Milhões”. 
 
Sobrescrita de valor em uma variável
Fonte: elaborado pelo autor
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO II
PROF. JOSÉ HENRIQUE HONJOYA
FACULDADE CATÓLICA PAULISTA | 38
7.3 Tipos de dados
 Na computação tipos de dados, abaixo será listado alguns dos tipos, cada tipo tem 
seu uso aplicado a uma finalidade, quando utilizamos um texto trabalhamos com str 
(Strings), o número 20 é um int (inteiro). Abaixo temos uma relação de tipos de dados 
e sua relação dentro do Python.
Tipos de dados mais utilizados no Python
Exemplo Tipo de dados
x = “Hello World” str
x = 20 int
x = 20.5 float
x = 1j complex
x = [“apple”, “banana”, “maça”] list
x = {“apple”, “banana”, “maça”} tuple
x = frozenset({“apple”, “banana”, “maçã”}) frozenset
x = True bool
x = False bool
x = b”Hello” bytes
Fonte: elaborado pelo autor
 Um ponto importante a ser observado é que dependendo da sua aplicação e seu 
algoritmo é importante saber dos tipos de dados a serem utilizados, em aplicações 
que envolvem cálculos matemáticos o tipo do dado é um fator relevante, por exemplo, 
o cálculo da área.
 
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO II
PROF. JOSÉ HENRIQUE HONJOYA
FACULDADE CATÓLICA PAULISTA | 39
Declarando uma str ao invés de um inteiro
Fonte: elaborado pelo Autor
 
 Ao executar o cálculo da área o interpretador do Python retorna um erro que diz que 
o tipo de operando não é suportado, no erro conseguimos visualizar:
A linha que resultou o erro e o arquivo - File “calculo_area_com_str.py, ” Line 4 
O tipo de erro e a mensagem: TypeError: unsupported operand types(s) for ** or 
pow(): ‘str’ and ‘int’
 
Erro ao tentar fazer cálculo com uma srt (Texto)
Fonte: elaborado pelo autor
 O erro apresentado é referente ao tipo da informação passada para a instrução 
pow, esta função é definida pelo Python para cálculo com expoente e não é possível 
aplicar um expoente em um str (Texto). 
 Como podemos saber o tipo de dados armazenado em uma variável? É simples 
basta chamar a instrução type informando a variável ou o valor.
 
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO II
PROF. JOSÉ HENRIQUE HONJOYA
FACULDADE CATÓLICA PAULISTA | 40
Descobrindo o tipo de um valor ou variável
Fonte: elabordo pelo autor
7.4 Casting
 Casting é uma técnica de conversão de tipos de dados, nas aulas anteriores já 
foram utilizadas algumas funções de casting, uma delas é a str que é uma função 
responsável por converter um valor numérico em texto.
No Python variáveis não possuem tipos declarados, porém a informação nela ar-
mazenada sim, no caso abaixo temos a variável Área que possui armazenada o re-
torno do cálculo matemático de PI * pow(Raio, 2), retorna o valor da área sendo este 
numérico.
 Abaixo é demonstrado como o casting resolveu o problema de entrada como str no 
cálculo da área, onde é aplicado o instrução float passando o valor do Raio que é uma 
str. A instrução float irá tentar converter o texto em str, caso não consiga irá gerar uma 
saída com erro de conversão “ValueError: could not convert string to float: <valor>”.
 
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO II
PROF. JOSÉ HENRIQUE HONJOYA
FACULDADE CATÓLICA PAULISTA | 41
Aplicando o casting float 
Fonte: elaborado pelo autor
 
Aplicando o casting float no valor “xxxx” resultando em erro
 
Fonte: elaborado pelo autor
7.5 Palavras reservadas
Em todas as linguagens uma variável é declarada e identificada por um nome, este 
não deve ser um nome reservado, ou seja, uma palavra já utilizada pela linguagem, 
abaixo temos a lista das palavras reservadas no Python.
 
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO II
PROF. JOSÉ HENRIQUE HONJOYA
FACULDADE CATÓLICA PAULISTA | 42
Palavras reservadas no Python
Fonte: https://docs.python.org/3.9/reference/lexical_analysis.html
7.6 Regras e Convenções para Nomeação de Variáveis e 
Constantes
 Dentro das linguagens há algumas regras definidas para declaraçãode variáveis e 
constantes:
- Nome de variáveis e constantes não podem possuir espaços entre as palavras, 
nem no início e fim.
- Não podem utilizar palavras reservadas ou caracteres especiais (%#!2) a não ser 
que esteja definido explicitamente na documentação, que é o caso do PHP que define 
que todas as variáveis devem ser declaradas com o prefixo $.
- Não iniciar o nome com números, mesmo que a linguagem permita este tipo de 
abordagem, não a utilize, pois não é visto como uma boa prática.
- Recomenda-se que constantes sejam sempre definidas com letras MAIÚSCULA.
Anote isso 
 As comunidades de desenvolvimento de software padronizam as boas práticas 
de escrita de código, o intuito desta prática é deixar os softwares mais fáceis 
para um ser humano ler.
https://docs.python.org/3.9/reference/lexical_analysis.html
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO II
PROF. JOSÉ HENRIQUE HONJOYA
FACULDADE CATÓLICA PAULISTA | 43
 No caso do Python uma das boas práticas a serem adotadas é:
1. Utilizar em variáveis, funções e métodos com letras minúscula e underscores 
“lower_case_with_underscores”
2. Classes e Exceções com CamelCase “CamelCase”
3. Constantes sempre com todas as letras maiúscula e underscores “ALL_CAPS_
WITH_UNDERSCORES”
 
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO II
PROF. JOSÉ HENRIQUE HONJOYA
FACULDADE CATÓLICA PAULISTA | 44
AULA 8
OPERADORES MATEMÁTICOS 
Nesta aula será abordado os operadores matemáticos utilizados nas linguagens 
Python e outras, visto que em quase todas as linguagens atuais utilizam para opera-
ções essenciais os mesmos operadores.
A linguagem Python além de ser uma excelente linguagem para a construção de 
aplicações de forma geral, também é uma excelente linguagem para ser utilizada jun-
to com a matemática, como na geração de relatórios, gráficos, estatísticas e outras. 
8.1 Operadores matemáticos
 Toda linguagem de programação fornece suporte para que seja realizada as opera-
ções básicas e avançadas da matemática, praticamente todos os operadores aritmé-
ticos funcionam no Python como conhecemos da matemática elementar. 
8.1.1 Operadores básico
Podemos trabalhar com as quatro principais operações matemáticas, utilizando os 
seguintes operadores:
Operação Operador Example
adição + 1+2
subtração - 5-2
multiplicação * 3*5
divisão / 12/2
atribuição e soma += numero += 1
atribuição e decremento -= numero -= 1
Fonte: elaborado pelo autor
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO II
PROF. JOSÉ HENRIQUE HONJOYA
FACULDADE CATÓLICA PAULISTA | 45
Caso queira testar as operações de exemplo e visualizar seus resultados você pode:
- Acesso via terminal do Windows: acesse o terminal do Windows e digite a pala-
vra python, este comando irá acessar o console do Python, tornando possível digitar 
os comandos e obter a saída de forma automática, conforme demonstrado na figura 
abaixo:
 
Terminal Windows executando console Python
Fonte: elaborado pelo autor
- Acesso via o PyCharm: acesse o PyCharm e clique na aba [Python Console] locali-
zada na parte inferior da IDE, será aberto o mesmo terminal apresentado acima, basta 
digitar o código e pressionar ENTER.
 
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO II
PROF. JOSÉ HENRIQUE HONJOYA
FACULDADE CATÓLICA PAULISTA | 46
Terminal do PyCharm executando console Python 
Fonte: elaborado pelo autor
8.1.2 Operadores de exponenciação, parte inteira de uma 
divisão e módulo da divisão
Assim como em uma calculadora podemos utilizar operadores de exponenciação, 
obtenção da parte inteira de uma divisão e extração do módulo de uma divisão.
Operação Operador Example
exponenciação ** 10**2
exponenciação pow(base, expoente) pow(10, 2)
parte inteira // 10//3
módulo % 10%3
Fonte: elaborado pelo autor
Podemos elevar um número a outro através da utilização de 2 sinais de multipli-
cação seguidos **, isto é, o operador ** é o operador para exponenciação em Python. 
Também é possível obter a parte inteira da divisão, com o uso de // e o resto da divisão 
com %
 No Python é comum haver algumas instruções que fazem o papel de operador ma-
temático, este é o caso da instrução pow que realizada a mesma operação que o ** 
A seguir, temos algumas operações matemáticas utilizando os operadores que 
acabamos de estudar e seus respectivos resultados.
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO II
PROF. JOSÉ HENRIQUE HONJOYA
FACULDADE CATÓLICA PAULISTA | 47
Exemplo do uso de operadores matemáticos 
Fonte: elaborado pelo autor
8.2 Módulo Math
 No Python há um módulo que auxilia aplicações que realizam cálculo, um módulo 
no Python é um conjunto de funções encapsuladas ou não dentro de um arquivo, no 
caso do módulo o arquivo math, este arquivo é nativo do Python, ou seja, instalando a 
linguagem ele já estará disponível para uso. Não se preocupe com o conceito de mó-
dulo, iremos aprender mais a frente.
 Este módulo fornece diversas instruções matemáticas como:
Tabela X: Instruções disponíveis no método math
Instrução Resultado Observação
math.floor(100.1) 100 Arredonda o número para baixo
math.ceil(100.1) 101 Arredonda o número para cima
math.fsum([10,10,5]) 25 Soma itens de uma lista
math.truncate(123.30) 123 Retorna o número inteiro
math.pow(2,3) 8 Cálculo com expoente
math.sqrt(9) 3 Raiz quadrada
math.pi 3.14…. Valor de Pi
Fonte: elaborado pelo autor
 Para fazer uso do módulo é necessário fazer a importação através da instrução de 
import ela é responsável por carregar os módulos sendo utilizados em seu algoritmo.
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO II
PROF. JOSÉ HENRIQUE HONJOYA
FACULDADE CATÓLICA PAULISTA | 48
 Importando o módulo math
Fonte: elaborado pelo autor
Isto está na rede
É possível visualizar todos os comandos disponíveis no módulo math, para isso 
basta acessar a documentação da linguagem.
https://docs.python.org/3/library/math.html
https://docs.python.org/3/library/math.html
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO II
PROF. JOSÉ HENRIQUE HONJOYA
FACULDADE CATÓLICA PAULISTA | 49
AULA 9
EXPRESSÕES ARITMÉTICAS
Nesta aula iremos ver como a linguagem Python também é uma excelente lingua-
gem para ser utilizada em cálculos, como na geração de relatórios, gráficos, estatísti-
cas e outros. 
9.1 Expressões aritméticas
 Com base no conhecimento adquirido podemos realizar operações aritméticas de 
forma simples utilizando o Python, operadores matemáticas e o módulo math, abaixo 
será apresentado alguns exemplos.
9.2 Sequência Fibonacci
Fibonacci é uma sequência de números que aparece em certos mistérios da na-
tureza e da vida onde a sequência inicia com 0 e 1, e os números seguintes serão a 
soma dos dois números anterior.
 
Algoritmo para imprimir a Sequência Fibonacci 
Fonte: elaborado pelo autor
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO II
PROF. JOSÉ HENRIQUE HONJOYA
FACULDADE CATÓLICA PAULISTA | 50
9.3 Exemplo Juros composto
 O algoritmo deve solicitar um número inteiro para o usuário e o algoritmo deverá 
imprimir se o número informado é impar ou par.
 
 
9.4 Exemplo Juros composto
 Neste tópico iremos utilizar o Python e o que aprendemos para resolver o problema: 
Se um capital de R$500 é aplicado durante 4 meses no sistema de juros compos-
tos sob uma taxa mensal fixa que produz um montante de R$800, qual será o valor da 
taxa mensal de juros?
Fórmula do Juros composto:
M = C (1+i) t
Onde,
M: montante
C: capital
i: taxa fixa
t: período de tempo
Portanto: M = 800; C = 500 t = 4 e se pretendemos calcular somente os juros, apli-
camos a seguinte fórmula:
J = M - C
Abaixo temos o código a qual resultará a taxa de juros mensal calculada com base 
no problema proposto, demonstrando que com os operadores visto até o momento é 
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO II
PROF. JOSÉ HENRIQUE HONJOYA
FACULDADE CATÓLICA PAULISTA | 51
possível realizar cálculos de expressões aritméticas da mesma forma que na calcula-
dora.
 
Exemplo do cálculo de juros composto utilizando Python 
Fonte: elaborado pelo autor
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃOII
PROF. JOSÉ HENRIQUE HONJOYA
FACULDADE CATÓLICA PAULISTA | 52
AULA 10
ÁLGEBRA BOOLEANA E 
OPERADORES LÓGICOS 
 Nesta aula será abordada a lógica booleana e operadores, fornecendo ao aluno 
capacidade em desenvolver algoritmos que envolva operadores e lógica booleana.
10.1 Lógica Boolean
Segundo Alves (p. 41), a Álgebra Booleana foi desenvolvida por um matemático 
chamado George Boole, ele acreditava que o raciocínio humano podia ser representa-
do por meio da lógica formal, seu estudo criou o que chamamos de lógica booleana, 
ela se baseia na lógica binária, sendo esta representada por verdadeiro ou falso.
A Álgebra Booleana faz uso de conectores que fazem a ligação entre duas ou mais 
expressões cujo o resultado será verdadeiro ou falso. Utiliza-se o recurso de tabela 
verdade a qual auxilia a testar cada situação dada uma expressão.
 A Tabela verdade é um dispositivo utilizado no estudo da lógica matemática. Com 
o uso desta tabela é possível definir o valor lógico de uma proposição, isto é, saber 
quando uma sentença é verdadeira ou falsa.
10.1.1 Conector AND (E)
 
O conector AND (E) permite a análise de duas ou mais expressões lógicas, onde a 
condição será verdadeira somente se todas as expressões que estiverem utilizando 
deste conector serem verdadeiras.
 Abaixo temos 2 expressões lógicas, com base nestas expressões temos 2² = 4 
linhas. 
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO II
PROF. JOSÉ HENRIQUE HONJOYA
FACULDADE CATÓLICA PAULISTA | 53
Tabela verdade utilizando o operador AND
A B A e B
Verdadeiro Verdadeiro Verdadeiro
Verdadeiro Falso Falso
Falso Verdadeiro Falso
Falso Falso Falso
Fonte: elaborado pelo autor
Ao invés de utilizarmos A e B, podemos aplicar qualquer expressão lógica na tabela 
verdade acima, utilizando o conector E, por exemplo.
- Se Carlos tem energia e se ele achar a fonte do notebook em casa ele pode se co-
nectar à internet, com base nestas informações podemos montar uma tabela verdade 
para saber se Carlos consegue usar a internet.
Tabela verdade utilizando o operador AND em um caso real
Possui Energia Achou a fonte Consegue utilizar a Internet
Verdadeiro Verdadeiro Verdadeiro
Verdadeiro Falso Falso
Falso Verdadeiro Falso
Falso Falso Falso
Fonte: elaborado pelo autor
10.1.2 Conector OR (OU)
O conector OR (OU) permite a análise de duas ou mais expressões lógicas, onde a 
condição será verdadeiro quando uma ou mais de uma condição quer ser verdadeiro.
 Abaixo temos 3 expressões lógicas, com base nestas expressões temos 2³ = 8 
linhas. 
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO II
PROF. JOSÉ HENRIQUE HONJOYA
FACULDADE CATÓLICA PAULISTA | 54
Tabela verdade utilizando o operador OR
A B C A ou B ou C
Verdadeiro Verdadeiro Verdadeiro Verdadeiro
Verdadeiro Verdadeiro Falso Verdadeiro
Verdadeiro Falso Falso Verdadeiro
Falso Falso Falso Falso
Falso Verdadeiro Verdadeiro Verdadeiro
Falso Verdadeiro Falso Verdadeiro
Falso Falso Verdadeiro Verdadeiro
Falso Falso Verdadeiro Verdadeiro
Fonte: elaborado pelo autor
Podemos observar que utilizando o conector OR temos verdadeiro em qualquer 
linha que contenha um ou mais verdadeiro.
10.1.3 Operador de Negação NOT(Não)
O conector NOT (Não) permite negar o resultado de uma expressão lógica, fazendo 
que o resultado da análise seja o inverso, por exemplo, uma expressão que será VER-
DADEIRO quando negada se torna FALSA.
Tabela verdade utilizando o operador NOT
A NOT A
Falso Verdadeiro
Verdadeiro Falso
 
Fonte: elaborada pelo autor 
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO II
PROF. JOSÉ HENRIQUE HONJOYA
FACULDADE CATÓLICA PAULISTA | 55
10.2 Operadores Relacionais
Operadores relacionais são utilizados para comparar valores, o resultado de uma 
expressão relacional é um valor booleano. Os operadores relacionais são: igual, di-
ferente, maior, menor, maior ou igual, menor ou igual. Na maioria das linguagens os 
operadores relacionais são os mesmo.
Tabela Operadores no Python e outras linguagens
Operador Comparação
== Igual
!= Diferente
< Menos
> Maior
<= Menor igual
>= Maior igual
Fonte: elaborada pelo autor
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO II
PROF. JOSÉ HENRIQUE HONJOYA
FACULDADE CATÓLICA PAULISTA | 56
AULA 11
ESTRUTURA CONDICIONAL
 Nesta aula será abordado os operadores relacionais e sua relação com a estrutura 
condicional, ela possibilita a criação de algoritmos que fazem comparações entre va-
lores, ele é utilizado na etapa de processamento.
 Através dos operadores é possível aplicar lógicas dentro do algoritmo aplicando 
condições simples e complexas ao seu código.
11.1 Instruções de comparação
 Este conjunto de instruções agregado com os operadores lógicos serve para reali-
zar operações condicionais em um algoritmo. No Python Verdadeiro é True e Falso é 
False.
 Junto ao comando if e elif podemos utilizar os operadores booleanos, através das 
palavras reservadas, conforme demonstrado abaixo:
Tabela Exemplo de condicional com operadores
Operador Exemplo
and if(idade > 18 and altura > 1.70):
or if(idade > 19 or altura > 1.70):
not if(not idade < 19):
 
Fonte: elaborado pelo autor
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO II
PROF. JOSÉ HENRIQUE HONJOYA
FACULDADE CATÓLICA PAULISTA | 57
- Sintaxe da instrução if :
Exemplo da sintaxe do IF 
Fonte: elaborado pelo autor
- Sintaxe do if , elif e else:
Exemplo if e elif e else 
Fonte: elaborado pelo autor
 Conforme demonstrado no exemplo, com as estruturas de condições pode-se criar 
comparações simples e até complexas, sendo os operadores lógicos uma ferramen-
ta-chave.
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO II
PROF. JOSÉ HENRIQUE HONJOYA
FACULDADE CATÓLICA PAULISTA | 58
11.2 Exemplo da Senioridade
O Algoritmo deve receber a idade do usuário e informar sua senioridade de acordo 
com as regras abaixo:
idade < 12 : Criança
idade < 18 : Adolescente
idade < 60 : Adulto
Caso contrário informar a frase “idoso”:
 
Exemplo senioridade
Fonte: elaborado pelo autor
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO II
PROF. JOSÉ HENRIQUE HONJOYA
FACULDADE CATÓLICA PAULISTA | 59
AULA 12
ESTRUTURA DE REPETIÇÕES 
A estrutura de repetição permite que uma sequência de comandos seja
executada repetidamente até que uma determinada condição de interrupção seja 
satisfeita é também muito utilizada para percorrer matrizes de dados.
 A linguagem Python dá suporte às seguintes instruções: 
- while (enquanto)
- for (para)
 Um ponto a ser observado é que quando uma instrução possui uma condição in-
correta, ela poderá não ser executada ou até mesmo gerando um loop infinito, ao qual 
o interpretador poderá não gerar um erro de saída dependendo da ação sendo realiza-
da.
12.1 Instrução while
A instrução while pode ser utilizada quando sabemos a que uma repetição deve ser 
parada.
Temos o exemplo de um contador de 1 a 30, sendo que quando alcançado o último 
número, no caso 30, o laço deve ser interrompido, neste exemplo a condição de para-
da é passada explicitamente dentro da instrução while, ou seja, quando o número for 
menor e igual a 30.
Exemplo 1: while com parada e incremento 
Fonte: elaborado pelo Autor
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO II
PROF. JOSÉ HENRIQUE HONJOYA
FACULDADE CATÓLICA PAULISTA | 60
No exemplo abaixo temos uma condição True para o while a qual torna a execução 
do laço de repetição infinita, visto que True sempre será verdadeiro, no entanto, no blo-
co do while há um incremento da variável número o que faz com que a cada iteração 
do loop seja incrementado o número armazenado na variável até que seu valor maior 
que 10, dando-se a entrada no bloco do if que realiza o break (pausa do loop).
Exemplo 2: while com parada forçada
Fonte: elaborado pelo autor
 Podemos utilizar o while para a execução de algoritmos em loop para que seja dada 
a entrada de dados, abaixo temos um algoritmo que retorna a quantidade de caracte-
res no nome informado.
Exemplo 3: while com entrada de dados
Fonte: elaborado pelo autor
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃOII
PROF. JOSÉ HENRIQUE HONJOYA
FACULDADE CATÓLICA PAULISTA | 61
 A instrução nome.replace(‘ ‘,’’) realiza a troca dos espaços por vazio, retornando 
somente “JoseHenriqueHonjoya”, logo em seguida chamamos a instrução len que 
retorna a quantidade de caracteres em cima do retorno da instrução nome.replace(‘ ‘,’’)
12.2 Instrução for
A instrução for tem como característica obrigar o programador a definir, explicita-
mente em seu cabeçalho, informando a quantidade de vezes que ela irá executar o 
bloco. A quantidade de vezes é determinada pela quantidade de elementos contidos 
na lista declarada na instrução. Dessa forma, será executado um ciclo para cada ele-
mento isoladamente.
 Abaixo temos um exemplo uma lista de nomes e percorremos a lista utilizando o 
for imprimindo cada nome da lista
Exemplo 1: for para listas
Fonte: elaborado pelo autor
Abaixo temos o mesmo exemplo de cima, porém desta vez imprimindo a posição 
do item na lista, ou seja, seu índice.
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO II
PROF. JOSÉ HENRIQUE HONJOYA
FACULDADE CATÓLICA PAULISTA | 62
Exemplo 2: for para listas com índice
Fonte: elaborado pelo autor
Conforme demonstrado acima foi utilizado a instrução enumerate que realiza a 
numeração dos índices da lista, tornando possível a obtenção do índice da de cada 
nome na lista. Lembre-se a primeira posição dentro de uma lista ou matriz é 0 (zero).
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO II
PROF. JOSÉ HENRIQUE HONJOYA
FACULDADE CATÓLICA PAULISTA | 63
AULA 13
VETORES, MATRIZES E 
DICIONÁRIO
13.1 Vetores
 É um conjunto de variáveis do mesmo tipo acessíveis com um único nome. Arma-
zenadas de forma contínua e ocupando as posições de forma fixas. Pode-se dizer que 
vetor é uma matriz unidimensional.
Exemplo de Vetor
1 -5 4 9 8
Fonte: elaborado pelo autor
 Para declarar um vetor na linguagem Python utilizamos o tipo lista, este tipo de 
conjunto de dados é utilizado em algoritmos que possuem a necessidade de armaze-
nar uma série de valores, sendo estes valores números, letras, textos, objetos, dicioná-
rios e até mesmo outros vetores (aqui temos matrizes) que será o próximo objeto de 
estudo.
Vetores já foram utilizados em aulas anteriores, por exemplo, na aula 9 criamos 
uma lista de nomes que foram armazenados em um vetor.
O uso de vetores é constante, ele é empregado desde a recuperação de dados de 
uma base de dados ou até mesmo na leitura de um arquivo de texto, onde cada linha 
do documento se torna uma posição dentro do vetor.
No exemplo abaixo utilizamos vetores para armazenar uma coleção de idades.
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO II
PROF. JOSÉ HENRIQUE HONJOYA
FACULDADE CATÓLICA PAULISTA | 64
13.1.1 Adicionando Item no Vetor
 
Exemplo dos vetores armazenando dados em tempo de 
execução
Fonte: elaborado pelo autor
No exemplo acima, temos duas novas instruções sendo isdigit() esta instrução 
está disponível quando o tipo de dados for srt (Texto), ela verifica se o texto é um valor 
numérico, caso sim retorna True e a instrução append(x) que está disponível no tipo 
list, onde ao chamar esta instrução é adicionado o parâmetro informado.
13.1.2 Recuperando Item no Vetor
 Um vetor é uma lista ordenada por ordem de inserção dos itens nele expostos e 
pode ser acessado pelo índice, abaixo temos um exemplo de acesso via índices.
 
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO II
PROF. JOSÉ HENRIQUE HONJOYA
FACULDADE CATÓLICA PAULISTA | 65
Acessando itens de um vetor por índice
Fonte: elaborado pelo autor
Quando utilizamos vetores podemos acessar diretamente a posição a fim de recu-
perar um valor existente, acessando a variável que armazena o vetor e a posição do 
item na lista, como foi feito no exemplo acima.
 Caso seja feito a tentativa de acesso a um índice que não existe, o interpretador do 
Python irá retornar o erro “list index of range” que indica que o índice informado está 
fora do faixa de índices existentes.
 
13.2 Matriz
 Uma matriz é uma estrutura bi-dimensional que armazenam dados, onde informa-
ções são organizados dentro de linhas e colunas, por exemplo, a matriz abaixo possui 
dimensão 3x4.
Tabela Exemplo de Matrix
2 -5 11 0
9 -1 GOLF 12
4 7 12 TED
 Fonte: elaborado pelo autor
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO II
PROF. JOSÉ HENRIQUE HONJOYA
FACULDADE CATÓLICA PAULISTA | 66
Matrizes são utilizadas desde a renderização de uma imagem, cálculos utilizando-
-se de modelo estatístico, análise, processamento e reconhecimento de padrões entre 
outras.
13.2.1 Criando uma Matriz 3x4
No Python a matriz é uma lista multidimensional a qual guardamos dados em duas 
dimensões.
Abaixo temos um exemplo de matriz e sua impressão.
 
Exemplo de matriz no Python
Fonte: elaborado pelo autor
Tabela Exemplo da matriz escrita em Python no formato de 
tabelas
1 2 3 4
5 6 7 8
9 10 11 12
Fonte: elaborado pelo autor
13.2.2 Acessando Valores de uma Matriz
 Da mesma forma que acessamos um valor no vetor, podemos acessar um valor em 
uma matriz, para isso utilizamos índices, mas no caso da matriz os índice(s) informa-
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO II
PROF. JOSÉ HENRIQUE HONJOYA
FACULDADE CATÓLICA PAULISTA | 67
dos devem conter 1 posição quando queremos acessar uma lista localizada em uma 
determinada linha ou 2 posições quando for acessar o valor de uma linha e coluna.
Abaixo é demonstrado como é realizado este acesso no Python.
 
Acesso a uma matriz
Fonte: elaborado pelo autor
13.3 Dicionário
No Python dicionário é uma estrutura de dados que é, geralmente, conhecida como 
uma matriz associativa. Um dicionário consiste em uma coleção de pares de valores-
-chave. Cada par de valor-chave mapeia a chave para seu valor associado. 
Os dicionários permitem mais de um nível, ou seja, dentro de uma chave podemos 
ter outro dicionário e assim por adiante.
13.3.1 Criando um dicionário
Você pode definir um dicionário colocando uma lista separada por vírgulas de pares 
de valores-chave entre chaves ({}), dois pontos (:) separam cada chave de seu valor 
associado.
 
 
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO II
PROF. JOSÉ HENRIQUE HONJOYA
FACULDADE CATÓLICA PAULISTA | 68
Exemplo utilizando Dicionário
Fonte: elaborado pelo autor
13.3.2 Modificando Valores do Dicionário
Como um dicionário é uma coleção mutável podemos realizar alterações dos valo-
res de uma determinada chave ou até mesmo criar novas chaves com novos valores.
 
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO II
PROF. JOSÉ HENRIQUE HONJOYA
FACULDADE CATÓLICA PAULISTA | 69
AULA 14
REFINAMENTO SUCESSIVO E 
MÓDULOS
Nesta aula iremos falar sobre modularidade, subprogramas e a técnica de refina-
mento sucessivo, os objetos desta aula serão utilizados sempre que você for desen-
volver um algoritmo ou programa.
14.1 Refinamento Sucessivo
Os programas de computadores estão cada dia mais presentes no nosso cotidiano, 
temos hoje aplicativos que realizam cálculos matemáticos, nos pedem um táxi ou co-
mida ou gerenciam aviões de forma autônoma. Cada programa deve resolver um ou 
milhares de problemas e retornar uma ou mais saídas, imagine escrever um algoritmo 
para pedir um táxi, ao pensar já deve ter deparado com diversos problemas, como:
- Consultar quem é o cliente. 
- Consultar a localização atual do cliente.
- Localizar um motorista, este motorista deve ser localizado.
- Realizar o cálculo de distância, demanda e aplicar valores da corrida.
- Registrar o pagamento.
- Acompanhar a locomoção do motorista etc.
Nota-se que o problema de pedir um táxi é um problema complexo em linhas ge-
rais, problemas complexos exigem, para sua solução, algoritmos complexos, no en-
tanto, é possível dividir um problema grande em problemas menores (dividir para con-
quistar), ou seja, usar o processo de modularidade. Cada parte menor ou módulo tem 
um algoritmo mais simples, o que facilita chegar à grande solução. O conceito de 
modularidade tem sido adotado desde meados da década de 1950.
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO II
PROF. JOSÉ HENRIQUEHONJOYA
FACULDADE CATÓLICA PAULISTA | 70
14.2 Módulos
Conforme Manzano (2016, p. 230), o módulo é um bloco de programa que pode 
efetuar operações computacionais de entrada, processamento e saída. Ao dividir um 
problema complexo em módulos, automaticamente usa-se a ideia de abstração. Abs-
trair um algoritmo significa considerar isoladamente um ou mais elementos de seu 
todo (à fazer); significa, de forma geral, separar o todo em partes. A operação de fun-
cionalidade de um módulo em um programa de computador baseia-se na existência 
de três características operacionais.
- Cada módulo possui um único ponto de entrada. 
- Toda unidade de programa chamadora (unidade mestre) é suspensa durante a 
execução da unidade de módulo chamada (unidade escravo), o que implica a exis-
tência de somente um módulo em execução em um determinado momento, exceto 
quando se trabalha com paralelismo ou corrotinas. 
- Quando a execução da unidade escravo (módulo) é encerrada, o controle do fluxo 
de execução do programa volta para a primeira linha de instrução após a chamada do 
módulo na unidade mestre, quando se tratar da chamada de um procedimento. No 
caso de chamada de uma função, o retorno ocorre exatamente na mesma linha de 
código que efetuou a chamada. 
Ao trabalhar com essa técnica pode ocorrer a necessidade de dividir um módulo 
em outros tantos módulos quantos forem necessários, buscando uma solução mais 
simples de uma parte do problema maior. 
 Um módulo de programa sempre terá um início e fim pode ser utilizado quando 
necessário dentro de outros módulos, tem como finalidade a separação de um proble-
ma, diminuindo a complexidade de resolução de um problema complexo, a imagem 
abaixo exemplifica o uso do módulo.
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO II
PROF. JOSÉ HENRIQUE HONJOYA
FACULDADE CATÓLICA PAULISTA | 71
Diagrama da aplicação de subrotina
Fonte: Algoritmos - Lógica de para Desenvolvimento de Programação de Computadores
Quando falamos em módulos temos dois tipos distintos como:
- Funções: quando um módulo possui como característica o retorno de saída o 
chamamos de funções, este tipo de recurso está presente em diversas linguagens de 
programação e iremos ver mais a frente o seu uso na linguagem Python.
- Procedimento (Sub-rotinas): um módulo que não possui dados de saída é con-
siderado como sub-rotina, podemos citar como sub-rotina módulos que realizam a 
gravação de dados em arquivo.
14.2.1 Funções
 As funções são utilizadas para dividir um problema complexo em partes, um arqui-
vo pode conter uma ou mais funcionais e as funções podem ser importadas dentro de 
outros arquivos.
Abaixo temos a sintaxe de uma função e sua estrutura:
 
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO II
PROF. JOSÉ HENRIQUE HONJOYA
FACULDADE CATÓLICA PAULISTA | 72
Sintaxe de uma função ou instrução
Fonte: elaborado pelo autor
 A estrutura de uma função deve seguir a seguinte estrutura:
- def - (Palavra reservada, define).
- nome_funcao - (Nome da função, podemos chamar cálculo, soma etc).
- (parametro1, parametro2, parametroN) - os parâmetros são opcionais, quando 
informado precisamos passá-los separados por vírgula.
- : - final da função. 
- return - é uma palavra reservada, retorna o valor que estiver na frente.
Exemplo: desenvolver um algoritmo que tenha as operações de uma calculadora 
básica, onde a partir de dois números fornecidos e a operação desejada ela retorne o 
valor calculado.
Para isso é possível separar as operações em funções:
- Soma
- Divisão
- Sustração 
- Multiplicação
Abaixo temos o algoritmo implementado, seguindo a separação acima:
 
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO II
PROF. JOSÉ HENRIQUE HONJOYA
FACULDADE CATÓLICA PAULISTA | 73
Calculadora com a função soma
Fonte: elaborado pelo autor
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO II
PROF. JOSÉ HENRIQUE HONJOYA
FACULDADE CATÓLICA PAULISTA | 74
AULA 15
MÓDULO
 A reutilização de códigos no desenvolvimento de sistemas é visto com bons olhos, 
sendo que a grande maioria dos programas possuem módulos de outros programas 
e até mesmo de terceiros, vamos analisar o seguinte cenário:
Ano passado o desenvolvedor criou um sistema para e-commerce onde havia um 
módulo que envia e-mail para o cliente, em um novo projeto este módulo poderá ser 
reaproveitado. Isso acontece porque os módulos devem ser projetados para não de-
pender da classe que o chama.
 Nesta aula iremos ver como criar módulos que serão utilizados e organizados den-
tro de um projeto que tenha mais de um algoritmo e que podem ser utilizados e reuti-
lizados quando necessário.
Para permitir isso, o Python tem uma maneira de colocar as definições em um ar-
quivo e então usá-las em um script ou em uma execução interativa do interpretador. 
Tal arquivo é chamado de módulo; definições de um módulo podem ser importadas 
para outros módulos ou para o módulo principal.
Um módulo é um arquivo contendo definições e instruções Python. O nome do ar-
quivo é o nome do módulo acrescido do sufixo .py. Dentro de um módulo, o nome do 
módulo (como uma string) está disponível como o valor da variável global __name__. 
15.1 Criando um módulo
 Como descrito anteriormente um módulo está localizado em um arquivo, para isso 
crie um arquivo chamado cadastro.py e outro comunicador.py, este será o projeto de 
um sistema que irá solicitar os dados do usuário (nome, idade e e-mail), após informar 
os dados será enviado uma mensagem de boas-vindas ao e-mail do usuário.
O arquivo comunicador.py contém a função que irá enviar o e-mail ao usuário, ele 
pode ser utilizado em diversos pontos do sistema. Segue o algoritmo do arquivo abai-
xo:
 
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO II
PROF. JOSÉ HENRIQUE HONJOYA
FACULDADE CATÓLICA PAULISTA | 75
Arquivo comunicador.py
Fonte: elaborado pelo autor
O Arquivo cadastro.py será o responsável por implementar o algoritmo de obtenção 
dos dados do usuário, importar o módulo comunicador e chamar o método de enviar 
passando os parâmetros definidos.
Arquivo cadastro.py
Fonte: elaborado pelo autor
 Agora podemos realizar nosso arquivo principal, executando comando python ca-
dastro.py dentro do terminal da IDE ou até mesmo pelo terminal do Windows. Abaixo 
tem-se o exemplo de saída após responder às perguntas.
 
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO II
PROF. JOSÉ HENRIQUE HONJOYA
FACULDADE CATÓLICA PAULISTA | 76
Saida ao executar o arquivo cadastro.py
Fonte: elaborado pelo autor
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO II
PROF. JOSÉ HENRIQUE HONJOYA
FACULDADE CATÓLICA PAULISTA | 77
AULA 16
DICAS
No decorrer das aulas vimos diversos assuntos que lhe forneceram o conhecimen-
to em algoritmos e na linguagem Python para continuar com seu aprendizado segue 
algumas dicas que lhe ajudará:
1. Planeje, entenda o problema e pense nas possibilidades
Antes de desenvolver seu algoritmo, estude as possibilidades, as possíveis entra-
das e como ele será utilizado.
2. Treine, a prática faz a perfeição 
Treine, use problemas conhecidos para treinar e tente resolvê-los de maneiras di-
ferentes.
3. Tenha um bom inglês técnico
As linguagens de programação, como quase tudo na área de informática, utiliza-se 
como linguagem padrão o inglês.
4. Leia mais sobre a linguagem de programação
Toda linguagem de programação possui seu site oficial ou fóruns públicos e pri-
vados que lá são discutidos ou apresentados diversos conceitos, estas discussões e 
conceitos aumentam as possibilidades de uso da linguagem.
5. Ensine e aprenda
Ensinar é a melhor forma de aprender, o compartilhamento de conhecimento faz 
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO II
PROF. JOSÉ HENRIQUE HONJOYA
FACULDADE CATÓLICA PAULISTA | 78
você reforçar seu conhecimento.
6. Leia um bom código
Há diversos códigos disponíveis em plataformas como Github, Fóruns e até mes-
mo na documentação da linguagem escolhida, aprenda a ler o que outro desenvolve-
dor escreveu, isso lhe ajudará a entender sobre a funcionalidade do código.
7. Google, elepode nos ajudar :)
O Google não é novidade, ele nos auxilia a resolver problemas, achar curiosidades e 
até mesmo aprender algo novo.
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO II
PROF. JOSÉ HENRIQUE HONJOYA
FACULDADE CATÓLICA PAULISTA | 79
CONCLUSÃO
 Chegamos ao fim desta disciplina, o conhecimento até aqui adquirido será utiliza-
do até o fim da sua formação e por toda a sua carreira profissional, lembre-se que no 
mundo do desenvolvimento de software há mais de uma forma de resolver um proble-
ma e a evolução é constante. 
 Mantenha-se atualizado, utilize as comunidades disponíveis nas redes sociais, em 
fóruns privados e públicos para tirar suas dúvidas e para ajudar a resolver dúvidas de 
outras pessoas. 
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO II
PROF. JOSÉ HENRIQUE HONJOYA
FACULDADE CATÓLICA PAULISTA | 80
ELEMENTOS COMPLEMENTARES
LIVRO 
Título: Introdução à programação com Python
Autor: Nilo Ney Coutinho Menezes
Editora: Novatec
Sinopse: Este livro é orientado ao iniciante em programação. Os conceitos básicos 
de programação, como expressões, variáveis, repetições, decisões, listas, dicionários, 
conjuntos, funções, arquivos, classes, objetos e banco de dados com SQLite 3 são 
apresentados um a um com exemplos e exercícios. A obra visa a explorar a programa-
ção de computadores como ferramenta do dia a dia. 
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO II
PROF. JOSÉ HENRIQUE HONJOYA
FACULDADE CATÓLICA PAULISTA | 81
WEB
Site da linguagem Python, contendo a documentação da linguagem
<https://docs.python.org/>
Comunidade Brasileira de Python
<https://www.facebook.com/groups/python.brasil/>
https://docs.python.org/
https://www.facebook.com/groups/python.brasil/
ALGORITMOS E LÓGICA 
DE PROGRAMAÇÃO II
PROF. JOSÉ HENRIQUE HONJOYA
FACULDADE CATÓLICA PAULISTA | 82
REFERÊNCIAS
ALVES, William Pereira. Linguagem e lógica de programação. 1. ed. São Pau-
lo : Érica, 2014.
EDELWEISS, N.; LIVI, M. A. C. Algoritmos e Programação com Exemplos em 
Pascal e C. Série Livros Didáticos UFRGS - Volume 23. Bookman, 2014. 
JOYANE Aguilar, Luis. Fundamentos de programação: algoritmos, estruturas 
de dados e objetos 3. ed. Porto Alegres: AMGH, 2011.
MANZANO, José Augusto G.; OLIVEIRA, Jayr. Algoritmos: Lógica para Desen-
volvimento de Programação de Computadores. São Paulo: Érica, 2016.

Continue navegando

Outros materiais