Laboratório de Programação I (EC)

Pegue aqui o enunciado do trabalho final e aqui o arquivo de dados.

Objetivos

O cumprimento da disciplina busca dar ao aluno, ao final do semestre, condições de:

Ementa

Linguagem de programação imperativa e bloco-estruturada: tipos de dados, variáveis, constantes, operadores, expressões, estrutura de um programa, funções, entrada e saída, comandos alternativos, estruturas de controle de fluxo, matrizes, strings, tipos de dados estruturados, subprogramas, arquivos, conjuntos, ponteiros.

Programa

  1. Recursos computacionais e bibliográficos
    1. Sistema Operacional: caracterização e suas funções
    2. Sistema operacional em ambientes de microcomputadores
    3. Sistema operacional de rede: características e principais comandos
    4. Características da rede da PUCRS e forma de trabalhar no laboratório do FACIN/PUCRS
    5. Sistema Aleph: funcionamento do sistema Aleph e acesso ao acervo bibliográfico
  2. Programação básica
    1. Características de uma linguagem imperativa e bloco-estruturada
    2. Estrutura básica de um programa
    3. Tipos de dados
    4. Declaração de variáveis e constantes
    5. Expressões aritméticas: operadores aritméticos e prioridade
    6. Comando de atribuição
    7. Expressões lógicas: operadores lógicos, tabela verdade e prioridade
    8. Comandos de entrada e saída
    9. Estruturas de controle de fluxo: seqüência, seleção, seleção múltipla e repetição
    10. Consistência de Dados
    11. Biblioteca de funções pré-definidas
  3. Programação avançada
    1. Modularidade
      1. Conceitos e vantagens de utilização
      2. Escopo de variáveis: locais e globais
      3. Tipos de subprogramas: procedimentos e funções
      4. Passagem de parâmetros: por valor e por referência
      5. Programação modular: (includes, headers,...)
    2. Tipos de dados estruturados
      1. Registros
      2. Vetores e Matrizes: formalização, manipulação e operações mais comuns
      3. Vetores e Matrizes de Registros
      4. Arquivos texto e binários: formalização, manipulação e operações mais comuns
    3. Ponteiros
      1. Noções Básicas
      2. Alocação Dinâmica

Avaliação

G1 = (P1 + P2 + MT + TF) / 4

Materiais

Materiais da disciplina:
  1. Quer saber comandos pra usar no shell? Veja aqui para o bash. E este lugar também é legal, mas não acredite em aprender as coisas em 10 minutos!
  2. O primeiro programa em C está aqui. Ele dá bom dia.
  3. Um tutorial sobre C está aqui.
  4. Um pequeno guia de comandos Linux está aqui.
  5. Uma lista de exercícios para comandos Linux está aqui.
  6. Uma apresentação sobre programação está aqui.
  7. Uma apresentação sobre linguagens de programação está aqui.
  8. Uma apresentação sobre operações aritméticas está aqui.
  9. Uma apresentação sobre comandos de seleção está aqui.
  10. Uma apresentação sobre expressões lógicas está aqui.
  11. Uma apresentação sobre comandos de seleção múltipla está aqui.
  12. Uma apresentação sobre comandos de repetição está aqui.
  13. Uma apresentação sobre funções está aqui.
  14. Uma apresentação sobre strings está aqui.
  15. Uma apresentação sobre vetores/matrizes está aqui.
  16. Uma apresentação sobre registros está aqui.
  17. Uma apresentação sobre ponteiros está aqui.
  18. Uma lista de exercícios para programar está aqui.
  19. Exercícios e exemplos também estão aqui.
  20. Uma coleção de exercícios interessantes está aqui.
    1. Existe um editor onde você pode tentar a sua solução
    2. Eles apresentam soluções, mas só olhe depois de tentar a sua!!
  21. Uma página com materiais sobre C, inclusive textos dos Grandes Homens Sábios que inventaram a linguagem: aqui.

Livros texto

Livros complementares