Вы находитесь на странице: 1из 17

Programação

de Computadores
Orientada para
Resolução de problemas

Luís Antunes e Pedro Rodrigues

1
Objectivos
Pretende-se que o aluno:
„ aprenda a programar de forma rigorosa numa
linguagem imperativa, o C.
„ fique a conhecer algumas técnicas de programação.
„ fique a conhecer alguns algoritmos básicos.
„ adquira bons hábitos de programação.

2
Programa
1. Introdução aos algoritmos e às linguagens de programação.
2. A linguagem C.
„ Instrução de atribuição. Instruções de entrada e de saída de
inteiros e de cracteres. Instruções de ciclo. Funções. Caracteres
e seu processamento. Redireccionamento dos comandos no
Unix como um método de ler de ficheiros/escrever em ficheiros.
„ Definição de constantes através de "macros". Vectores,
"strings" e matrizes. Apontadores. Passagem de parâmetros.
Protótipos de funções.
„ Leitura e escrita em ficheiros.
3. Alguns algoritmos, análise da sua correcção e eficiência.
4. Discussão dos princípios da boa programação, incluindo a análise
de programas específicos.

3
Bibliografia

1. H. M. Deitel and P. J. Deitel, C: How to program,


(Second Edition), Prentice-Hall, 1994. B. Kernighan
2. and D. Richie The C Programming Language
(Second Edition), Prentice Hall, 1988.
3. K. N. King, C Programming, a Modern Approach,
Norton, 1996.
4. Linux: www.tldp.org/LDP/intro-linux/intro-linux.pdf
5. Sintaxe do C: en.wikipedia.org/wiki/C_syntax
6. Livro de C: publications.gbdirect.co.uk/c_book/

4
Avaliação
„ Avaliação contínua:
„ Dois mini-testes práticos (2.5 valores cada)
„ Exame final (15 valores)

5
Algoritmo vs Programa
„ Um algoritmo para preparar um bolo
1. Aqueça o forno a C
2. Unte uma forma redonda
3. Numa taça
1. bata
75g de manteiga
250g de açucar
até ficar cremoso
2. Junte
4ovos, um a um
100g de chocolate derretido
3. Adicione aos poucos 250g de farinha peneirada
4. Deite a massa na forma
5. Leve ao forno durante 40 minutos

6
Algoritmo vs Programa
„ Linguagem de programação

„ Precisa e exacta

„ Conjunto de primitivas

„ Sintaxe: a sua representação simbólica

„ Semântica: o conceito que ela representa

„ Regras de agrupamento de primitivas

7
Algoritmo vs Programa
„ Algoritmo
Conjunto finito ordenado de passos executáveis e não ambíguos
que define um processo que termina.
(Admite várias representações…)

„ Programa
1 - Uma representação de um algoritmo
2 - Escrito numa sintaxe exacta de uma linguagem de
programação

„ Processo
Execução de um programa

8
Algoritmo vs Programa
„ Resolução de problemas por computador:
1. Construção e representação de um algoritmo
1. Entender o problema

2. Encontrar um procedimento algorítmico

„ Sequência de passos elementares

„ Dividir o problema em sub-problemas e para cada um deles aplicar o


item anterior

2. Representação do algoritmo por um programa

3. Avaliar a correcção do programa

9
Pseudo código
„ Ver folha.

10
Exemplo I
„ Escrever um programa que dados dois
inteiros distintos indique qual o maior.

11
Exemplo I
„ Escrever um programa que dados dois
inteiros distintos indique qual o maior.
ler(n1);
ler(n2);
se (n1>n2) então {
escreva(n1);
}
senão {
escreva(n2);
}
12
Exemplo II
„ Escrever um programa que dados dois
inteiros indique se são iguais ou qual o
maior.

13
Exemplo II
„ Escrever um programa que dados dois inteiros indique
se são iguais ou qual o maior.
ler(n1);
ler(n2);
se (n1=n2)então {
escreva(“São iguais”);
}
senão {
se (n1>n2) então {
escreva(n1);
}
senão {escreva(n2);}
}

14
Exemplo III
„ Escrever um programa que diga se um
inteiro dado é um número par.
(Obs. Use o operador % que retorna o resto da divisão, ex: 7%3=1)

15
Exemplo III
„ Escrever um programa que diga se um
inteiro dado é um número par.
(Obs. Use o operador % que retorna o resto da divisão, ex: 7%3=1)

ler(n);
se (n%=2) então {
escreva(n,”é par”);
}
senão {
escreva(n,”é impar”);
}

16
Exercícios
„ Escrever um programa que:
„ Peça ao utilizador para introduzir dois inteiros e a
sua soma
„ Calcule a soma dos dois inteiros
„ Se o valor fornecido pelo utilizador estiver correcto,
o programa deve imprimir uma mensagem de
felicitações, senão deve informar o utilizador que o
resultado está errado.
„ Modificar o programa de modo a que quando a
soma dada pelo utilizador estiver errada lhe
seja dado o resultado correcto.
17

Вам также может понравиться