Programação Básica de Computadores – 2013/1
Ementa: Introdução à construção de algoritmos. Tipos de dados elementares e estruturados. Estruturas de controle. Modularização de programas: unidades de programação e passagem de parâmetros. Estudo da linguagem de programação procedural C.
Objetivo: Trabalhar com o estudante em início de curso os conceitos de programação, usando como ferramenta a linguagem de programação procedural C. O aluno deve desenvolver a capacidade de construir algoritmos de forma organizada e estruturada utilizando esta linguagem de programação.
Metodologia: Aulas expositivas, aulas de exercícios e laboratório.
Dia/horário das aulas: terça-feira de 7h às 9h; quinta-feira de 7h às 10h.
Local: Ufes, CT-2, sala 1 (aulas teóricas) / LCEE/sala 16 (aulas de laboratório)
Carga horária semestral: 75 horas.
Mais informações:
- Programa detalhado;
- Sistema de avaliação;
- Bibliografia;
- Cronograma / datas importantes;
- Download de material do curso (slides, exercícios, etc.);
- Agende um horário para atendimento.
Programa detalhado
- Conceitos básicos:
- Introdução à computação;
- Algoritmos: narrativa, fluxogramas e pseudocódigo;
- Tipos básicos de dados: numéricos, literais, lógicos;
- Programação estruturada em pseudocódigo:
- Variáveis: sistemas de numeração, armazenamento e utilidade;
- Operadores: aritméticos, lógicos, relacionais e literais;
- Expressões: escrita e avaliação;
- Instruções primitivas: atribuição, entrada e saída de dados;
- Controle do fluxo de execução: condicionais e laços;
- Programação estruturada em C:
- Apresentação do ambiente de programação;
- Padrão de documentação para escrita de programas;
- Variáveis e tipos de dados: char, int, float, void, double;
- Elementos básicos: operadores, expressões, controle de fluxo;
- Entrada e saída de dados: scanf, printf;
- Sub-programas e funções:
- Funções e procedimentos: declaração e uso;
- Passagem de parâmetros e retorno de funções;
- Argumentos de linha de comando: a função main();
- Funções recursivas;
- Tipos de dados compostos:
- Tipos definidos pelo usuário;
- Sequências armazenadas em memória (vetores);
- Cadeia de caracteres (string);
- Vetores bidimensionais (matrizes);
- Manipulação de arquivos:
- Comandos para leitura de arquivos pelo programa;
- Comandos para escrita de arquivos pelo programa;
- Uso de bibliotecas de função:
- Utilização de bibliotecas já disponíveis na linguagem;
- Criação de bibliotecas;
- Tipos abstratos de dados (opcional/avançado).
Sistema de avaliação
A avaliação será constituída de 3 provas (P1, P2 e P3) valendo 10 cada e 1 trabalho computacional (T) valendo 10. A nota parcial será obtida com a seguinte fórmula:
Sendo que maior(P2, P3) significa a maior nota dentre as duas provas. Alunos que obtiverem nota parcial igual ou superior a 7 não farão prova final, tendo sua nota final igual à nota parcial. Demais alunos terão sua nota final calculada pela média aritmética simples entre a nota parcial e a nota da prova final e deverão obter nota final igual ou superior a 5 para serem aprovados.
Nota: o aluno que tiver mais de 25% (vinte e cinco por cento) de faltas, contadas em relação ao número de aulas previstas para a disciplina, será privado do direito de prestar exame final e estará, independentemente de qualquer outra condição, reprovado. (Art. 51 Regimento CT, art. 104 Regimento Geral Ufes)
Bibliografia
Livros:
- W. L. C. Saliba. Técnicas de Programação: Uma Abordagem Estruturada. Pearson / Makron Books, 1993;
- P. Silveira, A. Almeida. Lógica de Programação. Casa do Código, 2013;
- H. Schildt. C Completo e Total, 3ª edição. Pearson / Makron Books, 1997;
- D. M. Ritchie, B. W. Kerningham. C: A Linguagem de Programação Ansi. Campus/Elsevier, 1989;
- N. A. C. Lages, A. M. Guimarães. Algoritmos e Estruturas de Dados. LTC, 1994.
Materiais disponíveis online:
Cronograma / Datas importantes
O período 2013/1 inicia em 16/05/2013 e termina em 11/09/2013. A semana de provas finais 2003/1 vai de 12 a 18/09/2013. A tabela abaixo resume eventos importantes durante o curso. O programa de aulas com o cronograma completo do curso é exibido em seguida.
Data | Descrição |
---|---|
21/05/2013 | Não haverá aula |
23/05/2013 | Não haverá aula |
30/05/2013 | Não haverá aula |
02/07/2013 | Prova parcial 1 |
06/08/2013 | Prova parcial 2 |
02/09/2013 | Prazo para entrega do trabalho |
03/09/2013 | Prova parcial 3 |
10/09/2013 | Não haverá aula |
Download de material
- Lista de exercícios 01 (programação básica): lista / resolução;
- Especificação do trabalho prático;
- Lista de exercícios 02 (subrotinas): lista / resolução;
- Lista de exercícios 03 (vetores e ponteiros): lista / resolução;
- Lista de exercícios 04 (estruturas de dados): lista / resolução;
- Simulado para Prova Parcial 2;
- Lista de exercícios 05 (manipulação de arquivos): lista / arquivos de entrada / resolução;
- Lista de exercícios 06 (bibliotecas de função): lista / resolução;
- Sobre a correção automática de trabalhos.
Planos de aula:
- Aula 01: Apresentação, algoritmos e tipos de dados;
- Aula 02: Variáveis;
- Aula 03: Expressões;
- Aula 04: Instruções primitivas;
- Aula 05: Controle do fluxo de execução;
- Aula 06: Tutorial rápido de C;
- Aula 07: Sub-rotinas;
- Aula 08: Vetores e ponteiros;
- Aula 09: Estruturas de dados;
- Aula 10: Manipulação de arquivos;
- Aula 11: Bibliotecas de função;
- Curso rápido de C: slides / exemplos de TAD;
- Laboratório 01: Lógica de programação.