Buscar

LISTA_4_respostas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 8 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 8 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

LISTA DE EXERCÍCIOS No4 – Estrutura de repetição ENQUANTO (while)
Algoritmos e Programação / Algoritmos e Estrutura de Dados
Prof. André Sarmento Barbosa e Paula Faragó Barbosa
Obs.: Use a apostila para descobrir o nome das funções que forem necessárias.
Ler vários números inteiros e imprimir o dobro do número a cada leitura. O algoritmo deve terminar quando o número zero for digitado.
#include <iostream>
using namespace std;
int main() {
	int num;
	cout << "Digite um numero inteiro: ";
	cin >> num;
	while (num != 0) {
		cout << "O dobro de " << num << " eh " << num*2 << endl;
		cout << "Digite um numero inteiro: ";
		cin >> num;
	}
}
Ler vários números inteiros enquanto eles forem positivos, ao final imprimir quantos números foram digitados.
#include <iostream>
using namespace std;
int main() {
	int num;
	int quant = 0;
	cout << "Digite um numero inteiro: ";
	cin >> num;
	while (num > 0) {
		quant++;
		cout << "Digite um numero inteiro: ";
		cin >> num;
	}
	cout << "Foram digitados " << quant << " numeros positivos." << endl;
	system("pause");
}
Ler vários nomes enquanto forem diferentes da palavra “fim” e “FIM”. Imprimir ao final o nome com a maior quantidade de letras e também o nome que estiver no final da ordem alfabética.
#include <iostream>
#include <string.h>
using namespace std;
int main() {
	char nome[20];
	char maior_letras[20];
	char maior_ordem[20];
	cout << "Digite um nome: ";
	cin >> nome;
	
	strcpy(maior_letras, nome);
	strcpy(maior_ordem, nome);
	while (strcmp(nome, "fim") != 0 && strcmp(nome, "FIM") != 0) {
		if (strlen(nome) > strlen(maior_letras)) {
				strcpy(maior_letras, nome);
		}
		if (strcmp(nome, maior_ordem) > 0) {
				strcpy(maior_ordem, nome);
		}
		cout << "Digite um nome: ";
		cin >> nome;
	}
	cout << "Nome com mais letras : " << maior_letras << endl;
	cout << "Nome no final da ordem: " << maior_ordem << endl;
	system("pause");
}
Calcule a raiz quadrada de 10 números reais digitados. A cada número digitado colocar um loop de proteção para evitar números negativos, este loop deve repetir até que o usuário digite um número positivo para que então o cálculo seja feito.
#include <iostream>
#include <math.h>
using namespace std;
int main() {
	int x;
	float num;
	for (x = 1; x <= 10; x++) {
		cout << "Digite um numero real positivo: ";
		cin >> num;
		while (num < 0) {
			cout << "O numero nao e positivo, digite um numero POSITIVO: ";
			cin >> num;
		}
		cout << "Raiz quadrada: " << sqrt(num) << endl;
	}
	system("pause");
}
Calcule o fatorial de um número inteiro qualquer digitado. Mas desta vez utilize a estrutura do enquanto (e não a do para).
#include <iostream>
using namespace std;
int main() {
	int x, num, fat;
	cout << "Digite um numero inteiro: ";
	cin >> num;
	fat = 1;
		
	x = 2;
	while (x <= num) {
		fat = fat * x;
		x++;
	}
	cout << "Fatorial: " << fat << endl; 
	system("pause");
}
Leia um número e imprima se ele é ou não primo. (Use a estrutura do enquanto).
#include <iostream>
using namespace std;
int main() {
	int x, num;
	int primo = 1;
	cout << "Digite um numero inteiro: ";
	cin >> num;
	if ((num % 2 == 0 && num != 2 )|| num == 1) primo = 0;
	x = 3;
	while (x < num/2) {
		if (num % x == 0) {
			primo = 0;
			break;
		}
		x = x + 2;
	}
	if (primo)
		cout << "O numero e primo!\n";
	else
		cout << "O numero nao e primo!\n";
	
	system("pause");
}
Imprima todos os números primos de 1 a 1000. (Use a estrutura do enquanto).
#include <iostream>
using namespace std;
int main() {
	int x, y;
	int primo;
	int num = 1;
	while (num <= 1000) {
		primo = 1;
		if ((num % 2 == 0 && num != 2 )|| num == 1) primo = 0;
		x = 3;
		while (x < num/2) {
			if (num % x == 0) {
				primo = 0;
				break;
			}
			x = x + 2;
		}
		if (primo) cout << num << endl;
		num++;
	}
	
	system("pause");
}
Fazer um jogo ao estilo “Forca”, onde um usuário escolhe uma palavra secreta e outro usuário tenta acertar a palavra “chutando” letras a cada tentativa. Em cada tentativa verificar se o usuário acertou a palavra ou o número de tentativas foi excedido. Em cada tentativa dar a chance ao usuário de acertar a palavra completa.
#include <iostream>
#include <string.h>
using namespace std;
int main() {
 	char secreta[50];
	char impressao[50];
	char teste[50];
	char letra;
	int x, tam, achou, maxtent;
	int tent = 0;
	int enforcado = 1;
	cout << "Digite a palavra secreta (sem espacos): ";
	cin >> secreta;
	cout << "Digite o numero maximo de tentativas: ";
	cin >> maxtent;
	tam = strlen(secreta);
	//Preenche a impressao com tracos
	x = 0;
	while (x < tam) {
		impressao[x] = '-';
		x++;
	}
	impressao[x] = '\0'; //finalizar a string
	system("cls"); //Limpa a tela
	cout << "Palavra: " << impressao << " (" << tam << " letras, maximo de " << maxtent << " tentativas)\n\n";
	do {
		cout << "Digite uma letra: ";
		cin >> letra;
		achou = 0;
		x = 0;
		while (x < tam) {
			if (letra == secreta[x]) {
				achou = 1;
				impressao[x] = letra;
			}
			x++;
		}		
		
		if (achou == 0) tent++;
		cout << "Palavra: " << impressao << "\n\n";
		cout << "Qual a palavra secreta? ";
		cin >> teste;
		if (strcmp(teste, secreta)==0) {
			cout << "Parabens, voce acertou!" << endl;
			enforcado = 0;
			break;
		}	
		cout << "\nRestam " << maxtent - tent << " tentativas." << endl;
	} while (tent < maxtent);
	if (enforcado) {
		cout << "Voce foi enforcado!" << endl;
		cout << "A palavra secreta era: " << secreta << endl;
	}
	system("pause");
}
Criar um menu com as seguintes opções: 1-pizza, 2-salada, 3-risoto, 4-feijoada, 5-sair. Para cada prato escolhido imprimir o valor do prato (escolha quatro valores diferentes). Caso o usuário escolha a opção 5 o algoritmo deve terminar, caso contrário apresentar o menu novamente.
#include <iostream>
#include <math.h>
using namespace std;
int main() {
	int op;
	do {
		cout << "1 - Pizza\n";
		cout << "2 - Salada\n";
		cout << "3 - Risoto\n";
		cout << "4 - Feijoada\n";
		cout << "5 - Sair\n";
		cout << "Escolha uma opcao [1 a 5]: ";
		cin >> op;
		switch (op) {
			case 1:
				cout << "\nPizza: R$20,00\n" << endl;
				break;
			case 2:
				cout << "\nSalada: R$10,00\n" << endl;
				break;
			case 3:
				cout << "\nRisoto: R$25,00\n" << endl;
				break;
			case 4:
				cout << "\nFeijoada: R$30,00\n" << endl;
				break;
			case 5:
				break;
			default:
				cout << "\nOpcao invalida.\n" << endl;
		}
	} while (op != 5);
}
Criar um menu com as seguintes opções: s - seno, c – cosseno, t – tangente, s – sair. Em cada caso, ler o valor do ângulo em graus e imprimir a resposta. Caso o usuário escolha a opção s o algoritmo deve terminar, caso contrário apresentar o menu novamente.
#include <iostream>
#include <math.h>
using namespace std;
int main() {
	float ang, resp;
	const float PI = 3.141592654;
	char op;
	do { 
		cout << "s - Seno\n";
		cout << "c - Cosseno\n";
		cout << "t - Tangente\n";
		cout << "f - finalizar\n";
 		cout << "Escolha uma opcao [s, c, t ou f]: ";
		cin >> op;
		switch (tolower(op)) {
			case 's':
				cout << "\nCalculo do seno\n" << endl;
				cout << "Digite o valor do angulo em graus: ";
				cin >> ang;
				resp = sin(ang*PI/180);
				cout << "O seno de " << ang << " eh " << resp << endl;
				break;
			case 'c':
				cout << "\nCalculo do cosseno\n" << endl;cout << "Digite o valor do angulo em graus: ";
				cin >> ang;
				resp = cos(ang*PI/180);
				cout << "O cosseno de " << ang << " eh " << resp << endl;
				break;
			case 't':
				cout << "\nCalculo do tangente\n" << endl;
				cout << "Digite o valor do angulo em graus: ";
				cin >> ang;
				resp = tan(ang*PI/180);
				cout << "A tangente de " << ang << " eh " << resp << endl;
				break;
			case 'f':
				break;
			default:
				cout << "\nOpcao invalida.\n" << endl;
		}
	} while (tolower(op) != 'f');
}
Criar um menu com as seguintes opções: 1-Digitar nota, 2 – Total de notas, 3 – Média, 4 – Sair. Na opção 1 deve-se ler uma nota de um aluno e acrescentar ao somatório, na opção 2 deve-se imprimir o total de notas, na opção 3 calcular a média e na 4 sair como nos exercícios anteirores. 
#include <iostream>
using namespace std;
int main() {
	float nota, media, soma = 0.0;
	int op, cont = 0;
	do { 
		cout << "1 - Digitar nota\n";
		cout << "2 - Total de notas\n";
		cout << "3 - Media\n";
		cout << "4 - Sair\n";
 		cout << "Escolha uma opcao [1 a 4]: ";
		cin >> op;
		switch (op) {
			case 1:
				cout << "\nDigite a nota: ";
				cin >> nota;
				soma = soma + nota;
				cont++;
				break;
			case 2:
				cout << "Total de notas: " << cont << endl << endl;
				break;
			case 3:
				if (cont == 0) 
					media = 0.0;
				else
					media = soma / (float)cont;
				cout << "Media: " << media << endl << endl;
				break;
			case 4:
				break;
			default:
				cout << "\nOpcao invalida.\n" << endl;
		}
	} while (op != 4);
}

Outros materiais