Laboratório de Programação I (EC)
Objetivos
O cumprimento da disciplina busca dar ao aluno, ao
final do semestre, condições de:
- Conhecer aspectos básicos de operação de um sistema operacional
e seus principais comandos.
- Conhecer a infra-estrutura e o funcionamento dos recursos
computacionais e bibliográficos da universidade.
- Codificar algoritmos utilizados para solução de problemas
através do conhecimento dos recursos de uma linguagem de
programação imperativa e bloco-estruturada.
- Demonstrar habilidades cognitivas e sociais intrínsecas num
projeto de trabalho inter e multidisciplinar.
- Aplicar o processo de solução de problemas através do
desenvolvimento de programas de computador utilizando uma linguagem
de programação.
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
- Recursos computacionais e bibliográficos
- Sistema Operacional: caracterização e suas funções
- Sistema operacional em ambientes de microcomputadores
- Sistema operacional de rede: características e principais
comandos
- Características da rede da PUCRS e forma de trabalhar no
laboratório do FACIN/PUCRS
- Sistema Aleph: funcionamento do sistema Aleph e acesso ao
acervo bibliográfico
- Programação básica
- Características de uma linguagem imperativa e
bloco-estruturada
- Estrutura básica de um programa
- Tipos de dados
- Declaração de variáveis e constantes
- Expressões aritméticas: operadores aritméticos e
prioridade
- Comando de atribuição
- Expressões lógicas: operadores lógicos, tabela verdade e
prioridade
- Comandos de entrada e saída
- Estruturas de controle de fluxo: seqüência, seleção, seleção
múltipla e repetição
- Consistência de Dados
- Biblioteca de funções pré-definidas
- Programação avançada
- Modularidade
- Conceitos e vantagens de utilização
- Escopo de variáveis: locais e globais
- Tipos de subprogramas: procedimentos e funções
- Passagem de parâmetros: por valor e por referência
- Programação modular: (includes, headers,...)
- Tipos de dados estruturados
- Registros
- Vetores e Matrizes: formalização, manipulação e operações
mais comuns
- Vetores e Matrizes de Registros
- Arquivos texto e binários: formalização, manipulação e
operações mais comuns
- Ponteiros
- Noções Básicas
- Alocação Dinâmica
Avaliação
G1 = (P1 + P2 + MT + TF) / 4
Materiais
Materiais da disciplina:
- 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!
- O primeiro programa em C está aqui.
Ele dá bom dia.
- Um tutorial sobre C está aqui.
- Um pequeno guia de comandos Linux está aqui.
- Uma lista de exercícios para comandos Linux está aqui.
- Uma apresentação sobre programação está aqui.
- Uma apresentação sobre linguagens de programação está
aqui.
- Uma apresentação sobre operações aritméticas está aqui.
- Uma apresentação sobre comandos de seleção está aqui.
- Uma apresentação sobre expressões lógicas está aqui.
- Uma apresentação sobre comandos de seleção múltipla está aqui.
- Uma apresentação sobre comandos de repetição está aqui.
- Uma apresentação sobre funções está aqui.
- Uma apresentação sobre strings está aqui.
- Uma apresentação sobre vetores/matrizes está aqui.
- Uma apresentação sobre registros está aqui.
- Uma apresentação sobre ponteiros está aqui.
- Uma lista de exercícios para programar está aqui.
- Exercícios e exemplos também estão aqui.
- Uma coleção de exercícios interessantes está aqui.
- Existe um editor onde você pode tentar a sua solução
- Eles apresentam soluções, mas só olhe depois de tentar a
sua!!
- Uma página com materiais sobre C, inclusive textos dos
Grandes Homens Sábios que inventaram a linguagem: aqui.
Livros texto
- DAMAS, Luís Manuel Dias. Linguagem C. 10 ed. Rio de
Janeiro: LTC, 2007.
- DEITEL, Harvey M. e DEITEL, Paul J. Como programar em C.
Rio de Janeiro: LTC, 1999.
- SCHILDT, Herbert. C: completo e total. São Paulo: Makron
Books, 2008.
Livros complementares
- BRAMER, Brian e BRAMER, Susan. C for engineers. London:
Arnold, 1997.
- HANLY, Jery R. et al. C program design for engineers.
Reading: Addison-Wesley, 1995.
- KERNIGHAN, Brian W. e RITCHIE, Dennis M. C: a linguagem de
programação. Rio de Janeiro: Campus, 1989.
- PETERSEN, Richard. Linux: the complete reference.
Berkeley, CA: Osborne McGraw-Hill, 1996.
- WELSH, Matt. Dominando o Linux. Rio de Janeiro: Ciência
Moderna, 1997.