💻

Introdução a Lógica de Programação (Python)

1) Por que a transição para Python

Como executar


2) Sintaxe básica

2.1 “Hello, World!”

Em C:

#include <stdio.h>
int main() {
    printf("Hello World!");
    return 0;
}

Em Python:

print("Hello, World!")
Sem main, sem ; e sem #include. Indentação importa!

2.2 Entrada e saída

Em C (resumido):

int idade;
scanf("%d", &idade);
printf("Idade: %d\n", idade);

Em Python:

idade = int(input("Digite sua idade: "))
print(f"Idade: {idade}")
input() sempre lê texto (string). Converta com int()/float() quando precisar de número.

f-strings facilitam o texto: f"Idade: {idade}".


3) Variáveis e tipos

Não precisa declarar tipo antes. O Python descobre pelo valor.

Atribuição múltipla

a, b, c = 1, 2, 3

Conversões

n = int("42")
x = float("2.5")
s = str(123)


4) Operadores

4.1 Aritméticos

+ - * / // % **

soma = 2 + 3
div_exata = 7 / 2     # 3.5
div_inteira = 7 // 2  # 3
resto = 7 % 2         # 1
pot = 2 ** 3          # 8

4.2 Relacionais

== != > < >= <=

4.3 Lógicos

and or not

maior = idade >= 18 and cidade == "Uberaba"

4.4 Ordem de operações (resumo)

Parênteses → Potência → Multiplicação/Divisão → Soma/Subtração.

Use parênteses para deixar claro.


5) Condicionais

5.1 if / elif / else

Em C:

if (nota >= 60) { ... } else { ... }

Em Python:

nota = float(input("Nota: "))

if nota >= 60:
    print("Aprovado")
elif nota >= 40:
    print("Recuperação")
else:
    print("Reprovado")

5.2 match-case (Python 3.10+)

Equivalente simples ao switch do C:

op = input("Opção (a/b/c): ")

match op:
    case "a":
        print("Abrir")
    case "b":
        print("Buscar")
    case "c":
        print("Configurar")
    case _:
        print("Opção inválida")

6) Estruturas de repetição

6.1 while

i = 1
while i <= 5:
    print(i)
    i += 1

6.2 for com range

for i in range(1, 6):   # 1,2,3,4,5
    print(i)

6.3 break e continue

for n in range(10):
    if n == 5:
        break      # sai do laço
    if n % 2 == 0:
        continue   # pula os pares
    print(n)       # imprime só ímpares até 5

7) Coleções (equivalentes a arrays/strings do C)

7.1 Listas (≈ vetor dinâmico)

nums = [10, 20, 30]
nums.append(40)
print(nums[0], len(nums))

7.2 Matrizes (lista de listas)

mat = [
    [1, 2, 3],
    [4, 5, 6]
]
print(mat[1][2])  # 6

7.3 Strings

nome = "Maria"
print(nome.upper(), nome.lower(), len(nome))
print(nome[0], nome[-1], nome[1:4])   # slicing
Em C, strings são char[] e precisam de %s no printf. Em Python, são objetos com métodos (.upper() etc.) e interpolação fácil com f-strings.

8) Funções

Em C:

int soma(int a, int b) { return a+b; }

Em Python:

def soma(a, b):
    return a + b

print(soma(2, 3))

9) Formatação de saída (sem %d, %f)

Use f-strings:

nome = "Ana"
media = 8.75
print(f"Olá, {nome}. Sua média é {media:.2f}")  # 2 casas decimais

10) Exemplos “convertidos” da sua aula

10.1 Cadastro simples (nome, idade, cargo) e cálculo salarial

Seu enunciado em C pedia reajuste de 20% e depois desconto de 15% sobre o total.
nome = input("Nome: ")
idade = int(input("Idade: "))
cargo = input("Cargo: ")
salario_bruto = float(input("Salário bruto (R$): "))

salario_reajustado = salario_bruto * 1.20
salario_liquido = salario_reajustado * 0.85

print("\n--- Resultado ---")
print(f"Nome: {nome}")
print(f"Idade: {idade}")
print(f"Cargo: {cargo}")
print(f"Salário bruto total (c/ 20%): R$ {salario_reajustado:.2f}")
print(f"Salário líquido (desc. 15%): R$ {salario_liquido:.2f}")

10.2 Par/Ímpar (if/else)

n = int(input("Número: "))
if n % 2 == 0:
    print("Par")
else:
    print("Ímpar")

10.3 Média de N números (while)

qtd = int(input("Quantos números? "))
soma = 0
i = 0

while i < qtd:
    soma += float(input(f"Número {i+1}: "))
    i += 1

media = soma / qtd if qtd > 0 else 0
print(f"Média = {media:.2f}")

10.4 Tabuada (for)

n = int(input("Tabuada de: "))
for i in range(1, 11):
    print(f"{n} x {i} = {n*i}")

10.5 Vetor: maior e menor

valores = []
for i in range(5):
    valores.append(float(input(f"Valor {i+1}: ")))

print(f"Maior: {max(valores)} | Menor: {min(valores)}")