From c5b876332a921ded5f231baafef1e4286620d1e2 Mon Sep 17 00:00:00 2001 From: Christina Flach Date: Thu, 1 Feb 2024 04:11:48 -0300 Subject: [PATCH] update listas, add figs --- ilp/00a-intro-programacao.md | 77 +++++-- ilp/02-if-else.md | 23 +- ilp/03-repeticao.md | 164 -------------- ilp/03a-repeticao.md | 81 +++++++ ilp/03b-repeticao.md | 56 +++++ ilp/03c-repeticao.md | 46 ++++ ilp/04-listas.md | 213 +++++++++++++++++- ilp/figs/fig-compilador.png | Bin 0 -> 519846 bytes .../fig-control-flow-basic-structures.png | Bin 0 -> 42876 bytes ilp/figs/fig-if-double-flow.png | Bin 52448 -> 0 bytes ilp/figs/fig-if-flow.png | Bin 26026 -> 27893 bytes ilp/figs/fig-if-quadratic4.png | Bin 136685 -> 0 bytes ilp/figs/fig-interpretador.png | Bin 0 -> 191455 bytes ilp/figs/fig-lista-1.png | Bin 0 -> 134046 bytes ilp/figs/fig-lista-2.png | Bin 0 -> 137091 bytes ilp/figs/fig-lista-3.png | Bin 0 -> 136467 bytes ilp/figs/fig-lista-4.png | Bin 0 -> 150819 bytes ilp/figs/fig-quadratic-if-simple-flow.png | Bin 36045 -> 0 bytes ilp/figs/fig-while-flow.png | Bin 33717 -> 34208 bytes ilp/figs2/fig-if-flow.png | Bin 26026 -> 26736 bytes ilp/index.md | 4 +- 21 files changed, 466 insertions(+), 198 deletions(-) delete mode 100644 ilp/03-repeticao.md create mode 100644 ilp/03a-repeticao.md create mode 100644 ilp/03b-repeticao.md create mode 100644 ilp/03c-repeticao.md create mode 100644 ilp/figs/fig-compilador.png create mode 100644 ilp/figs/fig-control-flow-basic-structures.png delete mode 100644 ilp/figs/fig-if-double-flow.png delete mode 100644 ilp/figs/fig-if-quadratic4.png create mode 100644 ilp/figs/fig-interpretador.png create mode 100644 ilp/figs/fig-lista-1.png create mode 100644 ilp/figs/fig-lista-2.png create mode 100644 ilp/figs/fig-lista-3.png create mode 100644 ilp/figs/fig-lista-4.png delete mode 100644 ilp/figs/fig-quadratic-if-simple-flow.png diff --git a/ilp/00a-intro-programacao.md b/ilp/00a-intro-programacao.md index e532398..dfaf318 100644 --- a/ilp/00a-intro-programacao.md +++ b/ilp/00a-intro-programacao.md @@ -25,44 +25,56 @@ Um **algoritmo** é uma sequência de passos bem definidos para resolver um prob +--- +# Troca de Pneu Furado + +``` +Pare em um local seguro. +Pegue o triângulo e sinalize atrás do veículo. +Localize o estepe, macaco e chave de roda. +Afrouxe os parafusos do pneu furado com a chave de roda. +Levante o veículo com o macaco. +Solte os parafusos. +Troque o pneu furado pelo estepe. +Aperte os parafusos com a chave de roda. +Desça o carro. +Guarde o triângulo, estepe, macaco e chave de roda. +``` --- # Programa -Um **programa** é uma sequência de instruções que serão executadas pelo computador. Um programa, portanto, pode descrever algoritmos. +Um **programa** é uma sequência de instruções que serão executadas pelo computador. +Programas descrevem e implementam algoritmos. O computador consegue executar **código de máquina**, isto é, programas escritos em **linguagem de máquina**. -Pessoas geralmente trabalham com **código-fonte**, isto é, programas escritos em uma **linguagem de programação** (mais fácil de entender). +Pessoas geralmente trabalham com **código-fonte**, isto é, programas escritos em uma **linguagem de programação de alto nível** (mais fácil de entender). > Exemplos de linguagens de programação: C++, Python, Java, JavaScript --- -# Compilador e interpretador - -Um **compilador** ou **intepretador** é um programa que transforma código-fonte em código de máquina. +# Instruções -- O compilador faz isso de uma vez só, gravando o código de máquina em um arquivo executável -- O interpretador transforma o código enquanto o executa. +As linguagens de programação possuem instruções para: -Um programa que é interpretado também é chamado de **script**. +- **entrada de dados** - ler dados do teclado, de um arquivo, da rede, do relógio, da câmera e outros dispositivos +- **saída de dados** - escrever na tela ou em um arquivo, enviar dados via rede, emitir um som etc. +- **processamento de dados** - transformar dados, por exemplo, com operações aritméticas e estruturas para controlar o fluxo de execução: + - **sequência** + - **seleção** + - **repetição** --- -# Instruções +# Estruturas de Controle -As linguagens de programação possuem os seguintes tipos de instruções: - -- **entrada de dados** - lê dados do teclado, de um arquivo, da rede, do relógio, da câmera e outros dispositivos -- **saída de dados** - escrever na tela ou em um arquivo, enviar dados via rede, emitir um som etc. -- **processamento de dados** - basicamente operações matemáticas -- **condicionais** - permite executar ou não outras instruções a depender de uma condição -- **repetição** - permite re-executar instruções +image --- -# Exemplo de programa +# Exemplo de algoritmo Algoritmo para calcular a idade de uma pessoa, escrito em português: @@ -77,7 +89,7 @@ Algoritmo para calcular a idade de uma pessoa, escrito em português: # Exemplo de programa -Programa escrito na linguagem de programação Python: +Código-fonte do programa na linguagem de programação Python: ```python # Entrada @@ -93,5 +105,34 @@ if not ja_fez_aniversario: # Saída print(idade) ``` +--- + +# Tradução e execução de programas + +O computador consegue executar **código de máquina**, isto é, programas escritos em **linguagem de máquina**. + +- É preciso traduzir um programa escrito em *linguagem de programação* para um programa em *linguagem de máquina*. + +Um **compilador** é um programa que traduz o código-fonte de um programa escrito +em uma linguagem de programação para código de máquina. + +- O compilador traduz todo o programa e grava o código de máquina em um arquivo executável. + +Um **intepretador** também é um programa que traduz o código-fonte em código de máquina, mas executa as instruções à medida em que faz a tradução. + +- Um programa que é interpretado também é chamado de **script**. + +--- + +# Compilador + +image + +--- + +# Interpretador + +image + {:/} diff --git a/ilp/02-if-else.md b/ilp/02-if-else.md index 1af46a2..32acefc 100644 --- a/ilp/02-if-else.md +++ b/ilp/02-if-else.md @@ -21,22 +21,30 @@ Em Python, usamos as palavras-chave `if` (se), `else` (caso contrário) e `elif` --- -# if: seleção simples +# Seleção simples -Do inglês, *se* (conjunção subordinativa condicional) -Sintaxe: +image + +- Significado: se a `condicao` for verdadeira (`True`), o `bloco de código` (sequência de instruções) é executado. + +--- + +# if: seleção simples em Python + +Do inglês, `if` significa **se**. + +- Sintaxe: ```c++ if condicao: bloco de código ``` -- Significado: o `bloco de código` (sequência de instruções) é executado somente se a `condicao` for verdadeira - - Depois da condição deve vir um sinal de dois-pontos (`:`) - A sequência de instruções deve estar indentada em relação à palavra `if` (isto é, deve estar mais à direita) +- Significado: o `bloco de código` (sequência de instruções) é executado somente se a `condicao` for verdadeira --- # if @@ -126,7 +134,7 @@ print(total) --- -# if: Usar comentários (exemplo anterior) +# if: Exemplo anterior comentado ```python # Entrada @@ -183,7 +191,8 @@ if idade < 18: print("Você não é adulto.") ``` -Note que as condições são opostas. Nesse caso podemos usar a estrutura `if`/`else`, que veremos a seguir. +Note que as condições são complementares. +Nesse caso, pode-se usar a estrutura `if-else`. --- diff --git a/ilp/03-repeticao.md b/ilp/03-repeticao.md deleted file mode 100644 index f427e0d..0000000 --- a/ilp/03-repeticao.md +++ /dev/null @@ -1,164 +0,0 @@ ---- -layout: remark -title: ---- - -{::nomarkdown} -template: inverse - -# Estruturas de Repetição - -{% include_relative footer.txt %} - ---- - - ---- -template: inverse - -## Estrutura `for` - ---- - - ---- - - ---- - - ---- - - ---- - - ---- - - ---- - - ---- - - ---- - - ---- - - ---- - - ---- -template: inverse -## Estrutura `while` - ---- - - ---- - - ---- - - ---- - - ---- - - ---- - - ---- - - ---- - - ---- - - ---- -template: inverse -## Dicas para correção automática - ---- - - ---- - - ---- - - ---- - - ---- -template: inverse -## Outras instruções: break e continue - ---- - - ---- - - ---- - - ---- -template: inverse -## Tópicos avançados - ---- - - ---- - - ---- - - ---- - - ---- - - ---- - - ---- - - ---- - - ---- - - ---- - - ---- - - ---- - - ---- - - ---- - - ---- - - -{:/} - diff --git a/ilp/03a-repeticao.md b/ilp/03a-repeticao.md new file mode 100644 index 0000000..5c0ab34 --- /dev/null +++ b/ilp/03a-repeticao.md @@ -0,0 +1,81 @@ +--- +layout: remark +title: +--- + +{::nomarkdown} +template: inverse + +# Estruturas de Repetição + +{% include_relative footer.txt %} + +--- +template: inverse + +## Estrutura `for` + +--- + + +--- + + +--- + + +--- + + +--- + + +--- + + +--- + + +--- + + +--- + + +--- + + +--- + + +--- + + +--- +template: inverse + +## Estruturas `for` aninhadas + +--- + + +--- + + +--- + + +--- + + +--- + + +--- + + +--- + + +{:/} + diff --git a/ilp/03b-repeticao.md b/ilp/03b-repeticao.md new file mode 100644 index 0000000..b6853ab --- /dev/null +++ b/ilp/03b-repeticao.md @@ -0,0 +1,56 @@ +--- +layout: remark +title: +--- + +{::nomarkdown} +template: inverse + +# Estruturas de Repetição + +{% include_relative footer.txt %} + +--- +template: inverse +## Estrutura `while` + +--- + + +--- + + +--- + + +--- + + +--- + + +--- + + +--- + + +--- + + +--- +template: inverse +## Dicas para correção automática + +--- + + +--- + + +--- + + + +{:/} + diff --git a/ilp/03c-repeticao.md b/ilp/03c-repeticao.md new file mode 100644 index 0000000..5a5291b --- /dev/null +++ b/ilp/03c-repeticao.md @@ -0,0 +1,46 @@ +--- +layout: remark +title: +--- + +{::nomarkdown} +template: inverse + +# break e continue + +{% include_relative footer.txt %} + +--- + + +--- + + +--- + + +--- +template: inverse +## Conceitos úteis + +--- + + +--- + + +--- + + +--- + + +--- + + +--- + + + +{:/} + diff --git a/ilp/04-listas.md b/ilp/04-listas.md index 343ecf8..05953e9 100644 --- a/ilp/04-listas.md +++ b/ilp/04-listas.md @@ -36,7 +36,7 @@ A **lista** é um tipo de dados usado para armazenar coleções de dados. - Listas podem conter 0, 1 ou mais elementos - **tamanho** da lista -- Uma lista com 0 elementos é chamada de **lista vazia** + - Uma lista com 0 elementos é chamada de **lista vazia** - Os elementos da lista podem ser de tipos diferentes: - Por exemplo, uma lista pode conter um elemento do tipo `str`, um elemento do tipo `int` e um elemento do tipo `float` - Elementos da lista podem ser outras listas @@ -66,9 +66,9 @@ A **lista** é um tipo de dados usado para armazenar coleções de dados. ``` --- -# Comprimento da lista (len) +# Tamanho da lista -Use a função `len(x)` para obter o comprimento de uma lista `x`. +Use a função `len(x)` para obter o tamanho ou o _comprimento_ de uma lista `x`. ```python >>> lista = [2,2,2,2] @@ -98,7 +98,7 @@ Para acessar o elemento `i` de uma lista `L`, onde `i` varia de 0 até `len(L)-1 ```python x = ['a', 'b', 'c'] -print(x[0]) +print(x[0]) # primeiro elemento da lista print(x[1]) print(x[2]) print(x[3]) # IndexError: list index out of range @@ -127,13 +127,17 @@ Pode-se alterar um elemento da lista realizando uma atribuição: ```python x = ['a', 'b', 'c'] # lista original com 3 elementos -x[0] = 'Z' # modifica apenaso valor do primeiro elemento da lista +x[0] = 'Z' # modifica o valor do primeiro elemento da lista x[3] = 'W' # IndexError: list assignment index out of range ``` ---- +- O elemento **x[3]** não existe. -# split() retorna uma lista de strings + +--- + + +# Função split() retorna uma lista de strings - Considere a entrada `a` `b` `c` com três caracteres separados por espaço em branco. @@ -146,13 +150,206 @@ a b c --- +# Conversão de map para list + +O retorno da função `map()` não é uma lista, +mas pode ser convertido para uma lista através da função `list()`: + +```python +# Considere a seguinte entrada: +# 1 2 3 +numeros = list(map(int, input().split())) +print(numeros) +print(numeros[0]) +``` + +--- +# Conversão de range para list + +O retorno da função `range()` não é uma lista, +mas pode ser convertido para uma lista através da função `list()`: + +```python +numeros = list(range(0, 10, 2)) +numeros[0] = 99 +print(numeros) +``` + +--- + template: inverse # Operações sobre Listas Sugestão: Visualizar operações sobre listas usando o [PythonTutor](https://pythontutor.com/) +--- -{:/} +# append, del, insert, `+` + +```python +L1 = [10, 20] +L2 = [30, 40] + +L2.append(50) # Insere 50 no final da lista L2 + +del L2[2] # Remove elemento no índice 2 de L2 + +L2.insert(1, -10) # Insere -10 no índice 1, empurrando os elementos para a frente + +del L2[1] # Remove elemento no índice 1, puxando os próximos para frente + +L3 = L1 + L2 # Cria uma nova lista com os elementos de L1 e L2 +``` + +--- +# Após a criação de L1 e L2 + +image + +--- +# Após inserir 50 no final da lista L2 + +image + +--- +# Após inserir -10 no índice 1 de L2 + +image + +--- +# Após a criação de L3 + +image + +--- + +# Tipos de operações sobre listas + +Há dois tipos de operações: +- Operações que **modificam uma lista** existente +- Operações que **criam uma nova lista** a partir de listas existentes + +```python +L1 = [10, 20] +L2 = [30, 40] + +L1.extend(L2) # Modifica L1, inserindo os elementos de L2 no final +print(L1) + +L3 = L1 + L2 # Cria uma nova lista L3; L1 e L2 não são modificadas +print(L3) + +``` + +--- +## List comprehensions + +**List comprehensions** são usadas para +_transformar_ e _filtrar_ elementos de listas. + +### Transformando elementos + +```python +entrada = ["4", "8", "3"] +inteiros = [int(n) for n in entrada] # mesmo tamanho +dobro = [n * 2 for n in inteiros] # mesmo tamanho +``` + +### Filtrando elementos + +```python +lista = [-1, -4, 2, -3, 4] +positivos = [n for n in lista if n > 0] # tamanho igual ou menor +``` + +### Filtrando e transformando + +```python +pares = [n * 10 for n in lista if n % 2 == 0] +``` + +--- + +# Outras operações sobre listas + +Para explorar: + +- clear +- extend +- reverse +- pop +- remove +... + +--- + +template:inverse + +# Algoritmos que usam listas + +--- + +# Listas são usadas com for e while + +Listas são frequentemente usadas em conjunto com estruturas de repetição, sobretudo o `for`. + +```python +numeros = [5, 3, 8, 1] +for n in numeros: + print(n) +``` + +--- +# Imprime lista enumerada de palavras + +Lê uma linha com palavras e imprime uma palavra por linha, com índice. + +```python +palavras = input().split() +for i in range(len(palavras)): + print(i + 1, '-', palavras[i]) +``` + + +--- +# Imprime lista de palavras na ordem inversa + +Lê uma linha com palavras e imprime palavras na ordem inversa + + +```python +palavras = input().split() +for i in range(len(palavras) - 1, -1, -1): + print(palavras[i]) + +``` + +--- +# Cria nova lista apenas com números pares + +- Solução com `append` + +```python +todos = map(int, input().split()) +pares = [] +for n in todos: + if n % 2 == 0: + pares.append(n) +print(pares) +``` + +--- +# Cria nova lista apenas com números pares + +- Solução com `list comprehension` + +```python +todos = [int(x) for x in input().split()] +pares = [n for n in todos if n % 2 == 0] +print(pares) +``` + +{:/} diff --git a/ilp/figs/fig-compilador.png b/ilp/figs/fig-compilador.png new file mode 100644 index 0000000000000000000000000000000000000000..317db4b70277a1681cdf87217d00de6a5cc5e36c GIT binary patch literal 519846 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