MAC 115 - Introdução à Computação
Física - Segundo semestre de 1999
Cronograma - terceira parte
- Aula 14 (15 de outubro):
- Comentários sobre a prova.
- Entregar EP3.
- Introduzir vetores (sem funções).
Problema 14.1: Dada uma seqüência de n inteiros,
imprimir esta seqüência na ordem inversa a da leitura.
Problema 14.2: Dados n lançamentos de uma roleta (números
entre 0 e 36), calcular a freqüência de cada número.
Problema 14.3: Dada uma seqüência
de números reais diferentes de zero, seguida por zero, imprimir a
seqüência eliminando os números repetidos.
- Aula 15 (19 de outubro):
- Vetores como parâmetros de função.
Problema 15.1: Escreva um programa que
leia ium inteiro positivo m, os coeficientes de um polinômio real
p0 de grau n, três reais x0, x1 e
x2 e calcule p0(x0),
p1(x1) e p2(x2), onde
p1 e p2 são respectivamente a primeira e a
segunda derivada do polinômio p0.
- Aula 16 (22 de outubro):
- Introduzir strings
Problema 16.2:
- Faça uma função tiraletra que recebe uma string s e um
caractere c e remove de s todas as ocorrências deste caractere
(enfatizar o '\0').
- Faça uma função inverte que recebe uma string s e inverte
todos os caracteres da string.
- Faça um programa para codificar uma mensagem, que lê uma
string, remove todas as vogais e inverte a string resultante.
Problema 16.3:
- Faça uma função procura que recebe uma string palavra e uma
string frase e devolve 1 se a string palavra aparece na string
frase, 0 caso contrário.
- Escreva um programa que lê uma frase e uma palavra e
imprime se a palavra aparece ou não na frase, bem como se a
palavra de trás para frente aparece ou não na frase. (Use a
função inverte do Problema 20.1 acima.)
- Não haverá aula nos dias 26 e 29 de outubro.
- Aula 17 (5 de novembro):
- Algoritmos de busca em vetores
Problema 17.1: Dado um inteiro positivo n, uma seqüência
com n números reais e um real x, verifique se x ocorre na seqüência,
e, neste caso, imprima em que posição.
Sugestão: fazer este com palavras ao invés de reais, ou
seja, buscando um nome em um vetor de nomes.
- Introduzir conceito de "sentinela"
Problema 17.2: Mesmo problema para vetor ordenado.
- Busca binária
- Aula 18 (9 de novembro):
- Recolher EP3.
- Entregar EP4.
- Passagem de parâmetro por referência.
Problema 18.1:
- Faça uma função que recebe um número inteiro n>0 e devolve
o número de dígitos de n e o primeiro dígito de n.
- Escreva um programa que lê uma seqüência de N inteiros
positivos e imprime o número de dígitos e o primeiro dígito de
cada um deles.
Problema 18.2:
- Escreva uma função de cabeçalho
int divide (int *m, int *n, int d)
que recebe três inteiros positivos como parâmetros e retorna 1
se d divide pelo menos um entre *m e *n, 0 caso contrário. Fora
isso, se d divide *m, divide *m por d, e o mesmo para o *n.
- Escreva um programa que lê dois inteiros positivos m e n e
calcula, usando a função acima, o mínimo múltiplo comum entre m
e n, ou seja, mmc(m,n).
Problema 18.3:
- Faça uma função com protótipo
void somabit (int b1, int b2, int *vaium, int *soma);
que recebe três bits (inteiros entre 0 e 1) b1, b2 e *vaium e
retorna um bit soma representando a soma dos três e o novo um
bit "vai-um" em *vaium.
- Escreva um programa que lê dois números em binário e
calcula um número em binário que é a soma dos dois números
dados. Utilize a função acima.
Problema extra:
- Faça uma função com o protótipo
void converte (char ch, int *tipo, char *valor);
que recebe um caractere ch e devolve em *tipo 0, se o
caractere for um número inteiro, 1 se for uma letra (maiúscula
ou minúscula) e 2 caso contrário; e além disso, no caso de ser
uma letra, converte para maiúscula, senão devolve ch
inalterado.
- Faça um programa que leia uma seqüência de n caracteres e
imprima a seqüência convertida para maiúscula, eliminando os
caracteres que não forem letras ou números.
- Aula 19 (12 de novembro):
- Introduzir matrizes
Problema 19.1: Faça um programa que leia m, n e os
elementos de uma matriz real Am x n e verifica se a
matriz A tem uma linha, coluna ou diagonal composta apenas por
zeros.
Problema 19.2: Dada uma matriz real Am x n,
verificar se A é simétrica.
Problema Extra: Dada uma matriz
inteira Am x n, verificar se A é um quadrado mágico.
- Aula 20 (16 de novembro):
- Problema 20.1: Dadas matrizes Am x n e Bn
x p calcular a matriz produto Cm x p.
- Problema Extra: Exercício 5.9 do Caderno de Exercícios.
- Aula 21 (19 de novembro):
- Matrizes como parâmetros de função
Problema 22.1: Exercício 6.6 do Caderno de Exercícios.
Problema 22.2: Exercício 6.11 do Caderno de Exercícios.
Problema 22.3: Exercício 6.16 do Caderno de Exercícios.
- Aula 22 (23 de novembro):
- Recolher EP4.
- Ajuste de cronograma.
- Aula de exercícios
- Prova 3 (26 de novembro)
- Aula 24 (30 de novembro): Não haverá aula.
- Prova Substitutiva (3 de dezembro)
Last modified: Sat Dec 4 12:31:37 EDT 1999