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;
}
Alguem consegue resolver este programa?? Não consigo, é muito dificil
ResponderExcluirFaç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.