sábado, 7 de abril de 2012

Exercícios Resolvidos C++ Lista 1

Por Ariadne Costa Gomes

Algoritmos C++ Lista 1


1.     Resolva todos os exercícios de auto revisão do capítulo 1 do livro, página 92.
2.    Resolva os seguintes exercícios(pág. 94): 1.10, 1.11, 1.12, 1.13(desconsidere a letra c), 1.17, 1.18, 1.19, 1.20, 1.21, 1.22, 1.23, 1.24, 1.25, 1.26, 1.27, 1.30, 1.31, 1.32.
Exercícios de auto-revisão

1.1 Preencha os espaços em branco em cada uma das seguintes frases:
a) A empresa que popularizou a computação pessoal foi Apple.
b) O computador que tornou a computação pessoal viável nos negócios e na indústria foi o IBM Personal Computer.
c) Computadores processam dados sob o controle de conjuntos de instruções chamados de programas do computador.
d) As seis unidades lógicas principais do computador são unidade de entrada, unidade de saída, unidade de memória, unidade aritmética e lógica, unidade central de processamento, unidade secundária de armazenamento
e) As três classes de linguagens discutidas no capítulo são, linguagens de máquina, linguagens simbólicas, linguagens de auto nível.
f) Os programas que traduzem programas em linguagem de alto nível para a linguagem de máquina são chamados de  compiladores.
g) C é amplamente conhecida como a linguagem de desenvolvimento do sistema operacional UNIX.
h) A linguagem foi desenvolvida por Wirth para o ensino da programação
estruturada nas universidades foi o Pascal.
 i) O Departamento de Defesa dos EUA desenvolveu a linguagem Ada com um recurso chamado multitasking o qual permite que os programadores especifiquem que muitas atividades possam ocorrer em paralelo.

1.2 Preencha os espaços em branco em cada uma das sentenças seguintes
sobre o ambiente C++.
a) Programas em C++ são normalmente digitados em um computador usando um programa editor.
b) Em um sistema C++, um programa pré-processador é executado antes de a fase de tradução do compilador começar.
c) O programa editor de ligação combina a saída do compilador com várias funções de biblioteca para produzir uma imagem executável.
d) O programa carregador(loader) transfere a imagem executável de um
programa em C++ do disco para a memória.
1.3 Preencha os espaços em branco em cada uma das seguintes frases.
a) Todo programa em C++ começa sua execução na função main.
b) A chave a esquerda({) começa o corpo de toda função e a chave a direita(}) termina o corpo de toda função.
c) Todo comando termina com ponto e vírgula.
d) A seqüência de escape \n representa o caractere nova linha, que
faz com que o cursor se posicione no início da próxima linha na tela.
e) O comando IF é usado para tomar decisões.
1.4 Diga se cada uma das seguintes frases é verdadeiro ou falsa. Se for falsa, explique por quê. Suponha que o comando using std: :cout; é usado.
.
a) Comentários fazem o computador imprimir o texto depois do / / na tela quando o programa é executado. Falso. Os comentários não fazem qualquer ação ser executada durante a execução do programa. Eles são usados para documentar programas e melhorar sua legibilidade.
b) A seqüência de escape \n, quando transferida para a saída com cout, faz com que o cursor se posione no início da próxima linha da tela. Verdadeiro.
c) Todas as variáveis devem ser declaradas antes de serem usadas. Verdadeiro.
d) Todas as variáveis devem receber um tipo quando são declaradas.
Verdadeiro.
e) C++ considera as variáveis nunber e NuNbEr idênticas. Falso. C++ é case sensitive, ou seja, é sensível a letras maiúsculas e minúsculas.
f) Declarações podem aparecer quase em qualquer lugar no corpo de uma
função em C++. Verdadeiro.
g) O operador módulo (%) pode ser usado só com operandos inteiros. Verdadeiro.
h) Os operadores aritméticos *, 1, %, + e - têm todos o mesmo nível de
precedência. Falso. Os operadores / e % tem a mesma precedência e os operadores + e – têm uma precedência mais baixa.
i) Um programa em C++ que imprime três linhas na saída deve conter três
comandos de saída usando cout. Falso. Um único comando de saída usando cout, contendo sequências de escape múltiplas, pode imprimir várias linhas.
1.5 Escreva um único comando em C++ para realizar cada uma das seguintes frases (Suponha que não foram usados comandos using):
a) Declare as variáveis c, thislsAVariable, q76354 e number como sendo do tipo int. int c, thislsAVariable, q76534, number;
b) Solicite ao usuário que forneça um inteiro. Termine sua mensagem de
solicitação com um sinal de dois pontos (:) seguido por um espaço e deixe o cursor posicionado depois do espaço. cout<< “Digite um numero inteiro:”;
c) Leia um inteiro fornecido pelo usuário através do teclado e armazene o valor fornecido em uma variável de tipo inteiro chamada age. cin>> age;
d) Se a variável number não for igual a 7, imprima “O número na variável não é igual 7”. IF (number!=7) cout<<”O numero da variável não eh igual a 7.”;
e) imprima a mensagem “Este é um programa em C++ “em uma linha.
cout<< “Este eh um programa em C++”;
f)    imprima a mensagem “Este é um programa em C++ “em duas linhas, na qual a primeira linha termina com c++.
cout<< “Este eh um programa em C++ \n”;
g) Imprima a mensagem “Este é um programa em C++ “com cada palavra da mensagem escrita em uma linha separada.
cout<< “Este \n eh \n um \n programa \n em \n C++”;
h) Imprima a mensagem “Este é um programa em C++ “, com cada palavra
separada da seguinte por uma marca de tabulação.
cout<< “Este \t eh \t um \t programa \t em \t C++”;

1.6 Escreva um comando (ou comentário) para realizar cada uma das
seguintes tarefas: (Suponha que foram usados comandos using)
a)    Afirme que um programa calcula o produto de três inteiros.
// Calcula o produto de três números inteiros.

b)   Declare as variáveis x. y. z e result como sendo do tipo int.
int x,y,z,result;
c)    Escreva prompt pedindo ao usuário para digitar três inteiros.
cout<< “Forneca tres numeros inteiros: “;
d)   Leia três inteiros do teclado e armazene-os nas variáveis x, y e z.
cin>> x >> y >> z;
e) Compute o produto dos três inteiros contidos nas variáveis x, y e z e atribua o resultado à variável result. result = x * y * z;
f) Imprima o produto seguido pelo valor da variável result.
cout<< “O produto eh “ << result;
g) Devolva um valor a partir de main para indicar que o programa terminou com sucesso. return 0;
1.7 Usando os comandos que você escreveu no Exercício 1.6, escreva um
programa completo que calcula e imprime o produto de três inteiros.
// Calcular o produto de três inteiros
        #include <iostream.h>
       
        int main (){
        int x, y, z, result;
        cout<<"Digite tres inteiros: \n";
        cin >> x >> y >> z;
        result = x * y * z;
        cout <<"O produto eh: "<< result;
        cout <<"\n";
        system ("pause");
        return 0;
}
1.8 Identifique e corrija os erros em cada um dos seguintes comandos :
a)if (c<7); cout « “c é menor que 7\n”;  ponto e vírgula depois do parênteses da condição no comando IF.
b)if (c=<7) cout « “c é igual a ou maior que 7\n”; O comando =< esta errado, deveria ser o contrario, ou seja, =>.
1.11 Por que você poderia querer escrever um programa em uma linguagem independente de máquina em vez de em uma linguagem dependente de
máquina? Porque uma linguagem dependente de máquina poderia ser mais
apropriada para escrever certos tipos de programas?
1.12 Preencha os espaços em branco em cada uma das seguintes sentenças:
a) Que unidade lógica do computador recebe informações de fora do
computador para uso pelo computador? Unidade de entrada.
b) O processo de instruir o computador para resolver problemas específicos é chamado de ________________
c) Que tipo de linguagem de computador usar abreviações semelhantes a palavras em inglês para instruções de linguagem de máquina? Linguagem Simbólica ou Assembly.
d) Que unidade lógica do computador envia as informações que já foram
processadas pelo computador a vários dispositivos, de forma que as informações possam ser usadas fora do computador? Unidade de saida
e) Que unidade lógica do computador guarda informações? Unidade de memória e Unidade de Memória Secundária.
f) Que unidade lógica do computador executa cálculos? Unidade Aritmética.
g) Que unidade lógica do computador toma decisões lógicas? Unidade Lógica.
h) O nível de linguagem de computador mais conveniente para o programador escrever programas depressa e facilmente é Linguagem de Auto Nivel.
i) A única linguagem que um computador pode entender diretamente é chamada de Linguagem de Máquina daquele computador.
j) Que unidade lógica do computador coordena as atividades de todas as outras unidades lógicas ?Cpu (Unidade Central de Processamento)
1.13 Discuta o significado de cada um dos objetos seguintes:
a)std: :cin  Este objeto fornece entrada de dados “bufferizada”através do “standart input device”
b)std: :cout Este objeto fornece saída de dados “bufferizada”através do “standart output device”
c)std: :cerr Este objeto fornece saída de dados NÃO “bufferizada”para o “standart error device”
1.15 Preencha os espaços em branco em cada uma das seguintes sentenças:
a) Comentários são usados para documentar um programa e melhorar sua legibilidade.
b) O objeto usado para exibir informações na tela é cout.
c) Um comando de C++ que toma uma decisão é if.
d) Cálculos são normalmente executados por comandos executáveis.
e) O objeto cin recebe como entrada valores fornecidos pelo teclado.
1.16 Escreva um único comando, ou linha, de C++ que realize cada um dos
seguintes comandos:
a) lmprima a mensagem “Digite dois números’. cout<< “Digite dois números”;
b) Atribua o produto das variáveis b e c à variável a. a = b * c;
c) Afirme que um programa executa um exemplo de cálculo de folha de
pagamento (isto é, use texto que ajuda a documentar o programa).
\\ Este programa executa um exemplo de calculo de folha de pagamento.
d) Recebe como entrada do teclado três valores do tipo inteiro e os transfere para as variáveis inteiras a, b e c. cout << “Digite três inteiros:”; cin>> a >> b >> c;
1.17 Diga quais das seguintes afirmações são verdadeiras e quais são falsas.Se falsa, explique sua resposta.
a) Os operadores de C++ são avaliados da esquerda para direita.Verdadeiro.
b) Os seguintes nomes são todos nomes válidos de variáveis: under_bar ,
m928134, t5, j7, suas vendas, tota1na_conta_de1e, a, b, c, z, z2. Falso, não pode ter símbolos começando a descrição dos nomes de variáveis como em +5 e não pode ter espaço entre palavras , como em suas vendas.
c) O comando cout « “a = “; é um exemplo típico de um comando de atribuição. Falso, é um exemplo de comando de impressão.
d) Uma expressão aritmética válida em C++, sem parênteses, é avaliada da esquerda para direita.Verdadeiro.
e) Todos os seguintes são nomes de variáveis não válidos: 3g, 87, 67h2, h22. 2h. Falso, uma variável não pode começar com um numero, como ocorreu em 67h2 e 2h.
1.18 Preencha os espaços em branco em cada uma das seguintes frases:
a) Que operações aritméticas estão no mesmo nível de precedência que a
multiplicação?Divisão e Resto.
 b) Quando parênteses estão aninhados, que conjunto de parênteses é avaliado primeiro em uma expressão aritmetica? O parênteses mais interno é avaliado primeiro.
e) Uma posição na memória do computador que pode conter valores diferentes em vários momentos ao longo da execução de um programa é uma variável.
1.19 O que imprime cada um dos seguintes comandos de C++, caso imprimam qualquer coisa, quando são executados? Se não imprimem nada, então responda “nada”. Assuma que x = 2 e y = 3.
a) cout « x; Imprime o numero 2.
b) cout « x + x; Imprime o numero 4.
c) cout « ‘x&’; Não imprime nada.
d) cout « “x = “ « x; Imprime x = 2.
e) cout « x + y « “ = “ « y + x; Imprime 5 = 5
f) z = x + y; Não imprime nada.
g) cm » x » y; Não imprime nada.
h) \\cout « “x + y = “ « x + y; Não imprime nada.
i) cout « “\n”; Não imprime nada, apenas solta uma linha.
1.20 Qual dos comandos de C++ seguintes contêm variáveis cujos valores são substituídos?
a) cm » b » c » d » e » f;
b) p = i + j + k + 7;
c) cout « “variáveis cujos valores são substituidos”;
d) cout « “a = 5”;
Somente a alternativa b, contem variáveis cujos valores são substituídos.
1.21 Dada a equação algébrica y = ax3 + 7, quais dos seguintes comandos, se houver algum, são comandos corretos de C++ para expressar esta equação?
a) y = a * x * x * x + 7;
b)y=a*x*x*(x+7);
c)y= (a * x) * x * ( x+ 7);
d)y=(a*x)*x*x+7;
e)y=a*(x*x*x)+7;
f) y=a*x* (x*x+7)
Somente as alternativas a & e, apresentam comandos corretos para expressar a equação dada.
1.22 Indique a ordem de avaliação dos operadores em cada um dos seguintes comandos de C++ e mostre o valor de x após cada comando ser executado.
a) x 7 + 3 * 6 / 2 - 1;
Primeiro: 3*6 = 18
Segundo: 18/2 = 9
Terceiro: 9 – 1 = 8
Quarto:  7x + 8 que é o resultado.
b) x = 2 % 2 + 2 * 2 - 2 / 2;
Primeiro: 2 % 2 = 0
Segundo: 0 + (2 * 2) = 4
Terceiro: 2/2 = 1
Quarto: 4 – 1 = 3 que é o resultado.
c)x= (3*9* (3+ (9*3/ (3))));
Primeiro: 9 * 3 = 27
Segundo: 27 / 3 = 9
Terceiro: 3 + 9 = 12
Quarto: 3 * 9 = 27
Quinto: 27 * 12 = 324 que é o resultado.
1.23 Escreva um programa que pede ao usuário que forneça dois números,
obtém os dois números digitados pelo usuário e imprime a soma, o produto, a diferença e o quociente dos dois números.
#include<iostream.h>

int main(){

    int a,b;
    cout<<"Digite dois numeros inteiros: ";
    cout <<"\n";
    cin >> a >> b;
    cout<< " SOMA = " << a+b; cout <<"\n";
    cout<< "PRODUTO = " << a * b; cout <<"\n";
    cout<< "DIFERENcA = " << a - b; cout <<"\n";
    cout << "QUOCIENTE = "<< a/b; cout <<"\n";
    system ("pause");
    return 0;
}
1.25 Escreva um programa que pede ao usuário que forneça dois inteiros, obtém os números digitados pelo usuário e então imprime o número maior seguido pelas palavras “é o maior”. Se os números são iguais, imprime a mensagem ‘Estes números são iguais”.
#include<iostream.h>
int main (){
    int a, b;
    cout<< "Digite dois numeros inteiros: ";
    cout<< "\n";
    cin >> a >> b;
    if ( a  > b ) cout << a << " EH O MAIOR \n";
    else if ( a < b) cout << b << " EH O MAIOR \n";
    else   cout << "ESTES NUMEROS SAO IGUAIS. \n";
    system ("pause");
    return 0;

}
1.26 Escreva um programa que recebe três inteiros como entrada do teclado e imprime a soma, a média, o produto, o menor e o maior destes números.

#include<iostream.h>
 int main(){

   int a, b, c;
   cout<< " DIGITE TRES NUMEROS INTEIROS: ";
   cin >> a >> b >> c;
   cout<< "SOMA = " << a+b+c;
   cout << "\n";
   cout << "MEDIA = " << (a+b+c)/3.0;
   cout << "\n";
   cout<< "PRODUTO = "<< a * b *c;
   cout << "\n";
   if (a > b  & b > c) cout << " MAIOR NUMERO EH = " << a << " MENOR EH= " << c;
   else if (a > c  & c > b ) cout << " MAIOR NUMERO EH = " << a << " MENOR EH = "<< b;
   else if (b> a  & a > c) cout << " MAIOR NUMERO EH = " << b << " MENOR EH = "<< c;
   else if (b > c & c > a)  cout << " MAIOR NUMERO EH = " << b << " MENOR EH = "<< a;
   else if (c > a & a > b)  cout << " MAIOR NUMERO EH = " << c << " MENOR EH = "<< b;
   else if (c > b & b > a)  cout << " MAIOR NUMERO EH = " << c << " MENOR EH = "<< a;
  
   cout << "\n";
   system ("pause");
   return 0;
 }

1.27 Escreva um programa que lê o raio de um círculo e imprime seu diâmetro,circunferência e área. Para ssot, use o valor constante 3,14159. Faça estes cálculos em comandos de saída. (Nota: neste capítulo, discutimos só constantes e variáveis inteiras. No Capítulo 3, discutiremos números de ponto-flutuante, isto é, valores que podem ter pontos decimais.)
#include<iostream.h>
int main (){
    float raio;
    cout << "Digite o raio do círculo: " ;
    cout << "\n";
    cin >> raio;
    cout << " DIAMETRO = " << raio * 2;
    cout << "\n";
    cout << " AREA = "<< 2 * 3.14159 * (raio * raio);
    cout << "\n";
    system ("pause");
    return 0;
}





Um comentário:

  1. Alguem consegue resolver este programa?? Não consigo, é muito dificil

    Faça um programa que receba a idade e o sexo de sete pessoas e que calcule e mostre:
    * a idade média do grupo;
    * a idade média das mulheres;
    * a idade média dos homens.

    ResponderExcluir