Exercícios de Funções 03/09/2010
Binary Road :: Lógica e Técnica de Programação :: Programação Orientada a Objeto :: Análise de Algoritmos :: Organização e Recuperação da Informação :: Estrutura de dados e algoritimos :: Estudo
Página 1 de 1
Exercícios de Funções 03/09/2010
1) Elabore um programa utilizando funções que resolva o problema a seguir:
Uma escola irá realizar sua olimpíada de matemática. Poderão participar da olimpíada os alunos que não possuírem falta na disciplina de matemática, bem como média superior a 7 na referida disciplina. Os alunos selecionados a participar serão divididos em categorias conforme a tabela a seguir:
Aqueles que não se enquadrarem em nenhuma categoria deverão ser informados com a seguinte frase: "Você não se enquadra em nenhuma categoria - participe da prova seletiva"
Assim, o programa deve verificar e mostrar se o aluno pode participar da olimpíada e se puder participar deverá mostrar em que categoria irá competir.
Uma escola irá realizar sua olimpíada de matemática. Poderão participar da olimpíada os alunos que não possuírem falta na disciplina de matemática, bem como média superior a 7 na referida disciplina. Os alunos selecionados a participar serão divididos em categorias conforme a tabela a seguir:
Idade | Série | Categoria |
10 a 12 anos | 5ª ou 6ª | Nível 1 |
13 ou 14 anos | 7ª ou 8ª | Nível 2 |
Aqueles que não se enquadrarem em nenhuma categoria deverão ser informados com a seguinte frase: "Você não se enquadra em nenhuma categoria - participe da prova seletiva"
Assim, o programa deve verificar e mostrar se o aluno pode participar da olimpíada e se puder participar deverá mostrar em que categoria irá competir.
- Código:
#include <iostream>
#include <string.h>
using namespace std;
const int tam=10;
struct inscri
{
int serie, idade, falta;
char nome[50];
float nota;
};
int menu();
void inscricao(int &ctl, inscri olimp[tam]);
void check(int ctl, inscri olimp[tam]);
void main()
{
int op, ctl=0;
inscri olimp[tam];
do{
op=menu();
if(op == 1)
{
system("cls");
inscricao(ctl, olimp);
system("pause");
}
else
if(op == 2)
{
system("cls");
check(ctl, olimp);
system("pause");
}
}while(op != 3);
}
int menu()
{
int opc;
do{
system("cls");
cout<< "=====================================================\n";
cout<< "\t\tOlimpiada de matematica.\n";
cout<< "=====================================================\n\n";
cout<< "1- Inscrever-se.\n";
cout<< "2- Checar quais alunos foram aprovados, e em quais categorias.\n";
cout<< "3- Sair.\n";
cout<< "\n=====================================================\n";
cout<< "\tDigite a opcao desejada.\n\t";
cin>> opc;
if(opc < 1 || opc > 3)
{
system("cls");
cout<< "Opcao invalida tente novamente.\n";
system("pause");
}
}while(opc < 1 || opc > 3);
return opc;
}
void inscricao(int &ctl, inscri olimp[tam])
{
if(ctl < tam)
{
cout<< "Digite o nome do aluno:\t";
fflush(stdin);
gets_s(olimp[ctl].nome);
cout<< "\nDigite a idade do aluno:\t";
cin>> olimp[ctl].idade;
cout<< "\nDigite a serie que o aluno esta cursando:\t";
cin>> olimp[ctl].serie;
cout<< "\nDigite a nota obitida na materia de matematica:\t";
cin>> olimp[ctl].nota;
cout<< "\nDigite a quantidade de faltas obitida na materia de matematica:\t";
cin>> olimp[ctl].falta;
ctl++;
}
else
{
cout<< "Numero maximo de alunos ja cadastrado.\n";
system("cls");
}
}
void check(int ctl, inscri olimp[tam])
{
int nv1[tam], nv2[tam], selnv1[tam], selnv2[tam], i, nv_1=0, nv_2=0, selnv_1=0, selnv_2=0, chk, op;
for(i=0; i<ctl; i++)
{
nv1[i]=tam+1;
nv2[i]=tam+1;
selnv1[i]=tam+1;
selnv2[i]=tam+1;
}
do{
cout<< "================================================================================\n";
cout<< "Digite qual nivel ou prova seletiva a qual seja verificar os candidatos selecionados.\n";
cout<< "================================================================================\n";
cout<< "1- Checar candidatos aprovados para o Nivel 1.\n";
cout<< "2- Checar candidatos aprovados para o Nivel 2.\n";
cout<< "3- Checar candidatos para prova seletiva do Nivel 1.\n";
cout<< "4- Checar candidatos para prova seletiva do Nivel 2.\n";
cout<< "5- Sair\n";
cout<< "=================================================================================\n";
cout<< "Digite a opcao.\n";
cin>> op;
if(op<1 || op>5)
{
system("cls");
cout<< "Opcao invalida tente novamente.\n";
system("pause");
}
}while(op<1 || op >5);
if(op == 1)
{
system("cls");
for(i=0; i < ctl; i++)
{
if(olimp[i].serie == 5 || olimp[i].serie == 6)
if(olimp[i].nota >= 7)
if( olimp[i].falta == 0)
{
nv1[nv_1]=i;
nv_1++;
}
}
cout<< "=======================================================================\n";
cout<< "\tAprovados para o Nivel 1, da olimpiada de matematica.\n";
cout<< "=======================================================================\n";
for(i=0; i < ctl; i++)
{
if(nv1[i] != tam+1)
{
chk=nv1[i];
cout<< "=====================================================\n";
cout<< "Nome:\t" << olimp[chk].nome << endl;
cout<< "Idade:\t" << olimp[chk].idade << endl;
cout<< "Serie:\t" << olimp[chk].serie << endl;
cout<< "Nota:\t" << olimp[chk].nota << endl;
cout<< "Faltas:\t" << olimp[chk].falta << endl;
cout<< "=====================================================\n";
}
}
}
else
if(op == 2)
{
system("cls");
for(i=0; i < ctl; i++)
{
if(olimp[i].serie == 7 || olimp[ctl].serie == 8)
if(olimp[i].nota >= 7)
if( olimp[i].falta == 0)
{
nv2[nv_2]=i;
nv_2++;
}
}
cout<< "=======================================================================\n";
cout<< "\tAprovados para o Nivel 2, da olimpiada de matematica.\n";
cout<< "=======================================================================\n";
for(i=0; i < ctl; i++)
{
if(nv2[i] != tam+1)
{
chk=nv2[i];
cout<< "=====================================================\n";
cout<< "Nome:\t" << olimp[chk].nome << endl;
cout<< "Idade:\t" << olimp[chk].idade << endl;
cout<< "Serie:\t" << olimp[chk].serie << endl;
cout<< "Nota:\t" << olimp[chk].nota << endl;
cout<< "Faltas:\t" << olimp[chk].falta << endl;
cout<< "=====================================================\n";
}
}
}
else
if(op == 3)
{
system("cls");
for(i=0; i < ctl; i++)
{
if(olimp[i].serie <= 6)
if(olimp[i].falta != 0 || olimp[i].nota < 7)
{
selnv1[selnv_1]=i;
selnv_1++;
}
}
cout<< "=======================================================================\n";
cout<< "\tProva seletiva para Nivel 1, da olimpiada de matematica.\n";
cout<< "=======================================================================\n";
for(i=0; i < ctl; i++)
{
if(selnv1[i] != tam+1)
{
chk=selnv1[i];
cout<< "=====================================================\n";
cout<< "Nome:\t" << olimp[chk].nome << endl;
cout<< "Idade:\t" << olimp[chk].idade << endl;
cout<< "Serie:\t" << olimp[chk].serie << endl;
cout<< "Nota:\t" << olimp[chk].nota << endl;
cout<< "Faltas:\t" << olimp[chk].falta << endl;
cout<< "=====================================================\n";
}
}
}
else
if(op == 4)
{
system("cls");
for(i=0; i < ctl; i++)
{
if(olimp[i].serie == 7 || olimp[i].serie == 8)
if( olimp[i].falta != 0 || olimp[i].nota < 7)
{
selnv2[selnv_2]=i;
selnv_2++;
}
}
cout<< "=======================================================================\n";
cout<< "\tProva seletiva para Nivel 2, da olimpiada de matematica.\n";
cout<< "=======================================================================\n";
for(i=0; i < ctl; i++)
{
if(selnv2[i] != tam+1)
{
chk=selnv2[i];
cout<< "=====================================================\n";
cout<< "Nome:\t" << olimp[chk].nome << endl;
cout<< "Idade:\t" << olimp[chk].idade << endl;
cout<< "Serie:\t" << olimp[chk].serie << endl;
cout<< "Nota:\t" << olimp[chk].nota << endl;
cout<< "Faltas:\t" << olimp[chk].falta << endl;
cout<< "=====================================================\n";
}
}
}
}
Renancr- Mensagens : 118
Data de inscrição : 08/03/2010
Re: Exercícios de Funções 03/09/2010
2) Elabore um programa utilizando funções que efetue a entrada de dados inteiros em uma matriz de 5 linhas por 7 colunas.
O programa deverá buscar por um valor solicitado pelo usuário e caso o valor exista na matriz, mostre os índices de linha e de coluna em que o elemento se encontra, caso não exista o elemento na matriz emita uma mensagem ao usuário. O programa deverá ter as seguintes funções:
- main;
- Entrada de dados na matriz;
- Busca pelo elemento.
As mensagens referentes a encontrar ou não o elemento devem ser emitidas na função main.
O programa deverá buscar por um valor solicitado pelo usuário e caso o valor exista na matriz, mostre os índices de linha e de coluna em que o elemento se encontra, caso não exista o elemento na matriz emita uma mensagem ao usuário. O programa deverá ter as seguintes funções:
- main;
- Entrada de dados na matriz;
- Busca pelo elemento.
As mensagens referentes a encontrar ou não o elemento devem ser emitidas na função main.
- Código:
#include <iostream>
using namespace std;
const int linha=5;
const int coluna=7;
int menu();
void entradado(int vetor[linha][coluna]);
void busca(int vetor[linha][coluna]);
void main()
{
int op, vetor[linha][coluna];
do{
op=menu();
if(op == 1)
{
system("cls");
entradado(vetor);
system("pause");
}
else
if(op == 2)
{
system("cls");
busca(vetor);
system("pause");
}
}while(op != 3);
}
int menu()
{
int op;
do{
system("cls");
cout<< "===============================================\n";
cout<< "\t1- Entrar com valores na matriz.\n";
cout<< "\t2- Buscar valor.\n";
cout<< "\t3- Sair.\n";
cout<< "===============================================\n";
cout<< "\n\tDigite a opcao desejada.\n\t";
cin>> op;
if(op < 1 || op > 3)
{
system("cls");
cout<< "Opcao invalida.\n";
system("pause");
}
}while(op < 1 || op > 3);
return op;
}
void entradado(int vetor[linha][coluna])
{
int l, c;
system("cls");
for(l=0; l < linha; l++)
for(c=0; c < coluna; c++)
{
cout<< "Digite o valor na linha " << l+1 << " coluna " << c+1 << ":\t";
cin>> vetor[l][c];
}
}
void busca(int vetor[linha][coluna])
{
int l, c, chk, cont=0;
system("cls");
cout<< "Digite o valor para procuralo na matriz:\t";
cin>> chk;
cout<< "\n\n";
for(l=0; l < linha; l++)
for(c=0; c < coluna; c++)
if(vetor[l][c] == chk)
{
cout<< "O valor " << chk << " foi encontrado na linha " << l+1 << " coluna " << c+1 << endl;
cont++;
}
if(cont == 0)
cout<< "O valor " << chk << " nao foi encontrado na matriz.\n";
}
Renancr- Mensagens : 118
Data de inscrição : 08/03/2010
Re: Exercícios de Funções 03/09/2010
3) Elabore um programa para calcular áreas de figuras planas que constam no seguinte menu de opções que será disponibilizado ao usuário:
Programa para calculo de áreas
1 - Area de um quadrado
2 - Area de um triangulo
3 - Area de um trapezio
4 - Area de um retangulo
5 - Area de um paralelogramo
6 - Area de um losango
7 - Sair
As fórmulas para os respectivos cálculos são:
Quadrado: área = lado*lado;
Triângulo: área = (base*altura)/2
Trapézio: área = [(Base maior + base menor) * altura]/2
Retângulo: área = lado maior*lado menor
Paralelogramo: área = base *altura
Losango: área = (Diagonal maior * diagonal menor)/2
Observação: Na solução deste exercício, a impressão das áreas devem ser feitas na função main.
Programa para calculo de áreas
1 - Area de um quadrado
2 - Area de um triangulo
3 - Area de um trapezio
4 - Area de um retangulo
5 - Area de um paralelogramo
6 - Area de um losango
7 - Sair
As fórmulas para os respectivos cálculos são:
Quadrado: área = lado*lado;
Triângulo: área = (base*altura)/2
Trapézio: área = [(Base maior + base menor) * altura]/2
Retângulo: área = lado maior*lado menor
Paralelogramo: área = base *altura
Losango: área = (Diagonal maior * diagonal menor)/2
Observação: Na solução deste exercício, a impressão das áreas devem ser feitas na função main.
- Código:
#include <iostream>
using namespace std;
int menu();
float arquad(float lado);
float artri(float altura, float base);
float artrap(float base, float base2, float altura);
float arret(float lado,float lado2);
float arplg(float base, float altura);
float arlog(float dmaior, float dmenor);
void main()
{
int op;
float result, x1, x2, altura;
do{
op=menu();
if(op == 1)
{
system("cls");
cout<< "Digite o tamanho lado do quadrado.\n";
cin>> x1;
result=arquad(x1);
system("cls");
cout<< "========================================================\n";
cout<< "\tA area do quadaro e: " << result << endl;
cout<< "========================================================\n";
system("pause");
}
else
if(op == 2)
{
system("cls");
cout<< "Digite a altuta do triangulo.\n";
cin>> altura;
cout<< "Digite a base do triangulo.\n";
cin>> x1;
result=artri(altura, x1);
system("cls");
cout<< "========================================================\n";
cout<< "\tA area do triangulo e: " << result << endl;
cout<< "========================================================\n";
system("pause");
}
else
if(op == 3)
{
system("cls");
cout<< "Digite a base maior do trapesio.\n";
cin>> x1;
do{
cout<< "Digite a base menor do trapesio.\n";
cin>> x2;
if(x2 >= x1)
{
system("cls");
cout<< "O valor digitado " << x2 << " nao pode ser maior ou igual a " << x1 << endl;
system("pause");
}
}while(x2 >= x1);
cout<< "Digite a altura do trapesio.\n";
cin>> altura;
result=artrap(x1, x2, altura);
system("cls");
cout<< "========================================================\n";
cout<< "\tA area do trapesio e: " << result << endl;
cout<< "========================================================\n";
system("pause");
}
else
if(op == 4)
{
system("cls");
cout<< "Digite o lado maior do retangulo.\n";
cin>> x1;
do{
cout<< "Digite o lado menor do retangulo.\n";
cin>> x2;
if(x2 >= x1)
{
system("cls");
cout<< "O valor digitado " << x2 << " nao pode ser maior ou igual a " << x1 << endl;
system("pause");
}
}while(x2 >= x1);
result=arret(x1, x2);
system("cls");
cout<< "========================================================\n";
cout<< "\tA area do retangulo e: " << result << endl;
cout<< "========================================================\n";
system("pause");
}
else
if(op == 5)
{
system("cls");
cout<< "Digite a base do paralelogramo.\n";
cin>> x1;
cout<< "Digite a altura do paralelogramo.\n";
cin>> altura;
result=arplg(x1, altura);
system("cls");
cout<< "========================================================\n";
cout<< "\tA area do paralelogramo e: " << result << endl;
cout<< "========================================================\n";
system("pause");
}
else
if(op == 6)
{
system("cls");
cout<< "Digite a diagonal maior do losango.\n";
cin>> x1;
do{
cout<< "Digite a diagonal menor do losango.\n";
cin>> x2;
if(x2 >= x1)
{
system("cls");
cout<< "O valor digitado " << x2 << " nao pode ser maior ou igual a " << x1 << endl;
system("pause");
}
}while(x2 >= x1);
result=arlog(x1, x2);
system("cls");
cout<< "========================================================\n";
cout<< "\tA area do losango e: " << result << endl;
cout<< "========================================================\n";
system("pause");
}
}while(op!=7);
}
int menu()
{
int op;
do{
system("cls");
cout<< "====================================================\n";
cout<< "\tCalculo de Area\n";
cout<< "====================================================\n";
cout<< "\t1 - Area de um quadrado\n";
cout<< "\t2 - Area de um triangulo\n";
cout<< "\t3 - Area de um trapezio\n";
cout<< "\t4 - Area de um retangulo\n";
cout<< "\t5 - Area de um paralelogramo\n";
cout<< "\t6 - Area de um losango\n";
cout<< "\t7 - Sair\n";
cout<< "====================================================\n";
cout<< "\n\tDigite a opcao\n\t";
cin>> op;
if(op < 1 || op > 7)
{
system("cls");
cout<< "Opcao invalida\n";
system("pause");
}
}while(op < 1 || op > 7);
return op;
}
float arquad(float lado)
{
float result;
result = lado*lado;
return result;
}
float artri(float altura, float base)
{
float result;
result= (altura * base)/2;
return result;
}
float artrap(float base, float base2, float altura)
{
float result;
result = (base + base2)* altura / 2;
return result;
}
float arret(float lado,float lado2)
{
float result;
result = lado * lado2;
return result;
}
float arplg(float base, float altura)
{
float result;
result= base * altura;
return result;
}
float arlog(float dmaior, float dmenor)
{
float result;
result= (dmaior * dmenor) / 2;
return result;
}
Renancr- Mensagens : 118
Data de inscrição : 08/03/2010
Re: Exercícios de Funções 03/09/2010
4) Supondo um vetor de 10 posições elaborar um programa utilizando funções que efetue a entrada de dados (elementos do tipo inteiro) neste vetor e faça as seguintes operações do menu a seguir:
Programa para verificação de elementos de vetor
1 - Quantidade de números pares inserindos no vetor
2 - Quantidade de números ímapres inseridos no vetor
3 - Sair
Programa para verificação de elementos de vetor
1 - Quantidade de números pares inserindos no vetor
2 - Quantidade de números ímapres inseridos no vetor
3 - Sair
Renancr- Mensagens : 118
Data de inscrição : 08/03/2010
Função de busca de numeros impares e pares
- Código:
#include <iostream>
using namespace std;
const int tam =10;
int menu();
void insere(int vetor[tam]);
void buscapar(int vetor[tam]);
void buscaimpar(int vetor[tam]);
void main()
{
int op, numeros[tam];
insere(numeros);
do{
op=menu();
if(op == 1)
{
buscapar(numeros);
}
else
if(op == 2)
{
buscaimpar(numeros);
}
}while(op != 3);
}
int menu()
{
int op;
do{
system("cls");
cout<< "================================================\n";
cout<< "\t1- Quantidade de numeros pares.\n";
cout<< "\t2- Quantidade de numeros impares.\n";
cout<< "\t3- Sair\n";
cout<< "================================================\n\n";
cout<< "\n\tDigite a opcao desejada\n\t";
cin>> op;
if(op < 1 || op > 3)
{
system("cls");
cout<< "\n\tOpcao digitada invalida.\n\n\n";
system("pause");
}
}while(op < 1 || op > 3);
return op;
}
void insere(int vetor[tam])
{
int i;
for(i=0; i<tam; i++)
{
system("cls");
cout<< "\tDigite o " << i+1 << " numero\n\t";
cin>> vetor[i];
}
}
void buscapar(int vetor[tam])
{
int cont=0, i;
system("cls");
for(i=0; i<tam; i++)
{
if(vetor[i]%2 == 0)
{
cont++;
cout<< vetor[i] << " ";
}
}
cout<< "\n\n";
if(cont > 0)
cout<< "Foram emcontrados " << cont << " numeros pares.\n\n";
else
cout<< "Nao foram encontrados nem um numero par.\n\n";
system("pause");
}
void buscaimpar(int vetor[tam])
{
int cont=0, i;
system("cls");
for(i=0; i<tam; i++)
{
if(vetor[i]%2 != 0)
{
cont++;
cout<< vetor[i] << " ";
}
}
cout<< "\n\n";
if(cont > 0)
cout<< "Foram emcontrados " << cont << " numeros impares.\n\n";
else
cout<< "Nao foram encontrados nem um numero impar.\n\n";
system("pause");
}
Renancr- Mensagens : 118
Data de inscrição : 08/03/2010
Tópicos semelhantes
» Exercícios Lista 1
» Exercícios Lista 2
» Registro sem uso de função exercícios
» LFA aulas teóricas e exercícios
» Exercícios de vetor e matriz
» Exercícios Lista 2
» Registro sem uso de função exercícios
» LFA aulas teóricas e exercícios
» Exercícios de vetor e matriz
Binary Road :: Lógica e Técnica de Programação :: Programação Orientada a Objeto :: Análise de Algoritmos :: Organização e Recuperação da Informação :: Estrutura de dados e algoritimos :: Estudo
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos