Tem alguma pergunta?
Mensagem enviada. Fechar
Instrutor
Davi
0
0 avaliação

Linguagem C(R7)

Opa, CR7! Prepare-se para mais um desafio, mas dessa vez, o campo é o da programação! Você domina a arte ... Mostrar mais
images.jpg
  • Descrição
  • Currículo
  • Revisões

 

Nome do Curso: Linguagem C(R7)

Público-Alvo:

Jogadores (alunos) iniciantes em programação, sem experiência prévia em C, que desejam entender o funcionamento de computadores em um nível mais baixo, otimizar performance e ter uma base sólida para qualquer outra “liga” de programação. Ideal para quem quer ir além do básico e se tornar um “craque do código”.

Objetivo Geral do Curso:

Capacitar o aluno a entender a lógica de programação, dominar a sintaxe e as estruturas fundamentais da Linguagem C, e desenvolver programas eficientes e de alto desempenho, construindo uma base robusta para qualquer área da ciência da computação.

Metodologia:

Aulas teóricas com exemplos práticos, exercícios de “treino tático” (desafios de codificação), projetos que simulam “jogadas completas” e sessões de “análise de desempenho” (depuração de código). Foco em “mão na massa” e resolução de problemas, assim como você treina no campo.


Conteúdo Programático Detalhado:

MÓDULO 1: O Aquecimento – Os Fundamentos do Campo (Introdução à C)

  • Apresentação da Linguagem C: O que é C, sua história e por que ela ainda é a “bola da vez” para performance e controle.
  • Preparando o Campo de Treino: Configuração do ambiente de desenvolvimento (compiladores como GCC, IDEs como VS Code/Code::Blocks).
  • Sua Primeira Jogada (Hello World!): Escrevendo, compilando e executando seu primeiro programa.
  • Variáveis: Os Jogadores em Campo: Tipos de dados básicos (int, float, char, double, void), declaração e inicialização. Onde cada “jogador” guarda sua “bola” (dado).
  • Entrada e Saída: Comunicação no Campo: Funções printf() (mostrar no telão) e scanf() (receber a bola).

MÓDULO 2: Passes e Estruturas de Decisão – A Tática Básica

  • Operadores: As Ferramentas da Jogada: Aritméticos (+, -, *, /), relacionais (>, <, ==), lógicos (&&, ||, !).
  • Estruturas Condicionais: Tomando Decisões em Campo: if, else if, else (se a defesa estiver fechada, passe; senão, chute a gol!).
  • Comandos de Seleção: Escolhendo a Melhor Posição: switch (drible para a direita, para a esquerda ou corte para o meio).

MÓDULO 3: Repetições e Laços – As Jogadas Ensaiadas

  • Estruturas de Repetição: Treinando a Mesma Jogada Até a Perfeição: for, while, do-while.
  • Controle de Fluxo: Ditando o Ritmo do Jogo: break (parar a jogada), continue (pular para a próxima etapa da jogada).

MÓDULO 4: Funções – As Jogadas Ensaidadas do Mister

  • Conceito de Funções: O que são e por que são importantes: Reutilização de código, modularidade.
  • Declaração, Definição e Chamada de Funções: Criando suas próprias “jogadas”.
  • Passagem de Argumentos: O Passe de Bola entre Funções: Por valor e por referência.
  • Escopo de Variáveis: Onde cada jogador pode atuar no campo. Variáveis locais e globais.

MÓDULO 5: Arrays e Strings – Organizando o Time e a Comunicação

  • Arrays (Vetores): Organizando os Jogadores em Campo: Armazenando múltiplos valores do mesmo tipo.
  • Strings: Mensagens e Nomes: Tratando sequências de caracteres (textos). Funções comuns de string.
  • Arrays Multidimensionais: O Campo de Jogo (Matrizes): Linhas e colunas de dados.

MÓDULO 6: Ponteiros – O CR7 do Código (A Acesso Direto à Memória)

  • Introdução aos Ponteiros: Entendendo Endereços de Memória: Onde a “bola” (dado) realmente está.
  • Operadores de Ponteiro: O que fazer com o Endereço: * (desreferência) e & (endereço de).
  • Ponteiros e Arrays: Uma Dupla Dinâmica: Como ponteiros podem ser usados para navegar em arrays.
  • Ponteiros para Funções: Estratégias Flexíveis de Chamada.
  • Ponteiros e Memória Dinâmica: Alocação e Liberação (Gerenciando o Campo): malloc(), calloc(), realloc(), free(). A responsabilidade de manter o campo limpo e otimizado.

MÓDULO 7: Estruturas e Unions – Montando o Esquema Tático (Tipos de Dados Compostos)

  • Structs: Criando Seus Próprios Tipos de “Jogadores”: Agrupando diferentes tipos de dados em uma única entidade (ex: struct Jogador { char nome[50]; int idade; };).
  • Typedef: Renomeando Tipos para Clareza (Apelidos de Jogador): Simplificando a escrita de códigos complexos.
  • Unions: Otimizando o Espaço (Múltiplas Funções no Mesmo Espaço).

MÓDULO 8: Manipulação de Arquivos – Salvando o Histórico do Jogo

  • Fluxo de Arquivos: Lendo e Escrevendo no “Livro de Registros”: FILE, fopen(), fclose().
  • Leitura e Escrita de Dados: Registrando Gols e Estatísticas: fprintf(), fscanf(), fread(), fwrite().

MÓDULO 9: Estruturas de Dados Essenciais – Ações no Campo

  • Listas Encadeadas: O Passe em Profundidade (Estrutura Dinâmica): Criação, inserção, remoção, percurso.
  • Pilhas (Stack): A Pilha de Bolas para o Chute (LIFO): Implementação e operações (push, pop, peek).
  • Filas (Queue): A Fila para Entrar no Campo (FIFO): Implementação e operações (enqueue, dequeue, peek).

MÓDULO 10: Boas Práticas e Depuração – O Fair Play e a Análise de Desempenho

  • Estilo de Código: Mantendo o Campo Limpo e Organizado.
  • Comentários: Explicando as Jogadas.
  • Depuração (Debugging): Achando os Erros no Campo (o “Bug”). Usando ferramentas para encontrar e corrigir falhas.
  • Introdução a Bibliotecas Padrão: math.h, string.h, time.h, etc.

Projeto Final:

“Simulador de Gerenciamento de Elencos de Futebol”: O aluno aplicará todos os conhecimentos adquiridos para criar um programa em C que gerencie jogadores (usando structs), organize-os em pilhas ou filas (escalação de reserva, fila para o treino), salve estatísticas em arquivos, e simule algumas interações básicas. Um verdadeiro teste de como você dominou o campo e o código!”

Materiais de curso