MAC115 - Introdução à Computação
Escola Politécnica - Primeiro semestre de 1997
Cronograma
- 01.04.97 Devolução do EP 1 (Grupo A)
- Problema: Dado um inteiro $m$ imprimir a decomposição de $m$ em
fatores primos, com multiplicidade. Ex: para $m=120$ a saída
desejada é $2 (3), 3 (1), 5 (1)$.
- Problema: Dado um número real $x$ e um real $\epsilon$ calcular
uma aproximação da $\sqrt{x}$ através da seqüência de números
abaixo. Tome $r_0 = x$ e $r_{n+1} = 1/2 (r_n + x/r_n)$. A aproximação
será o primeiro valor $r_{n+1}$ tal que $|r_{n+1}-r_n| < \epsilon$.
- Problema extra: Dado um natural $n>0$, determinar o número
harmônico $H_n$ dado por $$H_n = 1 + 1/2 + 1/3 + 1/4 + ... + 1/n$$
- 03.04.97 Devolução do EP 1 (Grupo B)
- Introduzir o tipo char
- Introduzir o comando switch
- Problema: Dado um inteiro $n$ e um texto, ou seja, uma seqüência
com $n$ caracteres, determinar a freqüência das vogais no
texto. Exemplo: para n=21 e o texto "Maguila derruba Tyson" a
freqüência de vogais é 8/21.
- Problema: Dada uma seqüência de caracteres terminada por '.',
imprima a seqüência sem as vogais, os brancos e os sinais de
pontuação. Exemplo: Dada a seqüência "É muito bom estudar MAC115." a
saída deverá ser "mtbmstdrMC115".
- Problema: Dada uma seqüência com $n$ datas, determinar para cada
uma delas a data do dia seguinte. As datas consistem de 3 números
inteiros: o primeiro representa o dia, o segundo o mês e o terceiro o
ano. (Obs.: um ano A é bissexto se (A % 4 == 0) && (A % 100 != 0) ||
(A % 400 == 0)).
- 08.04.97
- Introduzir funções
- Problema: Faça um programa que leia dois números reais $x$ e $y$
e dois inteiros positivos $a$ e $b$, calculando em seguida o valor da
expressão $x^a + y^b + (x-y)^{a+b}$.
- Problema:
- Escreva uma função que recebe $n$ e calcula $n!$.
- Faça uma função que dados $m$ e $n$ inteiros, usando a função
fatorial, calcula $m!/(n!(m-n)!)$.
- Faça um programa que lê um inteiro $n>1$ e imprime os
coeficientes da expansão de $(a+b)^n$.
- 10.04.97
- Falar de protótipo de função
- Problema:
- Faça uma função booleana que recebe um inteiro $n$ e
verifica de $n$ é primo.
- Faça um programa que recebe um inteiro $m$ e verifica se
$m$ pode ser escrito como $p+q$, onde $p$ e $q$ são primos.
- Problema:
- Faça uma função real que recebe um real $x$ e devolve
$\sqrt{x}$.
- Faça uma função real que recebe dois pontos no plano
através de suas coordenadas cartesianas e devolve a distância
entre os pontos.
- Faça um programa que leia um ponto origem $(x_0, y_0)$ e
uma seqüência de $n$ pontos e determina o ponto mais próximo
da origem.
- 15.04.97 Devolução do EP 2 (Grupo A)
- Introduzir passagem de parâmetro por "referência"
- Introduzir escopo de variável (local, global)
- Fazer simulação de um problema simples com variáveis locais,
globais, parâmetros passados por valor e por "referência"
- Problema:
- Faça uma função que recebe um inteiro $n$ e devolve o
primeiro e o último dígito de $n$. Ex. para $n=1234$ a função
devolve $1$ e $4$.
- Faça um programa que leia um inteiro $x>9$ e verifica se $x$ é
palíndrome.
- 17.04.97 Devolução do EP 2 (Grupo B)
- Falar de uso de bibliotecas math.h, etc
- Problema:
- 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
caracteres e imprima a seqüência convertida para maiúscula,
eliminando os caracteres que não forem letras ou números.
- Problema:
- Faça uma função que recebe um número real $x$ e devolve o
valor de $f(x)$, onde $f(x) = sen(x) / x$
- Faça uma função que recebe dois reais $a$ e $b$, com $f(a) <0
$ e $f(b) > 0$ e procura no intervalo $[a,b]$ uma raiz da função
$f$, com precisão $\epsilon$ (use bipartição do intervalo)
- 22.04.97 Entrega do EP 3 (Grupo A)
- Ajuste de cronograma
- Aula de exercícios
- 24.04.97 Entrega do EP 3 (Grupo B)
- 26.04.97 Primeira Prova
- 29.04.97
- Comentário sobre a prova
- Introduzir vetores
- Problema: Dados um inteiro positivo $n$ e uma seqüência de $n$
inteiros, imprimir esta seqüência na ordem inversa à da leitura.
- Problema: Dados um inteiro positivo $n$ e uma seqüência de $n$
lançamentos de uma roleta (de 0 a 36), imprimir a freqüência com que
cada número ocorre nos lançamentos.
- Problema extra: Dada uma seqüência de números reais diferentes
de zero, seguida por um zero, imprimir a seqüência eliminando os
números repetidos.
Last modified: Mon May 12 18:32:27 EST 1997