Cronograma
- 6 de agosto:
Informações gerais.
Histórico.
Computador a papel.
- 8 de agosto:
Problema 2.1: Dada uma seqüência de números diferentes de zero,
seguida por zero, imprimir a sua soma.
Idéia de esquema estruturado. Introduzir comando
faça-enquanto. Simular.
Variante com produto ao invés da soma.
Rápida descrição sobre linguagem de máquina e linguagem de montagem
usando HIPO e HAL. Montador x Compilador.
Problema 2.2: Dada uma seqüência de números diferentes de zero,
seguida por zero, imprimir a sua soma dos negativos.
Introduzir comando se-então. Simular.
Problema 2.3: Dada uma seqüência de números diferentes de zero,
seguida por zero, imprimir a sua soma dos pares.
Introduzir operador MOD para checar se um número é par.
- 13 de agosto:
Problema 3.1: Dada uma seqüência de números diferentes de zero,
seguida por zero, imprimir a sua soma dos pares e a soma dos ímpares.
Introduzir comado se-então-senão.
Problema 3.2: Dado um número natural n e um número inteiro a,
calcular a^n.
Introduzir a idéia de contador. Introduzir comando
enquanto-faça. Simular.
Problema 3.3: Dado um numero natural N e uma seqüência de N números
inteiros, determinar o menor número da seqüência.
Simular. Mesma coisa para calcular o menor e o maior ao mesmo
tempo.
- 15 de agosto:
Problema 4.1: Dados três números, imprimí-los em ordem
crescente.
Problema 4.2: Dados dois números inteiros positivos a e b, b não
nulo, determinar a parte inteira da divisão de a por b através de
subtrações sucessivas.
Problema 4.3: Dados dois números inteiros positivos a e b, calcular
o mdc(a,b) usando o método de Euclides.
- 20 de agosto:
Introduzir C.
Traduzir o algoritmo do Problema 4.3 para C.
- 22 de agosto:
Problema 6.1: Dado o natural n, gerar o n-ésimo número de
Fibonacci.
Escrever o algoritmo do Problema 5.1 em C.
Problema 6.2: Dado um número b e um número N na base b (ou seja, os
dígitos são todos entre 0 e b-1), calcular N na base 10.
Escrever o algoritmo do Problema 6.1 em C.
- 27 de agosto:
Problema 7.1: Dados três números i, j, k, imprimir os k primeiros
naturais que são múltiplos de i ou de j.
Escrever o algoritmo do Problema 6.1 em leal e C.
Introduzir condições compostas. Tabela de precedência de todos os
operadores.
- 29 de agosto:
Problema 8.1: Dada uma frase terminada por '.', contar o número de
vogais da frase.
Introduzir caracteres.
Escrever o algoritmo do Problema 8.1 em leal e C.
Problema 8.2: Dado uma frase terminada por '.', determinar o
comprimento da palavra mais longa.
Entregar e discutir o EP1.
- 10 de setembro:
Problema 9.1: Dado um inteiro N e uma seqüência de N números,
determinar a sua soma, e se a seqüência é crescente ou não.
Introduzir o conceito de indicador de passagem.
Problema 9.2: Dado um número N, determinar se N é primo.
Problema 9.3: Dado um número N, determinar a decomposição em fatores
primos de N.
Repetições encaixadas.
- 12 de setembro:
Introduzir variáveis reais.
Problema 10.1: Dado um inteiro k, calcular o valor de S_k = 1/k +
2/(k-1) + 3/(k-2) + 4/(k-3) + ... + k/1.
Introduzir o comando for.
Problema 10.2: Dados dois reais x e eps, calcular uma aproximação de
e^x atraves da série e^x = 1 + x = x^2/2! + ... com precisão eps, isto é,
somar todos os termos até aparecer um termo menor que eps.
- 17 de setembro:
Introduzir funções.
Problema 11.1: Dados dois números reais x e y e dois inteiros a e b,
calcular x^a + y^b + (x-y)^(a+b).
Problema 11.2: Escrever uma função para calcular e^x, como na aula
passada.
- 19 de setembro:
Problema 12.1: (a) Escreva uma função que calcula o fatorial de um
número n. (b) Escreva uma função que utiliza a função anterior para
calcular o binomial de m n a n, ou seja, C(n,m). (c) Escreva um programa
para calcular os coeficientes de (a+b)^n.
Introduzir o conceito de vetores.
Problema 12.2: Dado um número N e N lançamentos de uma roleta
(números de 0 a 36), calcular a freqüência de cada número.
- 24 de setembro:
Problema 13.1: Exercício 4.9 do Caderno de Exercício.
Problema 13.2: Dado N e uma seqüência de N números inteiros,
imprimi-la em ordem crescente.
Entregar e discutir o EP2.
- 26 de setembro:
Resolver o Problema 13.2 de outra forma.
Problema 14.1: Exercício 4.7 do Caderno de Exercício.
Problema 14.2: Exercício 4.18 do Caderno de Exercício.
- 1 de outubro:
Exercício 4.7 do Caderno de Exercício
resolvido.
Problema 15.1: Exercício 4.18 do Caderno de Exercício.
Problema 15.2: Exercício 4.12 do Caderno de Exercício.
Problema 15.3: Exercício 4.16 do Caderno de Exercício.
- 3 de outubro:
Primeira prova.
- 8 de outubro:
Problema 16.1: Escreva uma função que calcula o valor de um
polinômio em um ponto.
Passagem de vetor como parâmetro.
Problema 16.2: Escreva um programa que, dado um polinomio p(x) de
grau n e dois pontos x0 e x1, calcula o valor de p(x0), p(x1), p'(x0),
p'(x1), p''(x0), p''(x1).
- 10 de outubro:
Problema 17.1: Exercício 6.12 do Caderno de Exercício.
Problema 17.2: Exercício 6.5 do Caderno de Exercício.
Devolução do EP1 e entrega da nota da primeira prova.
- 15 de outubro:
Introduzir o conceito de matrizes.
Problema 18.1: Exercício 4.16 do Caderno de Exercício, usando
matrizes.
Entregar e discutir o EP3.
- 17 de outubro:
Problema 19.1: Exercício 5.3 do Caderno de Exercício.
Problema 19.2: Exercício 5.9 do Caderno de Exercício.
- 22 de outubro:
Introduzir o conceito de passagem de parâmetros por endereço.
Problema 20.1: Exercício 6.19 do Caderno de Exercício.
- 24 de outubro:
Continuação da resolução do Problema 20.1.
Problema 21.1: Dada uma seqüência ordenada de N números, e um número
X, verificar se X aparece ou nao na seqüência usando o método de busca
binária.
- 29 de outubro:
Introduzir o conceito de string.
Problema 22.1: Dada uma listaa de N nomes em ordem alfabética, e
um nome X, verificar se X aparece na lista ou não usando busca binária.
- 31 de outubro:
Problema 22.1 resolvido.
Problema 23.1: Uma elaboração do Exercício 6.19 do Caderno de
Exercício.
- 5 de novembro:
Simulação: Exercício 6.23 do Caderno de Exercício.
Introdução do conceito de variáveis booleanas.
- 7 de novembro:
Simulação: Exercício 6.21 do Caderno de Exercício.
Variáveis globais.
Entregar o EP4.
- 12 de novembro:
Provinha.
- 14 de novembro:
Comentários sobre a provinha.
Problema 24.1: Exercício 7.1 do Caderno de Exercício.
- 19 de novembro:
Problema 25.1: Exercício 7.2 do Caderno de Exercício.
Introdução do conceito de fila.
- 21 de novembro:
Problema 26.1: Exercício 7.4 do Caderno de Exercício.
Introdução do conceito de pilha.
- 26 de novembro:
Revisão para a prova.
- 28 de novembro:
Segunda prova.
- 5 de dezembro:
Terceira prova.
Last modified: Fri Jan 23 10:50:51 EDT 1998