Escolar Documentos
Profissional Documentos
Cultura Documentos
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.
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.
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.
Fonte
Paradzinski, Patrícia Quintão (2013). Linguagem de Programação Python. Gran Conhecimentos
Específicos Concursos.
Teste de Mesa
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).
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.
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.
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
Conversão Explícita
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
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)
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
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 é "&&"
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
List
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.
Range em 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.
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.