- Escreva um programa em C que resolva as seguintes expressões:
- 3 + 4
- 7/4
- 3^2
- 5.3 * 2.1
- 2 * 5 – 2
- 2 + 2 * 5
- sin(3.141502)
- sqrt(5)
- 1 + 2 + 3
- 1 * 2 * 3
- (1 + 2 + 3) / 3.0
- (2 + 4) * (3 – 1)
- (9 / 3) + (3 * 2)
- sin(4.5) + cos(3.7)
- log(2.3) – log(3.1)
- log (7) + (log(7) * log(7) – cos(log(7)))
- (10.3 + 8.4)/50.3 - (10.3 + 8.4)
- (cos(0.8) + sin(0.8)) * (cos(0.8) – sin(0.8))
- Escreva um programa em C que lê quatro números reais do teclado (a, b, c e d) e exibe o resultado das seguintes expressões:
- a + b
- a/c
- a^2
- b * c
- a * b – c
- a + b * c
- sin(a)
- sqrt(b)
- a + b + c
- a * b * c
- (a + b + c) / d
- (a + b) * (a – d)
- (b / c) + (a * d)
- sin(b) + cos(c)
- log(a) – log(c)
- log(a) + (log(b) * log(d) – cos(log(c)))
- (b + a)/c - (d + a)
- (cos(d) + sin(c)) * (cos(b) – sin(a))
- Escreva um programa em C que lê três números reais do teclado (a, b e c) e exibe o resultado das seguintes expressões:
- Média: média de a, b e c.
- Média ponderada: média ponderada de a, b e c onde a tem peso 3, b 4 e c 5.
- Perímetro: perímetro de um círculo de raio a.
- Área do círculo: área de um círculo de raio a.
- Área do triângulo: área de um triângulo de base b e altura c.
- Hipotenusa: hipotenusa de um triângulo retângulo, cujos lados conhecidos são b e c.
- Escreva funções em C que resolvem os seguintes problemas:
- Média: calcula a média de a, b e c.
- Média ponderada: calcula a média ponderada de a, b e c onde a tem peso 3, b 4 e c 5.
- Perímetro: calcula o perímetro de um círculo de raio r.
- Área do círculo: calcula a área de um círculo de raio r.
- Área do triângulo: calcula a área de um triângulo de base b e altura c.
- Área da caixa: calcula a área de uma caixa de dimensões a, b e c.
- Volume da caixa: calcula o volume de uma caixa de dimensões a, b e c.
- Área do cilindro: calcula a área de um cilindro de raio r e altura h.
- Volume do cilindro: calcula o volume de um cilindro de raio r e altura h.
- Hipotenusa: calcula a hipotenusa de um triângulo retângulo com lados b e c.
- Raiz positiva: calcula a raiz positiva da equação do segundo grau definida por a.x^2 + b.x + c.
- Escreva um programa em C para verificar se as funções do exercício anterior estão corretas.
- Escreva as seguintes funções em C:
- max(a,b,c): Retorna o maior dentre três números.
- min(a,b,c): Retorna o menor dentre três números.
- Escreva os seguintes predicados em C:
- par(x): testa se um número é par;
- dentro(x,y,z): testa se o número x está dentro do intervalo [y z];
- fora(x,y,z): testa se o número x está fora do intervalo [y,z].
- Defina o predicado bissexto(ano) que testa se um ano é bissexto. Considere que bissexto é aquele ano que é divisível por 400 ou é divisível por 4 e, nesse caso, não é divisível por 100. Por exemplo: bissexto(2000) --> verdadeiro; bissexto(1900) --> falso; bissexto(3600) --> verdadeiro; bissexto(2004) --> verdadeiro. Dica: escreva um predicado divisivel(x,y) que testa se x é divisível por y, por exemplo: divisivel(2000,4) --> verdadeiro; divisível(2004,400) --> falso.
- Escreva as seguintes funções recursivas em C:
- fat(n): retorna o valor do fatorial de n.
- mdc(a,b): retorna o máximo divisor comum entre a e b.
- mdc3(a,b,c): retorna o máximo divisor comum entre a, b e c.
- fib(n): retorna o n-ésimo termo da série de Fibonacci
- primo(x): predicado que testa se um número x é primo.
- decrescente(x): procedimento que escreve uma seqüência de inteiros menores que x e maiores que 0.
- res(a,b): retorna o resto da divisão entre a e b.
- form(n): retorna o valor do somatório de i*i, com i variando de 1 até n.
- mmc(a, b): retorna o menor múltiplo comum de a e b.
- div(a, b): retorna o resultado da divisão inteira de a por b.
- sqrt(n): retorna a raiz quadrada de n (com precisão de 0.001).
- dig(n): retorna a soma dos dígitos de um inteiro positivo n. A soma dos dígitos de 132, por exemplo, é 6.
- exp(k, n): retorna k^n
- crescente(x): escreve em ordem crescente, todos os inteiros maiores que 0 e menores ou iguais a x.
- Escreva um programa em C para testar todas as funções definidas acima.
- Escreva as seguintes funções utilizando estruturas de repetição em C:
- fat(n): retorna o valor do fatorial de n.
- mdc(a,b): retorna o máximo divisor comum entre a e b.
- mdc3(a,b,c): retorna o máximo divisor comum entre a, b e c.
- fib(n): retorna o n-ésimo termo da série de Fibonacci
- primo(x): predicado que testa se um número x é primo.
- decrescente(x): procedimento que escreve uma seqüência de inteiros menores que x e maiores que 0.
- res(a,b): retorna o resto da divisão entre a e b.
- form(n): retorna o valor do somatório de i*i, com i variando de 1 até n.
- mmc(a, b): retorna o menor múltiplo comum de a e b.
- div(a, b): retorna o resultado da divisão inteira de a por b.
- sqrt(n): retorna a raiz quadrada de n (com precisão de 0.001).
- dig(n): retorna a soma dos dígitos de um inteiro positivo. A soma dos dígitos de 132, por exemplo, é 6.
- exp(k, n): retorna k^n
- crescente(x): escreve em ordem crescente, todos os inteiros maiores que 0 e menores ou iguais a x.
- Escreva um programa em C que lê um número n do teclado e gera um arquivo com os n primeiros números primos.
- Escreva um programa em C que lê um arquivo com números naturais (um número por linha) e grava outro arquivo onde cada linha indica se o respectivo número é primo ou não.
- Escreva um programa em C que lê um arquivo com números naturais e gera dois arquivos: “primos.txt” com aqueles números que são primos e “outros.txt” com aqueles números que não são primos.
- Escreva um programa em C que lê um arquivo com números reais (um número por linha) e grava outro arquivo onde cada linha mostra o valor do respectivo número aplicado a função f(x) = x^2 - 5x + 1.
- Escreva um programa em C que lê um arquivo com números reais (um número por linha) e grava outro arquivo onde cada linha mostra o valor do respectivo número aplicado a função f(x) = ax^3 + bx^2 + cx + d, onde a, b, c e d são lidos do teclado.
- Escreva um programa em C que lê uma sequência de números de um arquivo e armazena em um arranjo. Assuma que a quantidade de números no arquivo não ultrapassa o limite máximo de elementos no arranjo (e.g. 1000).
- Escreva uma função em C++ que recebe um arranjo de números reais v e número de elementos n armazenados em v e que retorna a média dos n elementos armazenados em v. Assuma que n é menor que o número máximo de elementos do arranjo (e.g. 1000).
- Escreva uma função em C que recebe um arranjo de números reais v e número de elementos n armazenados em v e que retorna a variância dos n elementos armazenados em v. Assuma que n é menor que o número máximo de elementos do arranjo (e.g. 1000).
- Escreva uma função em C que recebe um arranjo de números reais v e número de elementos n armazenados em v e que retorna o maior dos n elementos armazenados em v. Assuma que n é menor que o número máximo de elementos do arranjo (e.g. 1000).
- Escreva uma função em C que recebe um arranjo de números reais v e número de elementos n armazenados em v e que retorna o menor dos n elementos armazenados em v. Assuma que n é menor que o número máximo de elementos do arranjo (e.g. 1000).
- Escreva uma função em C que recebe dois arranjos de números reais u e v e a dimensão n dos dois arranjos e que retorna o produto escalar de u e v.
- Escreva um programa em C que lê de um arquivo o número de linhas, o número de colunas e todos os coeficientes de uma matriz.
- Escreva uma função que recebe uma matriz quadrada de dimensão n e que retorna a média dos elementos armazenados na matriz. O cabeçalho da função deve ser o seguinte: float media_matriz(int n, float mat[][100])
- Escreva uma função que recebe uma matriz quadrada A de dimensão n e que transforma A em uma matriz identidade. O cabeçalho da função deve ser o seguinte: void identidade(int n, float A[][100])
- Escreva uma função que recebe uma matriz quadrada A de dimensão n e que retorna uma matriz T que é a transposta de A. O cabeçalho da função deve ser o seguinte: void transposta(int n, float A[][100], float T[][100])
- Escreva uma função que testa se uma matriz quadrada A de dimensão n é simétrica. O cabeçalho da função deve ser o seguinte: bool simetrica(int n, float A[][100])
- Escreva uma função que recebe duas matrizes quadradas A e B de dimensão n e que retorna uma matriz S que é a soma de A e B. O cabeçalho da função deve ser o seguinte: void soma_matriz(int n, float A[][100], float B[][100], float S[][100])
- Escreva uma função que recebe duas matrizes quadradas A e B de dimensão n e que retorna uma matriz P que é o produto de A e B. O cabeçalho da função deve ser o seguinte: void mult_matriz(int n, float A[][100], float B[][100], float P[][100])
- Implemente a seguinte estrutura de dados em C que representa pontos em um espaço euclidiano:
struct Ponto {
float x;
float y;
float distancia(Ponto& p);
void atribuir(float a, float b);
};
- Implemente o método float Ponto::distancia(Ponto &p) que calcula a distância entre o ponto corrente (aquele que chama o método) e o ponto p passado como parâmetro.
- Implemente o método void Ponto::atribuir(float a, float b) que atribui respectivamente os valores a e b as coordenadas x e y do ponto corrente.
- Utilizando o tipo de dados Ponto, defina um tipo de dado Triangulo, que representa um triângulo num espaço euclidiano.
- Implemente um método float Triangulo::perimetro() que retorna o perímetro do triângulo corrente (aquele que chama o método).
- Implemente um método float Triangulo::area() que retorna a área do triângulo corrente.
- Implemente um método bool Triangulo::equilatero() que testa se o triângulo corrente é equilátero.
- Implemente um método bool Triangulo::semelhante(Triangulo &t) que testa se o triângulo t é semelhante ao triângulo corrente.
- Utilizando o tipo de dados Ponto, defina um tipo de dado Retangulo, que representa um retângulo num espaço euclidiano.
- Implemente um método float Retangulo::perimetro() que retorna o perímetro do retângulo corrente (aquele que chama o método).
- Implemente um método float Retangulo::area() que retorna a área do retângulo corrente.
- Implemente um método bool Retangulo::quadrado() que testa se o retângulo corrente é quadrado.
- Defina o tipo de dados Circunferencia. Pense bem em quais os dados que definem uma circunferência.
- Implemente um método float Circunferencia::perimetro() que retorna o perímetro da circunferência corrente (aquele que chama o método).
- Implemente um método float Circunferencia::area() que retorna a área da circunferência corrente.
- Implemente um método bool Circunferencia::contem(Ponto& p) que testa se o ponto p está dentro da circunferência corrente.
- Implemente um método bool Circunferencia::contem(Triangulo& p) que testa se o triângulo t está dentro da circunferência corrente.
- Implemente um método bool Circunferencia::contem(Retangulo& r) que testa se o retângulo r está dentro da circunferência corrente.
- Implemente um método bool Circunferencia::pertence(Ponto& p) que testa se o ponto p está na linha definida pela circunferência corrente.
- Implemente um método bool Circunferencia::circunscrita(Triangulo& t) que testa se a circunferência corrente é circunscrita ao triângulo t.
- Implemente um método bool ircunferencia::circunscrita(Retangulo& r) que testa se a circunferência corrente é circunscrita ao retângulo r.