Академический Документы
Профессиональный Документы
Культура Документы
de Computadores
Orientada para
Resolução de problemas
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
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
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
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