UFLA

🎓 Aula 01

Conceitos Básicos de Algoritmos

Prof. Paulo Rettore

Universidade Federal de Lavras

GAC124 - Introdução aos Algoritmos

📋 O que vamos aprender?

  • ✓ Sistemas computacionais
  • ✓ Sistemas numéricos
  • ✓ Linguagens de programação
  • ✓ Conceitos de algoritmos
  • ✓ Variáveis e tipos de dados

💻 Sistemas Computacionais

🖥️ 📱 ⌚

Um sistema computacional é um conjunto de dispositivos elétricos/eletrônicos que trabalham juntos para processar informações.

🔧 Componentes Básicos

🧠 CPU

Processador responsável por executar operações aritméticas e lógicas

💾 Memória

Armazena programas e dados durante o processamento

🔄 E/S

Entrada/Saída para comunicação com o mundo externo

🏗️ Organização de um Computador

📥 Entrada
(Teclado, Mouse)
🧠 CPU
(Processador)
📤 Saída
(Monitor, Impressora)

Tudo coordenado pela Memória (RAM, HD, SSD)

🔢 Sistemas Numéricos

1️⃣ 0️⃣ 2️⃣

Um sistema numérico é definido pela base que utiliza. A base é o número de símbolos diferentes necessários para representar qualquer número.

📊 Principais Bases

🔟 Decimal

Base 10

Símbolos: 0-9

Uso: Dia a dia

🔢 Binário

Base 2

Símbolos: 0, 1

Uso: Computadores

🎨 Hexadecimal

Base 16

Símbolos: 0-9, A-F

Uso: Endereços

⚡ Por que Computadores Usam Binário?

💡
Computadores trabalham com circuitos eletrônicos que podem estar ligados (1) ou desligados (0).
🔌
Fácil de representar com voltagem alta (1) ou voltagem baixa (0).
🎯
Qualquer informação (números, letras, imagens) pode ser representada em binário.

🔄 Exemplo: Conversão Binária

Número decimal 5 em binário:

5decimal = 101binário

Número decimal 12 em binário:

12decimal = 1100binário

Não se preocupe com conversões agora! Você aprenderá isso em detalhes nas próximas aulas.

💬 Linguagens de Programação

🗣️ 💻 🤖

Uma linguagem de programação é um conjunto de regras para comunicar instruções a um computador de forma que ele entenda.

📈 Níveis de Linguagem

🤖 Linguagem de Máquina

01010011
11001010
00110101

Zeros e uns que o computador entende diretamente.

🧑‍💻 Linguagem de Alto Nível

cout << "Olá";

Mais próxima da linguagem humana.

⚙️ Compilação: Tradução de Código

Código C++
cout << "Olá";
Compilador
(Tradutor)
Executável
01010011...

✨ Por que Usar C++?

Rápido e eficiente: Gera código otimizado para o computador.
🎓
Educacional: Ensina conceitos fundamentais de programação.
🌍
Amplamente usado: Sistemas operacionais, jogos, aplicações profissionais.
🔧
Controle total: Você tem controle sobre memória e recursos.

🎯 O que é um Algoritmo?

📝 ➡️ 🎯

Um algoritmo é uma sequência de passos bem definida e ordenada para resolver um problema ou realizar uma tarefa.

Exemplo: Receita de bolo é um algoritmo! Você segue passos na ordem correta para obter o resultado.

✅ Características de um Algoritmo

  • 🎯 Bem definido: Cada passo é claro e sem ambiguidade
  • 📋 Ordenado: Os passos devem ser seguidos em sequência
  • ⏹️ Finito: Deve terminar em algum momento
  • ✔️ Efetivo: Produz o resultado esperado
  • 🔄 Determinístico: Mesma entrada = mesmo resultado

📐 Como Representar Algoritmos?

📝 Pseudocódigo

Descrição em linguagem natural estruturada

📊 Fluxograma

Diagrama com símbolos e setas

💻 Código

Implementação em linguagem de programação

📖 Exemplo: Somar Dois Números

Passo 1: Receber o primeiro número (A)

Passo 2: Receber o segundo número (B)

Passo 3: Calcular a soma (S = A + B)

Passo 4: Exibir o resultado (S)

📦 Variáveis

🏷️ 💾

Uma variável é um espaço na memória do computador onde você pode armazenar um valor. Ela tem um nome e um tipo.

Pense em uma variável como uma caixa com um rótulo, onde você guarda um valor.

🏷️ Tipos de Dados em C++

🔢 int

Números inteiros

-5, 0, 42

📊 float/double

Números decimais

3.14, 2.5

📝 char/string

Caracteres/Texto

'A', "Olá"

✍️ Declaração de Variáveis

int idade;
float altura;
char inicial;
string nome;

Sintaxe: tipo nome;

Você deve declarar uma variável antes de usá-la!

🔧 Inicialização de Variáveis

int idade = 20;
float altura = 1.75;
string nome = "João";

Sintaxe: tipo nome = valor;

Você pode declarar E atribuir um valor inicial na mesma linha!

💻 Exemplo: Programa Simples

#include <iostream>
using namespace std;

int main() {
  int num1 = 5;
  int num2 = 3;
  int soma = num1 + num2;
  cout << "Soma: " << soma;
  return 0;
}

📋 Resumo da Aula

  • ✓ Computadores têm componentes básicos: CPU, memória, E/S
  • ✓ Sistemas numéricos: decimal, binário, hexadecimal
  • ✓ Linguagens de programação traduzem nossas instruções
  • ✓ Algoritmos são sequências de passos bem definidas
  • ✓ Variáveis armazenam valores na memória
  • ✓ Tipos de dados: int, float, char, string

🧩 Prática extra: dois números

Leia dois números inteiros e mostre a soma, o produto e a média real.

int a, b; cin >> a >> b; cout << a + b << "\\n"; cout << a * b << "\\n"; cout << static_cast<double>(a + b) / 2;

Gabarito: a conversão para double garante que a média possa ter parte decimal.

Prática online opcional: beecrowd ou C++ Shell.

📚 Referências e materiais

Use estas fontes para consultas pontuais depois da aula:

O Campus Virtual, o DREDD e os slides da disciplina continuam sendo as fontes principais para estudo.

PRÓXIMA AULA

⏭️ Próxima aula

Operadores e Expressões

Prof. Paulo Rettore

GAC124 — Introdução aos Algoritmos

❓ Dúvidas?

💬 📧

Utilize o fórum do Campus Virtual ou envie um e-mail!

Voltar para a página principal