Você está na página 1de 10

Fundamentos de Lógica de Programação

Lógica de programação é a técnica de encadear pensamentos para atingir determinado


objetivo, possibilitando a resolução de problemas e, consequentemente, automatização de
tarefas.
Instruções são um conjunto de regras ou normas definidas para a realização ou emprego de
algo. Em informática, é o que indica a um computador uma ação elementar a executar.
Um algoritmo é uma sequência finita de passos (ou instruções), descritos em uma ordem
lógica, que visam atingir um objetivo bem definido.
As instruções dadas ao computador possuem regras e uma sintaxe própria, como uma
linguagem tipo português ou inglês.
As linguagens de alto nível são linguagens que otimizam o processo de programação por
utilizar instruções mais parecidas com a linguagem humana (inglês cotidiano) e notações
matemáticas comuns. Exemplo de linguagens de alto nível: C, C++,.NET, Visual Basic,
Pascal e Java.

Características de um algoritmo
Finitude: O algoritmo deve sempre terminar após um número finito de passos.
Definição: Cada passo de um algoritmo deve ser precisamente definido. As ações devem ser
definidas rigorosamente e sem ambiguidades.
Entradas: O algoritmo deve ter zero ou mais entradas, quantidades que lhe são fornecidas
antes do algoritmo iniciar.
Saídas: Pelo menos um valor é produzido.
Efetividade: Cada passo/instrução/etapa de um algoritmo deve ser executável.

Exemplo de algoritmo
Como exemplos tem-se os algoritmos das operações básicas (adição, multiplicação, divisão e
subtração) de números reais decimais. Outros exemplos seriam os manuais de aparelhos
eletrônicos, como um videocassete, que explicam passo-a-passo como, por exemplo, gravar
um evento.

Linguagem de máquina
Infelizmente, um computador só é capaz de seguir programas que estejam escritos em
linguagem de máquina, que normalmente é obscura e desconfortável.
A linguagem de máquina é a linguagem natural do computador, definida pelo seu projeto de
hardware.
As instruções do programa, escritas em linguagem de máquina, consistem em uma série de
dígitos binários.
Como estão mais próximas da linguagem do computador, são muito complexas para o
entendimento humano.

Linguagens de alto nível


É interessante notar que, quanto mais próxima da linguagem humana (alto nível) é uma
linguagem de programação, mais fácil e produtivo é o processo de desenvolvimento, e mais
lento é o processo de tradução das instruções.

Linguagem de Programação Python


Sobre programas de computadores
Os programas de computadores são algoritmos escritos em uma linguagem de computador e
interpretados e executados por uma máquina.
Um programa é por natureza muito específico e rígido em relação aos algoritmos da vida
real.
Um algoritmo não representa necessariamente um programa de computador, mas sim os
passos necessários para realizar uma tarefa ou solucionar um problema.

Fases de um algoritmo
Ao construir um algoritmo, precisamos dividir o problema apresentado em três fases
fundamentais: entrada, processamento e saída.

Representação de algoritmos
Os algoritmos podem ser representados de várias formas, como descrição narrativa,
fluxograma e linguagem algorítmica.
A linguagem algorítmica é a representação mais utilizada em concursos públicos.

Variáveis
Variáveis são endereços de memória destinados a armazenar informações temporariamente.
Uma variável sempre está associada a quatro características: nome, endereço, tipo de dado
e conteúdo.

As variáveis em um algoritmo representam os dados que devem ser armazenados na memória do


computador para posterior processamento durante a execução do programa. As variáveis
precisam ser declaradas no programa, recebendo um nome para serem identificadas, um tipo
para especificar que valores pode armazenar e também podem receber um valor inicial. As
variáveis de entrada armazenam informações fornecidas por um meio externo e as de saída
armazenam dados processados como resultados. As constantes são endereços de memória
destinados a armazenar informações fixas, que não se alteram durante a execução do programa.
A declaração em pseudolinguagem das constantes utilizadas em um algoritmo é feita logo no
início, antes da declaração das variáveis.

As variáveis em um algoritmo representam os dados que devem ser armazenados na


memória do computador para posterior processamento durante a execução do programa.
As variáveis precisam ser declaradas no programa, recebendo um nome para serem
identificadas, um tipo para especificar que valores pode armazenar e também podem
receber um valor inicial.
As variáveis de entrada armazenam informações fornecidas por um meio externo e as de
saída armazenam dados processados como resultados.
As constantes são endereços de memória destinados a armazenar informações fixas, que
não se alteram durante a execução do programa.
A declaração em pseudolinguagem das constantes utilizadas em um algoritmo é feita logo
no início, antes da declaração das variáveis.

Conhecimentos Específicos de Linguagem


de Programação Python
Variáveis e Constantes
Variáveis podem ser modificadas no decorrer do algoritmo, enquanto constantes não podem
ser modificadas após declaradas
Identificadores são os nomes atribuídos a variáveis, constantes e algoritmos
Exemplo de declaração de variáveis:var nota1, nota2, nota3: inteiro; peso: real; _nome123:
caractere; const PI = 3,14;

Comandos de Entrada e Saída


Comandos de entrada:LEIA (, ,..., )
Comandos de saída:IMPRIMA (, ,..., ), IMPRIMA (), IMPRIMA(“cadeia de caracteres”)

Fluxograma e Portugol
Fluxograma é uma ferramenta para representar visualmente a sequência de um algoritmo
Portugol é uma linguagem de programação em português que permite a escrita de
algoritmos

Operadores
Operadores aritméticos: + (adição), - (subtração binária), * (multiplicação), / (divisão), ** ou
^ (exponenciação), - (menos unário)
Operadores relacionais: = (igual), <> ou ≠ (diferente), > (maior que), < (menor que), >=
ou ≥ (maior ou igual), <= ou ≤ (menor ou igual)
Operadores lógicos: E (conjunção), OU (disjunção), NÃO (negação)

Prioridades
Regras de prioridades de operadores: parênteses, funções, menos unário, ** ou ^, * e /, + e -
, relacionais, lógicos, NÃO, E, OU
Se existirem duas operações de mesma prioridade, as operações serão realizadas da
esquerda para a direita

Expressões
Todas as expressões aritméticas devem ser colocadas em linhas e utilizando os operadores
correspondentes da aritmética tradicional para a computacional.

Linguagem de Programação Python


A modularização é a divisão da expressão em partes, proporcionando maior compreensão e
definindo prioridades para resolução da mesma. Em expressões computacionais usamos
somente parênteses “( )” para modularização.
As funções são um instrumento (Sub–algoritmo) que tem como objetivo RETORNAR UM
VALOR OU UMA INFORMAÇÃO.
As funções podem ser predefinidas pela linguagem ou criadas pelo programador de acordo
com o seu interesse.
As funções podem ser aritméticas, temporais, de texto, etc.
Podemos inserir em um algoritmo comentários para aumentar a compreensão do mesmo,
para isso basta que o texto fique entre chaves “{}”.
A estrutura básica de um algoritmo é composta por declarações (variáveis, constantes,
módulos), início, comandos e fim.
Exemplo de algoritmo para encontrar o maior entre dois números inteiros.

Fonte
Paradzinski, Patrícia Quintão (2013). Linguagem de Programação Python. Gran Conhecimentos
Específicos Concursos.

Teste de Mesa

Método de teste para algoritmos


Simulação de todos os passos do algoritmo
Preenchimento de tabela com valores para as variáveis
Atualização dos valores das variáveis a cada comando simulado
Erro na lógica do algoritmo se houver valores inesperados para as variáveis
Algoritmo de exemplo para cálculo de salário a receber
Utilização de tabela para inspeção do algoritmo linha a linha
Economia de tempo na construção do teste
Possibilidade de fazer vários testes de mesa com entradas diferentes
Estruturas sequenciais de comandos executados de forma sequencial
Delimitação dos comandos por INÍCIO e FIM
Exemplo de algoritmo para cálculo de área de um triângulo.

Estruturas de Dados Relevantes: - Pilhas: estrutura de dados que segue a lógica LIFO (last in
first out). - Filas: lista linear em que a inserção é feita numa extremidade e a eliminação na outra.
Segue a disciplina de acesso FIFO (first in first out). - Outras estruturas de dados relevantes
incluem vetores e árvores.

Python: - Python é uma linguagem de programação de alto nível e orientada a objeto, de tipagem
dinâmica, fortemente interpretada e interativa. - Desenvolvida por Guido Van Rossum no final
dos anos 80. - Principais aplicações incluem Data Science, Machine Learning, Big Data e
Desenvolvimento Web (Django e Flask).

Características da linguagem Python: - É uma linguagem de scripting que permite a


automatização de tarefas repetitivas. - É uma linguagem interpretada e pseudo-compilada. - É
uma linguagem gratuita com poucas restrições. - Possui uma curva de aprendizado pequena e
uma comunidade diversa e ativa. - Os programas em Python podem ser escritos em um editor de
texto ou em um Ambiente de Desenvolvimento Integrado (IDE). Principais IDEs para
desenvolvimento em Python: - Eclipse - PyCharm - Jupyter Notebook - Spyder Os arquivos Python
(.py) são escritos em um editor de texto e executados no interpretador Python. A linguagem
Python e seu interpretador estão disponíveis para diversas plataformas.

Linguagem de Programação Python


Características do Python
É uma linguagem multiplataforma.
É uma linguagem com verificação de tipos, mas tipada dinamicamente.
É uma linguagem multiparadigma, suportando vários paradigmas de programação.
É uma linguagem orientada a objetos.
Suporta funcionalidades comuns na orientação a objetos: herança, herança múltipla,
polimorfismo, reflexão e introspecção.
Não suporta sobrecarga de métodos que é um conceito do polimorfismo.
Faz tratamento de exceções.
Pode ser facilmente entendida por qualquer usuário.
Os módulos que suportam as extensões podem ser escritos em qualquer linguagem
compilada.
Inclui suporte para concorrência com suas linhas de execução (threads) e suporte para
programação de rede com seus soquetes.
Tem também mais suporte para programação funcional que outras linguagens de
programação não funcionais.

Sintaxe do Python
A sintaxe de Python não é baseada diretamente em nenhuma linguagem comumente usada.
Utiliza indentação por espaços.
Não utiliza ponto e vírgula (;) para finalizar uma instrução.
Uma variável pode armazenar diferentes tipos de dados.
Não há chaves ({}) para delimitar o início e final de um bloco de código.

Indentação (ou Recuo)


Em Python, o código é agrupado através da indentação.

Comentários e Docstrings
Os comentários, incluídos nas linhas dos scripts Python, não são processados.
Docstrings são usados para documentar funções, classes e módulos.

Linguagem de Programação Python


Comentários e Docstrings
Comentários em Python são iniciados com #
Docstrings são introduzidas no início de uma classe, função ou programa
Símbolo padrão das docstrings são aspas duplas ou simples

Variáveis e Constantes
Python possui tipagem dinâmica e tipagem forte
Tipos suportados em Python: int, float, string, booleano, complex
Conversões de tipo de dados em Python podem ser implícitas ou explícitas

Conversão Implícita

Ocorre quando um tipo de dados é convertido automaticamente para outro tipo


Python converte tipos menores em tipos maiores para evitar perda de dados

Conversão Explícita

Ocorre quando o programador especifica a conversão de tipos de dados


Exemplo de conversão: int(), float(), str(), bool(), complex()

Exemplos de Código
Exemplo de código para cálculo de fatorial com comentários e docstrings
Exemplo de conversão implícita com soma de variáveis de tipos diferentes

Conhecimentos Específicos - Python


Título: Linguagem de Programação Python

Exemplo de tentativa de operação com variáveis de tipos diferentes;


Python não faz conversão implícita de tipos de dados;
É necessário fazer conversão explícita, que consiste em converter o tipo de dados de um
objeto no tipo necessário;
Funções disponíveis para conversão explícita: int(), float(), complex() e str();
Conversão explícita também é conhecida como casting de tipos de dados;
Sintaxe para conversão explícita:(expressão);
Correção do exemplo anterior: conversão explícita da variável y para int;
Agora é possível realizar a operação de soma entre as variáveis x e y.

Funções de Conversão de Tipos de Dados


em Python
Introdução
A conversão de tipos de dados é uma tarefa comum em programação.
Python oferece funções embutidas para converter um tipo de dado em outro.

Conversão para String


A função str() constrói uma string a partir de uma ampla variedade de tipos de dados.
Exemplos:
x = str("str1")
y = str(15)
z = str(1.84)

Conversão para Inteiro


A função int() constrói um número inteiro a partir de:
um literal inteiro;
um literal de ponto flutuante, arredondando para baixo, para o número inteiro anterior;
um literal de string, desde que a string represente um número inteiro.
Exemplos:
w = int(15)
x = int(1.84)-> Erro
y = int("3")
z = int(15.5)

Conversão para Ponto Flutuante


A função float() constrói um número de ponto flutuante a partir de:
um literal inteiro;
um literal de ponto flutuante;
um literal de string, desde que a string represente um número de ponto flutuante ou um
inteiro.
Exemplos:
v = float(15)
w = float(1.84)
x = float("3")-> Erro
y = float("4.4")
z = float(15.5)

Conversão para Número Complexo


A função complex() constrói um número complexo a partir de:
um literal inteiro;
um literal de ponto flutuante;
um literal de string, desde que a string represente um número de ponto flutuante ou um
inteiro.
Exemplos:
v = complex(15)
w = complex(1.84)
x = complex("3")
y = complex("4.4")
z = complex(15.5)

Exemplo de Uso
Questão do concurso:
O comando de atribuiçãox = int(5.9)fará com que a variável x passe a armazenar um valor
inteiro igual a 6. (Verdadeiro/Falso)

Linguagem de Programação Python


Função int()
Transforma um valor em um número inteiro
Pode ser utilizado com um inteiro, um float ou uma string

Expressividade do código
Python e Ruby são exemplos de linguagens que apresentam essa qualidade
Em Python, o comando int("1") cria um objeto do tipo int, que recebe 1 como parâmetro no
seu construtor

Operadores Aritméticos e Lógicos


Operadores aritméticos: +, -,, /, //,*, %
Operadores lógicos: and, or, not
O operador de conjunção em Python é o "and"

Strings
Strings são cadeias de caracteres variáveis de tamanho dinâmico
Funções do Python aplicáveis a strings: capitalize(), count()

Questão de concurso
A resposta errada foi que o operador lógico de conjunção em Python é "&&"

Linguagem de Programação Python


Função

Objetivo
endswith(): Retorna True se a string terminar com um valor.
find(): Retorna a posição da primeira ocorrência de um valor em uma string ou -1 se não
existir.
isalnun(): Retorna True para uma condição (todos os caracteres serem alfanuméricos) e
False se não for.
len(): Retorna o tamanho da string.
lower() ou casefold(): Retorna a string em letras minúsculas.
replace(): Substitui uma string por outra.
startswith(): Retorna True se a string começar com um valor.
split(): Retorna as substrings encontradas entre o separador indicado.
strip(): Remove os espaços em branco do início e do fim da string.
title(): Converte o primeiro caractere de cada palavra para maiúscula.
upper(): Retorna a string em letras maiúsculas.

Coleções

existem quatro tipos de coleções: list, tuple, set e dictionary.


list: coleção ordenada, modificável e permite membros duplicados.
tuple: coleção ordenada, imutável e permite membros duplicados.
set: coleção desordenada, modificável e não permite membros duplicados.
dictionary: coleção desordenada, modificável e não permite membros duplicados, indexada
por string.

List

estrutura de dados mais básica do Python e armazena os dados em sequência.


cada elemento possui sua posição na lista, denominada de índice.
uma lista pode armazenar qualquer tipo de dado primitivo.
mutáveis e definidas pelos colchetes.
acessíveis pelos índices positivos e negativos.
coleção de métodos de lista, como: append, insert, remove e sort.

Python Programming Language

Lists - append command adds only one data to the list at a time. - extend command adds a new
list to the end of the existing list. - count command returns the number of times a value appears
in the list. - sort command sorts the values in the list.

Dictionaries - A dictionary is a collection of elements that have indexes, formed by keys and their
respective values. - Keys are the indexes in the dictionary. - There are methods for dictionaries
such as obtaining keys, values, copying, and checking for the existence of a key.

Decision Structures - Decision structure is used to divert the program execution flow depending
on a condition. - Python has 3 decision structures: if, if-else, and if-elif-else.

Repetition Structures - Repetition structures allow a block of instructions to be executed


repeatedly according to certain criteria. - Python has four repetition structures: for, for-else,
while, and while-else.

Title: Linguagem de Programação Python

Translated Title: Python Programming Language

Funções e range na Linguagem de


Programação Python
Funções em Python

Funções são blocos de código que são executados quando chamados


Podem receber dados através de parâmetros e retornar dados como resultado
Em Python, funções são definidas com a palavra-chave 'def' seguida do nome da função e
parênteses
Uma função pode ou não ter parâmetros e pode ou não retornar um valor
A palavra-chave 'lambda' é utilizada para criar funções anônimas em Python

Range em Python

A função range é utilizada para construir listas em Python


Pode receber um ou até três argumentos: start, stop e step
O argumento start define o número de início da lista (0 por padrão)
O argumento stop define o número final da lista (não incluso)
O argumento step define o incremento entre os números da lista (1 por padrão)
A função range pode ser utilizada em conjunto com a função list para criar a lista desejada

Exemplo de uso da função range

list(range(10)) retorna [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]


list(range(1, 11)) retorna [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
list(range(0, 30, 5)) retorna [0, 5, 10, 15, 20, 25]
list(range(0, 10, 3)) retorna [0, 3, 6, 9]
list(range(0, -10, -1)) retorna [0, -1, -2, -3, -4, -5, -6, -7, -8, -9]
list(range(5)) retorna [0, 1, 2, 3, 4]
list(range(0)) retorna []
list(range(1, 0)) retorna []
list(range(0, 12)) retorna [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]

Questão de concurso sobre a função range em Python

A questão afirma que range(4,6) gera a lista [4,5], o que é correto


A função range pode receber um ou dois argumentos e gera uma lista com os números entre
esses argumentos, incluindo o primeiro e excluindo o último, por padrão
A resposta correta é a alternativa (a)

Linguagem de Programação Python:

A função range(start, stop[, step]) conta de start (incluso) até stop (não-incluso) com um
step de 1 (padrão) ou de step em step se fornecido.
O código Python apresentado não retornará nenhum valor porque a função range(0, 4, -1)
nunca chegará a 4.
Lógica de programação é a técnica de encadear pensamentos para atingir determinado
objetivo, utilizando uma sequência lógica de instruções ordenadas em um algoritmo.
Alguns símbolos importantes em algoritmos são: dois pontos (:) para declarar o tipo de
variável, sinal de igualdade (=) para atribuir valor a uma constante, sinal de atribuição (:=
ou -) para atribuir valor a uma variável, ponto e vírgula (;) para indicar a finalização de uma
linha de instrução e chaves ({}) para incluir comentários explicativos.
Python é uma linguagem de programação open source, multiplataforma, interpretada, com
tipagem dinâmica e forte, multiparadigma e multinicho, criada em 1991 por Guido van
Rossum.
Suporta diversos paradigmas de programação, como funcional, imperativa e orientada a
objeto.
O programa escrito em Python é um arquivo texto com extensão .py que, após compilado,
vira um bytecode interpretado pela máquina virtual Python.
A tipagem das variáveis no Python é dinâmica e forte e a identação (espaço em branco) é
usada para definir o escopo.
Comentários em Python são notas que ajudam o programador a organizar o código fonte e
não modificam o programa executado.
A palavra reservada pass é usada para "passar" a implementação de uma função e as
funções são declaradas com a palavra reservada def seguida do nome da função e uma lista
opcional de argumentos.

Título: Linguagem de Programação Python e Lógica de Programação


Tipos de Dados em Python: - Inclui tipos numéricos como inteiros, reais, imaginários,
hexadecimais, booleanos, entre outros. - Cadeias de caracteres: sequência mutável de objetos de
tamanho variável. - Listas: estrutura de dados de mapeamento de uma chave em um valor. -
Tuplas: sequência imutável de objetos. - Arquivos: referência para o conteúdo de arquivos em
disco. - Conjuntos: sequência não ordenada de objetos únicos. - None: representa o nada. -
Funções, módulos e classes também são tipos.

Tipos de Coleções em Python: - Tuple: coleção ordenada e imutável. - List: coleção ordenada e
modificável. - Dictionary: coleção desordenada e indexada por string. - Set: coleção desordenada
e não indexada.

Estruturas de Decisão no Python: - if: só executa determinada ação se a condição for verdadeira.
- if-else: bifurcação que executa o if se a condição for verdadeira e o else caso contrário. - if-elif-
else: encadeamento de diversos caminhos possíveis. - break: faz com que o loop seja
imediatamente encerrado. - continue: faz com que todo o código abaixo dentro do loop seja
ignorado e avança para a próxima iteração. - for-else: executado obrigatoriamente após os loops.
- while: loop que será executado repetidamente enquanto determinada condição for verdadeira. -
while-else: bloco adicional no final que é executado obrigatoriamente após todas as iterações do
while.

Title: Tipos de Dados, Coleções e Estruturas de Decisão em Python.

Você também pode gostar