Programação Imperativa

Aula 1

Índice

Objectivos da disciplina
Professores
Bibliografia
Regras de avaliação
Programa
Recomendação para os alunos

Descrição e objectivos da disciplina

Esta é uma disciplina de introdução à computação e programação. Na primeira semana de aulas iremos dar uma prespectiva global sobre as várias facetas do mundo da computação. Daremos as noções de hardware, software, sistema operativo, linguagens de programação, compiladores, programas de aplicação, a Internet e a sua utilização.

O resto das aulas vai incidir sobre os fundamentos de programação de computadores. Como linguagem de programação iremos usar a linguagem C mas os conceitos que vão aprender aplicam-se a quase todas as linguagens de programação. No final, os alunos devem saber os fundamentos de programação e ser capazes de escrever programas simples em C. A disciplina não requer conhecimentos prévios na área de informática.

O estilo de programação que iremos estudar é denominado de Programação Imperativa. Mais tarde, noutras disciplinas, irão estudar outros estilos de programação, nomeadamente Programação Funcional, Programação em Lógica, e Programação Orientada a Objectos.

Professores

NOME
E-MAIL
HORÁRIO DE DÚVIDAS
Fernando Lobo
flobo arroba ualg ponto pt
4ª das 11:00-12:00
Ed. 1 - sala 1.64
Álvaro Barradas
abarra arroba ualg ponto pt
3ª, 4ª, 5ª, das 10:30-12:00
Ed. 1 - sala 2.57 ou 2.77

Os alunos devem tirar as suas dúvidas nas aulas. Caso as dúvidas persistam, devem utilizar a mailing list. Se mesmo assim continuarem a ter dúvidas, devem contactar os docentes no horário referido acima.

Bibliografia

Os dois primeiros livros assumem que os os leitores não têm conhecimentos prévios em programação. Para os alunos nesta situação, recomendo que comprem um dos dois consoante estejam mais ou menos à vontade com a língua inglesa. Ambos os livros cobrem mais matéria do que aquela que iremos dar durante o semestre, mas o conteúdo extra será útil para aprofundarem os vossos conhecimentos.

O livro de Kerninghan & Ritchie é um clássico (foram eles que inventaram a linguagem C). É o melhor livro de C que existe mas assume que os leitores sabem os conceitos básicos da programação. Recomendo que comprem este livro no final da disciplina.

Regras de avaliação

As últimas 3 aulas práticas serão destinadas para a realização do vosso trabalho prático.

Programa

Apresentação, descrição e objectivos da disciplina.
Noções introdutórias sobre computadores: tipos de computadores, componentes de um computador, características de um computador, sistema operativo, linguagens de programação, compiladores, programas de aplicação.
Noções sobre o sistemas operativo Linux na óptica do utilizador. Noções e utilização da Internet.
Noções básicas de programação: constantes, variáveis, expressões, operadores, instrução de atribuição, instruções de input/output, funções pré-definidas.
Noções de programação estruturada: sequência, selecção, iteração.
Instruções de selecção: if, if-else, switch.
Instruções de iteração: for, while, e do-while loops.
Funções e procedimentos, parâmetros formais e parâmetros actuais.
Recursividade.
Vectores e matrizes: arrays de uma e duas dimensões.
Caracteres e cadeias de caracteres.
Estruturas e definição de novos tipos de dados.
Noção de algoritmo. Algoritmo de ordenação simples. Algoritmo de pesquisa sequencial e de pesquisa binária.
Apontadores. Passagem de parâmetros.
Ficheiros de texto.

Recomendação para os alunos

A programação de computadores não é difícil. Pelo contrário, é uma tarefa relativamente fácil e divertida que envolve apenas meia dúzia de conceitos. No entanto, requer um tipo de raciocínio a que as pessoas normalmente não estão muito habituadas. Como tal, trata-se de uma tarefa que exige bastante prática e por isso recomendo que treinem bastante fora do horário das aulas.

Boa sorte!


Fernando Lobo