Baixe o app para aproveitar ainda mais
Prévia do material em texto
INF 100 – Exercícios de Revisão p/ a Prova 1 – Soluções Exercício 1 Algoritmo variáveis a, b, c : inteiro algoritmo leia a, b se a > b c ← a a ← b b ← c fim_se escreva a, b fim_algoritmo C++ #include <iostream> using namespace std; main() { int a, b, c; cin >> a >> b; if (a > b) { c = a; a = b; b = c; } cout << a << " " << b; return 0; } Exercício 2 Algoritmo variáveis Nota1, Nota2, Nota3, Tot_Faltas, Tot_Aulas, soma_notas : inteiro algoritmo leia Nota1, Nota2, Nota3, Tot_Faltas, Tot_Aulas se Tot_Faltas / Tot_Aulas > 0.25 escreva "Reprovado por faltas." senão soma_notas ← Nota1 + Nota2 + Nota3 se soma_notas ≥ 60 escreva "Aprovado." senão se soma_notas ≥ 40 escreva "Prova Final." senão escreva "Reprovado." fim_se fim_se fim_algoritmo C++ #include <iostream> using namespace std; main() { int Nota1, Nota2, Nota3, Tot_Faltas, Tot_Aulas, soma_notas; cin >> Nota1 >> Nota2 >> Nota3 >> Tot_Faltas >> Tot_Aulas; if (1.0*Tot_Faltas / Tot_Aulas > 0.25) cout << "Reprovado por faltas."; else { soma_notas = Nota1 + Nota2 + Nota3; if (soma_notas >= 60) cout << "Aprovado."; else if (soma_notas >= 40) cout << "Prova Final."; else cout << "Reprovado."; } return 0; } Exercício 3 Algoritmo variáveis x, soma, prod, Ma, Mg : real n : inteiro algoritmo soma ← 0 prod ← 1 n ← 0 leia x enquanto x > 0 soma ← soma + x prod ← prod * x n ← n + 1 leia x fim_enquanto Ma ← soma / n Mg ← prod ^ (1/n) // prod elevado a 1/n escreva Ma, Mg fim_algoritmo C++ #include <iostream> #include <cmath> using namespace std; main() { int n; float x, soma, prod, Ma, Mg; soma = 0; prod = 1; n = 0; cin >> x; while (x > 0) { soma += x; prod *= x; n++; cin >> x; } Ma = soma / n; Mg = pow( prod, 1.0/n ); cout << Ma << " " << Mg; return 0; } Exercício 4 C++ #include <iostream> using namespace std; main() { int m, n; cin >> m >> n; for (int i=1; i <= m; i++) { for (int j=1; j <= n; j++) cout << "x"; cout << endl; } cout << endl; for (int i=1; i <= n; i++) { for (int j=1; j <= m; j++) cout << "x"; cout << endl; } return 0; } Exercício 5 Programa raizenezima-‐pow.cpp #include <iostream> #include <cmath> using namespace std; int main() { float n; // Ordem da raiz float x; // Numero para o qual se calculara a raiz float raiz; // Raiz enesima do numero // LEITURA DOS DADOS DE ENTRADA cout << "Informe a ordem da raiz (n): "; cin >> n; cout << "Informe o numero: "; cin >> x; raiz = pow(x, 1.0/n); // Exibe resultados em tela (ultimo rk1 obtido) cout << "Raiz " << n << "-esima de " << x << " vale " << raiz << endl; return 0; } Programa raizenezima-‐newton.cpp #include <iostream> #include <cmath> using namespace std; int main() { float n; // Ordem da raiz float epsilon; // Precisao float x; // Numero para o qual se calculara a raiz float rk,rk1; // Variaveis que calculam o valor da raiz pelo // Metodo de Newton // LEITURA DOS DADOS DE ENTRADA cout << "Informe a ordem da raiz (n): "; cin >> n; cout << "Informe o numero: "; cin >> x; cout << "Informe a precisao: "; cin >> epsilon; // Inicializa o valor da raiz com o proprio valor de x, ou seja, r0 = x, // mas aqui usaremos a variavel rk1 // Ver primeiro passo do laco do...while, para explicacao rk1 = x; do { // O rk do proximo passo sera o rk1 deste passo rk = rk1; // Calcula o novo resultado obtido, a partir do resultado anterior e do // valor de x, usando a formula do Metodo de Newton rk1 = (1.0/n) * ((n-1)*rk + x/(pow(rk,n-1))); } while (abs(rk1 - rk) >= epsilon); // repete a aplicacao do metodo enquanto // a precisao nao for atendida // Obs.: abs(rk1 - rk) equivale ao modulo da diferenca do resultado atual // para o resultado do passo anterior: |rk1 - rk| // |rk1 - rk| representa a diferenca de valor entre os resultados dos dois // ultimos passo, ou o erro obtido no metodo // Enquanto este erro for maior ou igual a precisao informada, o processo // deve continuar, refinando mais a resposta // Exibe resultados em tela (ultimo rk1 obtido) cout << "Raiz " << n << "-esima de " << x << " vale " << rk1 << endl; return 0; }
Compartilhar