Nome da Atividade
PROGRAMAÇÃO DE COMPUTADORES
CÓDIGO
1110182
Carga Horária
68 horas
Tipo de Atividade
DISCIPLINA
Periodicidade
Semestral
Unidade responsável
CRÉDITOS
4
CARGA HORÁRIA TEÓRICA
2
CARGA HORÁRIA PRÁTICA
2
CARGA HORÁRIA OBRIGATÓRIA
4
FREQUÊNCIA APROVAÇÃO
75%
Ementa
Estudo completo de uma linguagem de programação sequencial: estrutura de um
programa, tipos, tipos estruturados e ponteiros, declarações, comandos,
subprogramas, entrada e saída, algoritmos com matrizes, uso de arquivos.
Alocação dinâmica e estruturas de dados lineares. Técnicas e ferramentas para
desenvolvimento de programas. Estilo de codificação: documentação do código,
declaração de dados, construção de instrução.
programa, tipos, tipos estruturados e ponteiros, declarações, comandos,
subprogramas, entrada e saída, algoritmos com matrizes, uso de arquivos.
Alocação dinâmica e estruturas de dados lineares. Técnicas e ferramentas para
desenvolvimento de programas. Estilo de codificação: documentação do código,
declaração de dados, construção de instrução.
Objetivos
Objetivo Geral:
Proporcionar o estudo completo de uma linguagem de programação para oparadigma procedural (sequencial), exercitando as questões fundamentais
decorrentes, tais como a modularização, os tipos de passagem de parâmetros etc. Consolidar o conhecimento do referido paradigma de programação e de uma
linguagem que seja representativa deste paradigma. Consolidar na prática e ampliar
os conhecimentos de lógica de programação, adquiridos em disciplina anterior
Conteúdo Programático
1. Ferramentas para o desenvolvimento de programas: editor, compilador,
depurador, ambientes de desenvolvimento;
2. Estilos de Codificação: documentação do código, declaração de dados,
construção de instrução;
3. Introdução à Linguagem C: características da linguagem C. A Sintaxe de C:
identificadores, tipos básicos, variáveis: declarações e inicializações, constantes,
operadores, ordem de Precedência, expressões: ordem de avaliação. Estrutura de
um Programa em C. Funções Básicas da Biblioteca C: printf(), scanf(), getchar(),
putchar();
4. Comandos de Controle de Fluxo de um Programa: verdadeiro e falso em C,
comandos de seleção: if, ifs aninhados, a escada if-else-if, a expressão condicional
switch; comandos de iteração: o laço for e o laço while; comandos de expressões;
blocos de comandos;
5. Matrizes e Cadeias de Caracteres (strings): matrizes unidimensionais e matrizes
bidimensionais: declaração, limites, inicialização de matrizes; caracteres e strings:
manipulação e principais funções;
6. Ponteiros: conceito de ponteiros e utilidade, operadores para ponteiros,
declaração de variáveis tipo ponteiros, relacionamento entre ponteiros e memória,
expressões com ponteiros, manipulando matrizes com ponteiros;
7. Funções: a forma geral de uma função; regras de escopo de funções;
argumentos de funções (parâmetros formais): chamada por valor, chamada por
referência; o comando return; funções que devolvem valores não-inteiros; protótipos
de funções; retornando ponteiros; funções tipo void; argc e argv: argumentos para
main(); recursão; questões sobre implementação;
8. Estruturas: estruturas, matrizes de estruturas, passando estruturas para funções,
ponteiros para estruturas, matrizes e estruturas dentro de estruturas, campos de
bits, uniões, enumerações, usando sizeof para assegurar portabilidade, typedef;
9. Manipulação de arquivos: E/S ANSI versus E/S UNIX, E/S em C versus E/S em C++, streams e arquivos, streams, arquivos, fundamentos do sistema de arquivos, as streams padrão, o sistema de arquivo tipo UNIX;
10. Noções de estruturas de dados: introdução, estruturas auto-referenciadas, alocação dinâmica da memória, listas encadeadas;
11. Armazenamento e Manipulação de Matrizes Esparsas.
depurador, ambientes de desenvolvimento;
2. Estilos de Codificação: documentação do código, declaração de dados,
construção de instrução;
3. Introdução à Linguagem C: características da linguagem C. A Sintaxe de C:
identificadores, tipos básicos, variáveis: declarações e inicializações, constantes,
operadores, ordem de Precedência, expressões: ordem de avaliação. Estrutura de
um Programa em C. Funções Básicas da Biblioteca C: printf(), scanf(), getchar(),
putchar();
4. Comandos de Controle de Fluxo de um Programa: verdadeiro e falso em C,
comandos de seleção: if, ifs aninhados, a escada if-else-if, a expressão condicional
switch; comandos de iteração: o laço for e o laço while; comandos de expressões;
blocos de comandos;
5. Matrizes e Cadeias de Caracteres (strings): matrizes unidimensionais e matrizes
bidimensionais: declaração, limites, inicialização de matrizes; caracteres e strings:
manipulação e principais funções;
6. Ponteiros: conceito de ponteiros e utilidade, operadores para ponteiros,
declaração de variáveis tipo ponteiros, relacionamento entre ponteiros e memória,
expressões com ponteiros, manipulando matrizes com ponteiros;
7. Funções: a forma geral de uma função; regras de escopo de funções;
argumentos de funções (parâmetros formais): chamada por valor, chamada por
referência; o comando return; funções que devolvem valores não-inteiros; protótipos
de funções; retornando ponteiros; funções tipo void; argc e argv: argumentos para
main(); recursão; questões sobre implementação;
8. Estruturas: estruturas, matrizes de estruturas, passando estruturas para funções,
ponteiros para estruturas, matrizes e estruturas dentro de estruturas, campos de
bits, uniões, enumerações, usando sizeof para assegurar portabilidade, typedef;
9. Manipulação de arquivos: E/S ANSI versus E/S UNIX, E/S em C versus E/S em C++, streams e arquivos, streams, arquivos, fundamentos do sistema de arquivos, as streams padrão, o sistema de arquivo tipo UNIX;
10. Noções de estruturas de dados: introdução, estruturas auto-referenciadas, alocação dinâmica da memória, listas encadeadas;
11. Armazenamento e Manipulação de Matrizes Esparsas.
Bibliografia
Bibliografia Básica:
- SCHILDT, Herbert. C completo e total. 3. ed. São Paulo: Pearson : Makron Books, 2006. 827 p. ISBN 8534605955
- KERNIGHAN, Brian W., RITCHIE, Dennis M. C: a linguagem de programação. Rio de Janeiro: EDISA: Campus, 1986. 208 p. ISBN 8570014104;;
- ASCENCIO, Ana Fernanda Gomes. Fundamentos da programação de computadores: algoritmos, Pascal e C/C++. 2. ed. São Paulo: Pearson Prentice Hall, 2007. 434 p. ISBN 9788576051480
Bibliografia Complementar:
- FOROUZAN, Behrouz A. Computer science a structured programming approach using C. 2. ed. Pacific Grove: Brooks/Cole, 2001. 900 p. ISBN 0534374824
- FRIEDMAN, Daniel P. Fundamentos de linguagem de programação. 2. ed. São Paulo: Berkeley, 2001. 400 p. ISBN 8572516050
- VAREJÃO, Flávio. Linguagens de programação : Java, C e C++ e outras : conceitos e técnicas. Rio de Janeiro: Campus, 2004. 334 p. ISBN 8535213171
- VOLKERDING, Patrick. Programando para linux. São Paulo: Makron Books, 1998. 376 p. ISBN 8534609055
- MITCHELL, John C. Concepts in programming languagens. New York: Cambridge University Press, 2007. 529 p. ISBN 9780521780988