Arquitetura Computacional Básica, Algoritmos e Implementação, Desenvolvimento de Programas e Primeiros Passos em C.
Sumário
Introdução
Um computador é uma máquina electrónica capaz de:
...seguindo um conjunto de instruções — um programa.
Arquitetura
Unidade Central de Processamento:
Classificação
Arquitetura
Algoritmos
Definição: sequência finita de passos lógicos e organizados que descrevem como resolver um problema ou realizar uma tarefa.
Número definido de passos.
Cada passo é claro e inequívoco.
Pode receber 0 ou mais dados.
Produz pelo menos um resultado.
Os passos são executáveis.
Exemplo
Problema: calcular a soma de dois números.
resultado = num1 + num2
Representação
ALGORITMO SomarDoisNumeros
VARIAVEIS:
numero1, numero2, resultado: INTEIRO
INICIO
// Passo 1: Ler os dois números
ESCREVER "Digite o primeiro número: "
LER numero1
ESCREVER "Digite o segundo número: "
LER numero2
// Passo 2: Calcular a soma
resultado = numero1 + numero2
// Passo 3: Mostrar o resultado
ESCREVER "A soma é: ", resultado
FIM
Exemplo
ALGORITMO VerificarPar
VARIAVEIS:
numero: INTEIRO
INICIO
ESCREVER "Digite um número: "
LER numero
SE (numero % 2 == 0) ENTAO
ESCREVER "O número é PAR"
SENAO
ESCREVER "O número é ÍMPAR"
FIM_SE
FIM
% (módulo) retorna o resto da divisão. Se o resto da divisão por 2 for 0, o número é par.
Representação
| Símbolo | Nome | Função |
|---|---|---|
| ⬭ | Início/Fim | Início ou fim do algoritmo |
| ▱ | Entrada/Saída | Leitura de dados ou exibição de resultados |
| ▭ | Processamento | Execução de uma operação ou cálculo |
| ◇ | Decisão | Avaliação de uma condição (V/F) |
| → | Fluxo | Direcção do fluxo |
Exemplo
Exemplo
SIM
NÃO
Metodologia
Requisitos, compreender o problema.
Arquitectura, algoritmos, estruturas.
Código em C ou outra linguagem.
Depuração, verificação de erros.
Instalação e configuração.
Correcção e evolução.
Processo
Código C
#include <stdio.h>
int main() {
int numero1, numero2, resultado;
printf("Digite o primeiro número: ");
scanf("%d", &numero1);
printf("Digite o segundo número: ");
scanf("%d", &numero2);
resultado = numero1 + numero2;
printf("A soma é: %d\n", resultado);
return 0;
}
scanf("%d", &var) — o & é obrigatório para tipos primitivos; passa o endereço da variável.
Código C
#include <stdio.h>
int main() {
int numero;
printf("Digite um número: ");
scanf("%d", &numero);
if (numero % 2 == 0) {
printf("O número é PAR\n");
} else {
printf("O número é ÍMPAR\n");
}
return 0;
}
if (condição): estrutura de decisão · %: operador módulo · ==: operador de comparação.
Prática
Escreve um pseudocódigo para calcular a média aritmética de três números.
Desenha um fluxograma que lê dois números e exibe o maior deles.
Traduz o pseudocódigo do Exercício 2 para linguagem C. Usa float para decimais.
Síntese
| Tópico | Conceitos-Chave |
|---|---|
| Arquitectura | CPU, memória, I/O, barramentos |
| Tipos de sistemas | Propósito geral vs. embarcados |
| Von Neumann / Harvard | Barramento único vs. separado |
| Algoritmo | Finito, definido, entrada, saída, eficaz |
| Representação | Pseudocódigo e fluxogramas |
| Ciclo de vida | Análise → Projecto → Código → Testes |
| C | Estrutura básica: #include, main(), scanf, printf |
Referências
ALMEIDA, Rodrigo M. A.; MORAES, Carlos H. V.; SERAPHIM, Thatyana F. P.
Programação de Sistemas Embarcados, Elsevier, 2016.
"A programação não é sobre o que sabes, é sobre o que consegues descobrir."