Algoritmos e Lógica de Programação
Dê os seus primeiros passos na programação, entenda a estrutura básica de um programa em C e a manipulação de variáveis na memória.
O que é um Algoritmo?
Diferente do que muitos pensam, algoritmos não são um bicho de sete cabeças. No nosso dia a dia, realizamos tarefas complexas de forma mecânica e lógica. De forma simples, um algoritmo é uma sequência de instruções organizadas logicamente para realizar uma tarefa ou resolver um problema.
Para que um conjunto de passos seja considerado um algoritmo, ele precisa respeitar duas regras fundamentais:
- Ser Finito: Ele obrigatoriamente precisa terminar em algum momento.
- Ser Ordenado: A sequência lógica de passos deve ser rigorosamente estruturada. Passos fora de ordem quebram a lógica.
Exemplo Prático: Troca de uma Lâmpada
Veja como representamos de forma lógica o ato cotidiano de trocar uma lâmpada queimada:
- 1. Pegar uma escada;
- 2. Posicionar a escada embaixo da lâmpada queimada;
- 3. Buscar uma lâmpada nova;
- 4. Subir na escada;
- 5. Retirar a lâmpada velha;
- 6. Colocar a lâmpada nova.
Como Representar Algoritmos?
Existem três formas clássicas de representação estrutural para soluções algorítmicas:
| Forma | Descrição | Exemplo |
|---|---|---|
| Descrição Narrativa | Uso de texto livre (linguagem natural) para descrever a tarefa passo a passo. | "Abra a torneira, lave as mãos..." |
| Fluxograma | Representação puramente visual e gráfica utilizando símbolos geométricos conectados. | Caixas de processo, losangos de decisão, setas indicando fluxo. |
| Código de Programação | Tradução dos passos para a sintaxe lógica de uma linguagem de computador. | Instruções em C, Java, Python, etc. |
Estrutura Padrão de um Programa em C
A Linguagem C, criada na década de 70 por Dennis Ritchie, é estruturada, de alto desempenho e serve de base para diversas tecnologias modernas. Todos os nossos programas escritos em C utilizaremos uma estrutura padrão:
#include <stdio.h> // Biblioteca padrão de entrada e saída (Standard Input Output) int main() { // Função principal que delimita o início do programa printf("Ola Mundo!\n"); // Imprime uma mensagem na tela. \n pula uma linha return 0; } // Fecha o escopo da função principal
Variáveis e Manipulação de Memória
Para manipularmos dados, precisamos que o computador reserve pequenos "espaços" em sua memória. Essas posições de memória, conceito raso e didático (que será aprofundado posteriormente), apelidadas com nomes em letras minúsculas, são chamadas de Variáveis.
Em C, é mandatório declarar o tipo de dado da variável antes de utilizá-la. Os principais tipos primitivos são:
- int: Para números inteiros (ex: idade, quantidade de lâmpadas).
- float / double: Para números decimais com casas de precisão (ex: salários, pesos, altura).
- char: Armazena um único caractere envolto em aspas simples.
A linguagem C também é Case Sensitive, o que significa que letras maiúsculas e minúsculas criam variáveis diferentes (ex: idade é diferente de Idade).
Declarando e Atribuindo Valores:
#include <stdio.h> int main() { int quantidade; // Declarando variável de tipo inteiro quantidade = 20; // O operador "=" atribui o valor 20 à variável à esquerda float peso = 64.0; // Declaração e atribuição simultânea // Exibindo na tela: printf("Temos %i itens e o peso e %f kg\n", quantidade, peso); // %i para inteiro, %f para float return 0; }
Guia de Exercícios Resolvidos
Domine a lógica praticando. Abaixo estão os códigos baseados nas soluções discutidas em aula:
Calculadora de Litros de Água
Calcula a ingestão ideal de água baseando-se no peso corporal (peso * 0.04).
#include <stdio.h>
int main() {
float peso = 64.0;
float litros = peso * 0.04;
printf("Beber %f L por dia\n", litros);
return 0;
}
Valor da Hora de Trabalho
Determina o valor ganho por hora de trabalho considerando 160 horas no mês.
#include <stdio.h>
int main() {
float salario = 3000.00;
float valorHora = salario / 160;
printf("Hora: R$ %f\n", valorHora);
return 0;
}
Média Ponderada de LP
Calcula a Média Final da disciplina de LP (pesos: 70% Prova e 30% Trabalho).
#include <stdio.h>
int main() {
float P1=8.0, T1=7.0, P2=9.0, T2=8.0;
float MB1 = (P1*0.7) + (T1*0.3);
float MB2 = (P2*0.7) + (T2*0.3);
float MF = (MB1 + MB2) / 2;
printf("Media Final: %f\n", MF);
return 0;
}
Cálculo de Hora Extra (50%)
Recebe o valor hora, a quantidade de horas extras e calcula o salário com 50% extra.
#include <stdio.h>
int main() {
float valorHora = 10.0;
int qtdHorasExtras = 10;
float valorHoraExtra = valorHora * 1.5;
float salRegular = valorHora * 160;
float salExtra = qtdHorasExtras * valorHoraExtra;
float total = salRegular + salExtra;
printf("Salario Total: R$ %f\n", total);
return 0;
}
Materiais Complementares de Apoio
Slides: Introdução à Linguagem C
Baixe os slides didáticos com conceitos de algoritmos e a estrutura básica de um programa em C.
Vídeo: Resumo da Aula 1
Assista a um vídeo explicativo com o resumo dos tópicos e práticas desta primeira aula.
Repositório de Código Fonte
Explore, acesse e faça o download de todos os códigos-fonte de exemplo e exercícios estruturados nesta trilha.