CI055: Algoritmos e Estruturas de Dados I
- Disciplina: CI055 - Algoritmos e Estruturas de Dados I
- Carga Horária (horas): 60h
- Pré-requisito: nenhum
- Professor: Carlos A. Maziero
- Monitores (2016/1):
- Katriny Zamproni: 6ª de 13h30 a 15h30
- Clariane Menezes: 2ª e 4ª de 10h a 13h (doutoranda, estágio de docência)
- Cronograma e avaliação: consultar a página geral da disciplina
- Notas das provas (2016/1)
Objetivos
Capacitar o estudante a compreender o modelo de programação dos computadores atuais e a desenvolver programas usando técnicas elementares de algoritmos e estruturas de dados sobre este modelo. Capacitar o aluno a desenvolver soluções simples e eficazes para problemas diversos que podem ser resolvidos com as técnicas elementares, sempre considerando a noção de eficiência dos códigos desenvolvidos.
Ementa
Características básicas do computador. Representação e aritmética binária. Algoritmos. Representação de dados. Introdução a uma linguagem de programação. Solução de problemas simples por computadores.
Conteúdo
- Breve histórico e noções dos componentes de um computador. Modelo de Von Neumann.
- Introdução ao Pascal:
- Estrutura básica de um programa em PASCAL.
- Comandos simples, comandos de atribuição, comandos de entrada e saída.
- O compilador PASCAL.
- Um primeiro programa em PASCAL.
- Como compilar este programa nos laboratórios do Departamento de Informática.
- Expressões lógicas e aritméticas.
- Comandos de desvio, de repetição e aninhamento de comandos.
- Subprogramas. Procedimentos, escopo de variáveis, passagem de parâmetro (por valor e por referência), funções e procedimentos.
- Vetores unidimensionais e multidimensionais, strings. Algoritmos de ordenação e de pesquisa.
- Resolução de problemas computacionais por refinamentos sucessivos.
Metodologia
- Teoria: aulas expositivas, com análise e discussão dos temas propostos.
- Prática: atividades referentes aos temas abordados nas aulas teóricas.
Bibliografia
Básica:
- Castilho, M.A., Silva, F., Weingaertner, D. Algoritmos e Estruturas de Dados 1. UFPR, 2015.
- Medina, M.A., Fertig, C., Algoritmos e Programação: Teoria e Prática. Novatec, 2005.
- Carvalho,S., Introdução à Programação com Pascal. Editora Campus, 1984.
Complementar:
- Wirth, N., Programação Sistemática em Pascal. Editora Campus, 1983.
- Salveti, D. D., Barbosa, L.M., Algoritmos. Makron Books, 1998.
- Mecler, I., Maia, L.P., Programação e Lógica com Turbo Pascal. Ed. Campus, 1989.
- Knuth, D. E, The Art of Computer Programming. Addison Wessley, 1999.
- Farrer, H., e outros, Pascal Estruturado. Editora Guanabara Dois, 1988.
- Tremblay, P., Ciência dos Computadores. McGraw-Hill.
Material de apoio
Programação:
- Guia de referência da Linguagem Pascal. UFPR, 2009
- Introdução à Linguagem Pascal. C. Maziero, 1997
Programação online:
UNIX/Linux:
- Excelente guia de BASH
Editores:
Podem ocorrer mudanças nesta página, com a devida divulgação prévia aos alunos.