Mostrando postagens com marcador Programação de Computadores. Mostrar todas as postagens
Mostrando postagens com marcador Programação de Computadores. Mostrar todas as postagens

segunda-feira, 16 de maio de 2016

Programação de Computadores - 16 de Maio de 2016

Programação de Computadores - 16 de Maio de 2016

Prova remarcada para 01/06/2016

Vetores

Declaração vetor

int dados[10];
tipo_de_dados nome_do_vetor [tamanho_do_vetor]

dados[i]

for (i=0; i<10; i++){

} // fechamento do for

for (i=9; i>0; i--){

} // fechamento do for

Crie um programa em c++ que realize o preenchimento de um vetor com 10 números inteiros e em seguida após a leitura imprima:

a) o maior e menor elemento;
b) a posição do vetor onde encontram-se os elementos pares;
c) a soma dos elementos do vetor.


Resposta minha (testada no CodeBlcks - funcionando):

#include <iostream>

using namespace std;

int main() {

//declarando as variáveis
int i;

int maior;
int menor;
int somaelementos;

//zerando as variáveis
i=0;

maior=0;
menor=0;
somaelementos=0;

int dados[10];

// entrando com os dados no vetor
for (i=0;i<10;i++){
 cout<<"Informe o dado "<<i+1<<"."<<endl;
 cin>>dados[i];
} // fechamento do for

// encontrando o maior e o menor elemento
maior=dados[0];
menor=dados[0];


for (i=0;i<10;i++){
  if (menor>dados[i]){   menor=dados[i];
  } // fechamento do if
  if(maior<dados[i]){
   maior=dados[i];
  }// fechamento do if

} // fechamento do for

//saídas
// resposta da letra A
cout<<"O maior elemento é "<<maior<<endl;
cout<<"O menor elemento é "<<menor<<endl;

// resposta da letra B
// identificando a posição dos elementos pares no vetor
for (i=0;i<10;i++){
 if (dados[i]%2==0){
  // saída da resposta da letra B
  cout<<"O número armazenado na posição "<<i<<" é par."<<endl;
 } // fechamento do if
} // fechamento do for


// resposta da letra C
// realizando a soma dos elementos do vetor
for (i=0;i<10;i++){
 somaelementos=somaelementos+dados[i];
 } // fechamento do for
// saída da resposta da letra C
cout<<"A soma dos elementos do vetor é "<<somaelementos<<"."<<endl;

} // fechamento do int main


Resposta da professora (esquema)

int main(){

int i;
int dados[10];
int maior, menor;

"preenchendo o vetor com 10 números inteiros

cout<<"Informe 10 números inteiros"<<endl;
for(i=0;i<10;i++){
 cin>>dados[i];
}
maior=dados[0];
menor=dados[0];

// verificando quem é o maior e o menor

for(i=0;i<10;i++){
 if (dados[i]>maior){
  maior=dados[i];
 }
 if (dados[i]<menor){
  menor=dados[i];
 }

}

} // fechamento do int main


Resposta da professora

int main(){

int i, maior, menor,soma;
int dados[10];

// colocando números inteiros no vetor
cout<<"Informe 10 números."<<endl;
for(i=0;i<10;i++){
 cin>>dados[i];
}

// transferindo o primeiro valor
maior=dados[0];
menor=dados[0];

// verificando o maior e o menor
for (i=0;i<10;i++){
 if (dados[i]>maior){
  maior=dados[i];
 }
 if (dados[i]<menor){
  menor=dados[i];
 }

// Posição dos elementos pares

cout<<"Posições onde existem elementos pares"<<endl;

for (i=0;i<10;i++){
 if (dados[i]%2==0){
  cout<<i<<"|";
 }
}

// somando todos os elementos
for(i=0;i<10;i++){
 soma=soma+dados[i];
}
// saídas
cout<<"A soma dos elementos do vetor é: "<<soma<<endl;
cout<<"O maior elemento é: "<<maior<<endl;
cout<<"O menor elemento é: "<<menor<<endl;
return 0;
}


Exercício 02

Faça um programa em c++ que realize a leitura de 10 números em um arquivo chamado dados1.txt, armazene esses dados em um vetor, e, em seguida, grave outro arquivo chamado dados2.txt com os valores do vetor em ordem inversa.


Resposta minha (testado no CodeBlocks):

#include <iostream>
#include <fstream>

using namespace std;

int main(){

// declarando as variáveis
int i;
int vetor[10];

//zerando as variáveis
i=0;

// lendo os dados de dados1.txt

ifstream lendo("dados1.txt");
 
for (i=0;i<10;i++){
 // gravando os dados no vetor
 lendo>>vetor[i];
} // fechamento do for

// gravando os dados em ordem inversa em dados2.txt
ofstream gravando ("dados2.txt");

for (i=9;i>=0;i--){
 // gravando os dados no vetor
 gravando<<vetor[i]<<endl;
} // fechamento do for


} // fechamento do int main

Lucas T R Freitas

quarta-feira, 11 de maio de 2016

Programação de Computadores – 11 de Maio de 2016

Programação de Computadores – 11 de Maio de 2016

Professor André

Vetores
- composto
- homogêneo
- acesso
- declaração

notas:
0 – 9.0
1 – 10.0
2 – 8.0
3 – 7.0
4 – 8.5

cout<<notas[3];
notas[4]=notas[4]+1;
notas[3] = 9.0;


int main(){
float notas[5];
notas[0]=10.0;
notas[1]=9.0;
notas[2]=8.0;
notas[3]=9.0;
notas[4]=7.0;

}// fechamento do int main

#include <iostream>
using namespace std;

int main(){
//<Tipo> <Nome> [<tamanho>];
float notas[5];

notas[0]=10.0;
notas[1]=9.0;
notas[2]=8.0;
notas[3]=9.0;
notas[4]=7.0;


cout<<notas[0]<<endl;
cout<<notas[1]<<endl;
cout<<notas[2]<<endl;
cout<<notas[3]<<endl;
cout<<notas[4]<<endl;
return 0;

} // fechamento do int main



#include <iostream>
using namespace std;

int main(){
//<Tipo> <Nome> [<tamanho>];
float notas[5];

for(int cont=0; cont<=4; cont++){
cout<<”informe a nota: ”;
cin>>notas[cont];

} // fechamento do for

for(int cont=0; cont<=4; cont++){
cout<<notas[cont]<<”, ”;
}// fechamento do for

return 0;

} // fechamento do int main


#include <iostream>
using namespace std;

int main(){
//<Tipo> <Nome> [<tamanho>];
int numeros[10];

for(int i=0; i<10; i++){
cout<<”Informe um numero: ”;
cin>>numeros[i];

} // fechamento do for

int soma=0;
for(int i=0; cont<10; i++){
soma=soma+numeros[i];
}// fechamento do for

float media = soma/10.0;
cout<<”Media…….: “<<media<<endl;

return 0;

} // fechamento do int main

Dado um conjunto de 10 símbolos, imprimir na tela todas as vogais.

0 - f
1 - 7
2 - 4
3 - a
4 - e
5 - t
6 - 9
7 – T
8 - k
9 – u

int main(){
//<Tipo> <Nome> [<tamanho>];
string simbolos[10];

for(int i=0; i<10; i++){
cout<<”Informe um simbolo: ”;
cin>>simbolos[i];

} // fechamento do for

for(int i=0; i<10; i++){
if (simbolos[i] == “a”|| simbolos[i] ==”e” || simbolos[i] ==”i” || simbolos[i] ==”o” || simbolos[i] ==”u”){
cout<<simbolos[i]<<”, “;
} // fechamento do if
}// fechamento do for

float media = soma/10.0;
cout<<”Media…….: “<<media<<endl;

return 0;

} // fechamento do int main



Dado um banco de dados (arquivos) de 10 símbolos, imprimir na tela todas as vogais.

0 - f
1 - 7
2 - 4
3 - a
4 - e
5 - t
6 - 9
7 – T
8 - k
9 – u

#include<iostream>
#include<fstream>
using namespace std;

int main(){
ifstream arqSimb(“dados.txt”); //ifstream = input file stream (entrada de fluxo de dados)

//<Tipo> <Nome> [<tamanho>];
string simbolos[10];

for(int i=0; i<10; i++){
arqSimb>>simbolos[i];

} // fechamento do for

cout<<”Carregando símbolos do arquivo...”;
for(int i=0; i<10; i++){
if (simbolos[i] == “a”|| simbolos[i] ==”e” || simbolos[i] ==”i” || simbolos[i] ==”o” || simbolos[i] ==”u”){
cout<<simbolos[i]<<”, “;
} // fechamento do if
}// fechamento do for

arqSimb.close;
return 0;

} // fechamento do int main



Utilizando função.

Dado um banco de dados (arquivos) de 10 símbolos, imprimir na tela todas as vogais.

0 - f
1 - 7
2 - 4
3 - a
4 - e
5 - t
6 - 9
7 – T
8 - k
9 – u

#include<iostream>
#include<fstream>
using namespace std;

// bool // variável boleana: true or false

int Vogal ( string simb){
if (simb == “a”|| simb ==”e” || simb ==”i” || simb ==”o” || simb ==”u”){
return 1;
} // fechamento do if
else{
retunr 0;
}

int main(){
ifstream arqSimb(“dados.txt”); //ifstream = input file stream (entrada de fluxo de dados)

//<Tipo> <Nome> [<tamanho>];
string simbolos[10];

for(int i=0; i<10; i++){
arqSimb>>simbolos[i];

} // fechamento do for

cout<<endl;
for(int i=0; i<10; i++){
if (Vogal(simbolos[i])==1){
cout<<simbolos[i]<<”, “;
} // fechamento do if
}// fechamento do for

return 0;

} // fechamento do int main

quarta-feira, 4 de maio de 2016

Programação de Computadores - 04 de Maio de 2016

Programação de Computadores - 04 de Maio de 2016

Exercícios

- 1 - Crie uma função chamada MaiorTres que receba 3 valores inteiros como parâmetros e retorne o maior desses 3 valores.

- 2 - Crie uma função chamada Saudacao que receba como parâmetro um inteiro que represente a hora atual (hora cheia) e imprima na tela uma saudação (Bom dia!, Boa tarde!, ou Boa noite!) de acordo com a hora informada. Crie também o teste de utilização dentro da função main.

- 3 - Crie uma função em c++ chamada "Digito" que receba um caracter como parâmetro e retorne "É dígito" se o caracter informado for um dígito e "Não é dígito" se não for um dígito numérico.
Crie o teste de utilização dentro da função main.



Respostas minhas:

1-

Resposta com passagem de parâmetros - testada no CodeBlocks

// iniciando o programa no CodeBlocks

#include <iostream>
#include <cstdlib>
#include <fstream>

using namespace std;

int MaiorTres (int x, int y, int z){
int maior;
if (x>y && x>z){
   maior=x;
} // fechamento do if
if (y>x && y>z){
   maior=y;
} // fechamento do if
if (z>y && z>x){
   maior=z;
} // fechamento do if


return maior;

} // fechamento da int MaiorTres


int main(){

// declarando as variáveis
int x,y,z,resultado;

// zerando as variáveis
x=0;
y=0;
z=0;

// solicitando os números
cout<<"Digite o primeiro número."<<endl;
cin>>x;

cout<<"Digite o segundo número."<<endl;
cin>>y;
cout<<"Digite o terceiro número."<<endl;
cin>>z;

// Executando a função

resultado=MaiorTres(x,y,z);

// Mostrando o resultado
cout<<"O maior valor é: "<<resultado<<"."<<endl;

// finalizando o programa

return 0;

} // fechamento do int main


Resposta sem passagem de parâmetros - testada no CodeBlocks

// iniciando o programa no CodeBlocks

#include <iostream>
#include <cstdlib>
#include <fstream>

using namespace std;

// Fazendo a função void
void MaiorTres (){

// declarando as variáveis
int x,y,z,maior;

// zerando as variáveis
x=0;
y=0;
z=0;
maior=0;

// solicitando os números
cout<<"Digite o primeiro número."<<endl;
cin>>x;

cout<<"Digite o segundo número."<<endl;
cin>>y;
cout<<"Digite o terceiro número."<<endl;
cin>>z;

// comparando os números

if (x>y && x>z){
   maior=x;
} // fechamento do if
if (y>x && y>z){
   maior=y;
} // fechamento do if
if (z>y && z>x){
   maior=z;
} // fechamento do if

// Mostrando o resultado
cout<<"O maior valor é: "<<maior<<"."<<endl;


} // fechamento da void MaiorTres



int main(){

// chamar a função void
MaiorTres();

// encerrando
return 0;
} // fechamento do int main



2 -

Resposta com passagem de parâmetros - testada no CodeBlocks

// iniciando o programa no CodeBlocks

#include <iostream>
#include <cstdlib>
#include <fstream>

using namespace std;

string Saudacao (int hora){
string saudacao;
if (hora>=0 && hora<12){
   saudacao="Bom dia!";
} // fechamento do if
if (hora>=12 && hora<18){
   saudacao="Boa tarde!";
} // fechamento do if
if (hora>=18 && hora<=24){
   saudacao="Boa noite!";
} // fechamento do if


return saudacao;

} // fechamento da int Saudacao


int main(){

// declarando as variáveis
int hora;
string resultado;

// zerando as variáveis
hora=0;

// solicitandoo valor inteiro da hora
cout<<"Digite a hora inteira."<<endl;
cin>>hora;

// Executando a função

resultado=Saudacao(hora);

// Mostrando o resultado
cout<<resultado<<"."<<endl;

// finalizando o programa

return 0;

} // fechamento do int main


Resposta sem passagem de parâmetros - testada no CodeBlocks

// iniciando o programa no CodeBlocks

#include <iostream>
#include <cstdlib>
#include <fstream>

using namespace std;

// iniciando a void Saudacao
void Saudacao (){

// declarando as variáveis
int hora;
string resultado;

// zerando as variáveis
hora=0;

// solicitandoo valor inteiro da hora
cout<<"Digite a hora inteira."<<endl;
cin>>hora;

// iniciando a comparação do horário
string saudacao;
if (hora>=0 && hora<12){
   saudacao="Bom dia!";
} // fechamento do if
if (hora>=12 && hora<18){
   saudacao="Boa tarde!";
} // fechamento do if
if (hora>=18 && hora<=24){
   saudacao="Boa noite!";
} // fechamento do if

// Mostrando o resultado
cout<<saudacao<<"."<<endl;


} // fechamento da void Saudacao


int main(){

// chamando a função SaudacaoSaudacao();


// finalizando o programa

return 0;

} // fechamento do int main


3 -

Resposta com passagem de parâmetros - testada no CodeBlocks

// iniciando o programa no CodeBlocks

#include <iostream>
#include <cstdlib>
#include <fstream>

using namespace std;

//iniciando a função do tipo string
string Digito (string x){
string digito; 
 
if (x>="0" && x<="9"){
   digito="É digito.";
} // fechamento do if
else {
   digito="Não é dígito.";
} // fechamento do if

return digito;

} // fechamento da função string Digito


int main(){

// declarando as variáveis
string x;
string resultado;

// zerando as variáveis
x="0";
resultado="";

// solicitando o caracter
cout<<"Digite caracter."<<endl;
cin>>x;

// Executando a função

resultado=Digito(x);

// Mostrando o resultado
cout<<resultado<<"."<<endl;

// finalizando o programa

return 0;

} // fechamento do int main


Lucas T R Freitas

segunda-feira, 2 de maio de 2016

Programação de Computadores - 02 de Maio de 2016

Programação de Computadores - 02 de Maio de 2016

Modularização - funções

uma função é um módulo de um sistema maior.

Exemplo: crie uma função em C++ chamada Soma Dois que receba dois valores. Crie também o teste de utilização da função dentro da função "main".

// função com passagem de parâmetros

// tipo de dado da função // nome da função // tipo de dado dos parâmetros
int SomaDois (int x, int y)
{
   int soma;
   soma = x+y;
   return soma;
}

int main ()
{
int a, b, resultado;
cout<<"Informe um número"<<endl;
cin>>a;
cout<<"informe outro número"<<endl;
cin>>b;
resultado=SomaDois(a,b);
cout<<"O valor da soma é: "<< resultado)
}

void SomaDois(){
   int x, y;
   cout<<"Informe dois números"<< endl;
   cin>>x;
   cin>>y;
   coma = x+y;
   cout<<"A soma é<<soma<<endl;
}
int main(){
   SomaDois();
   return 0;
}


Exercício

Faça um algoritmo que verifique através de uma função se um determinado número informado pelo usuário é para ou ímpar.

Resolução minha:

string Verifica (int x)
{
   string verificado;
   if (x%2==0){
      verificado="par";
   }
   else{
      verificado = "impar";
   }
   return verificado
}

int main ()
{
int a;
string resultado;
cout<<"Informe um número"<<endl;
cin>>a;
resultado=Verifica(a);cout<<"O numero é: "<<resultado)
}

Resposta da professora

#include <iostream>
using namespace std;

string numero (int n){

string sit;
if (n%2==0){
   sit="Par";
   return sit;
}
else{
   sit="Impar";
   return sit;
}
}

int main() {

int x

string resp;

cout<<"Informe um número"<<endl;
cin>>x;
resp=numero(x);
cout<<resp<<endl;

}


// Função sem passagem de parâmetros

void SomaDois(){
int x,y,soma;
cout<<"informe dois números"<<endl;
cin>>x;
cin>>y;
soma=x+y;
cout<<"A soma dos dois números é: "<<soma<<endl;

}
int main(){
SomaDois();
return 0;
}


//

#include <iostream>
using namespace std;
void ParImpar(){
int x;
string resp;

cout<<"Informe um número inteiro"<<endl;
cin>>x;
if (x%2==0){
resp="Par";
}
else{
resp="Impar";
}
cout<<resp<<endl;
}

int main(){
ParImpar();
return 0;
}


Lucas T R Freitas

quarta-feira, 27 de abril de 2016

Programação de Computadores - 27 de Abril de 2016

Programação de Computadores - 27 de Abril de 2016

Exercício:
Crie um programa que realize a leitura de 20 números inteiros em um arquivo chamado "dadosoriginais.txt"  e separe os números lidos em dois arquivos de forma que um deles tenha os números pares e o segundo apenas os números ímpares.

Exercício:
Crie um programa para realizar a leitura de 5 palavras (com tamanhos diferentes) gravada em um arquivo texto e em seguida exibir na tela a maior e menor palavra.
Dica: utilize o método length de uma string para obter o tamanho.
Exemplo: if (palavra.length()<...)


Resposta do primeiro exercício (resposta minha - testada no CodeBlocks)

# include <iostream>
# include <fstream>
# include <cstdlib>

using namespace std;

int main() {

// declarando as variáveis
int num, i, verificaprimo, contadivisores;

// zerando as variáveis
num=0;
i=0;
verificaprimo=0;
contadivisores=0;

ifstream lendo ("dadosoriginais.txt");
ofstream gravapares ("numerospares.txt");
ofstream gravaimpares ("numerosimpares.txt");
ofstream gravaprimos ("numerosprimos.txt");

  for (i=1;i<=20;i++){

    lendo>>num;

    // vendo se o número é impar
    if (num%2==1){
        gravaimpares<<num<<endl;
    } // fechamento do if

    // verificando se o número par
    if (num%2==0){
       gravapares<<num<<endl;
    } // fechamento do if

    // verificando se o número é primo
    for (verificaprimo=1;verificaprimo<=num;verificaprimo++){
       if (num%verificaprimo==0){
            contadivisores++;
       }



    } // fechamento do for

    // Verificando se o número é primo
    if (contadivisores==2){
        gravaprimos<<num<<endl;
    }

    // zerando os verificadores de números primos
    verificaprimo=0;
    contadivisores=0;

  } // fechamento do for



lendo.close();
gravaimpares.close();
gravapares.close();
gravaprimos.close();

// informando que o programa foi executado

cout<<"O programa foi executado. Numeros impares gravados. Numeros pares gravados. Numeros primos gravados."<<endl;


system("Pause");

return 0;

} // fechamento do int main


Resposta do segundo exercício (resposta minha - testada no CodeBlocks)


# include <iostream>
# include <fstream>
# include <cstdlib>


using namespace std;


int main() {

// declarando as variáveis
int i;
string palavra, palavramenor, palavramaior;

// zerando as variáveis
i=0;

ifstream lendo ("Lerpalavras.txt");

for (i=1;i<=5;i++){

    lendo>>palavra;

    // vendo se o número é impar
    if (i==1){
        palavramaior=palavra;
        palavramenor=palavra;
    } // fechamento do if

    // verificando se o número par
    else {
        if (palavramaior.length()<palavra.length()){
            palavramaior=palavra;
        }
        if (palavramenor.length()>palavra.length()){
            palavramenor=palavra;
        }

    } // fechamento do else
} // fechamento do for

// informando o resultado

cout<<"A maior palavra é;"<<palavramaior<<endl;
cout<<"A menor palavra é;"<<palavramenor<<endl;

system("Pause");

return 0;

} // fechamento do int main


Correção da professora

Resposta da primeira questão

#include <iostream>
#include <fstream>

using namespace std;

int main(){
   int num, I;
   ifstream lendo ("dadosoriginais.txt");
   ofstream grava1 ("pares.txt");
   ofstream grava2 ("impares.txt");
      for (I=1;I<=20;I++){
         lendo>>num;
         if(num%2==0){
            grava1<<num<<endl;
         } // fechamento do if
         else{
            grava2<<num<<endl;
         } // fechamento do else

      } // fechamento do for

lendo.close();
grava1.close();
grava2.close();

} // fechamento do int main



Resposta da segunda questão

#include <iostream>
#include <fstream>

using namespace std;

int main(){

string palavra = " ";
string maior=" ", menor=" ";
int i;

ifstream arqpalavras("palavras.txt");
   for(i=1;i<=5;i++){
      arqpalavras>>palavra;
      if(palavra.length()>maior.length() || i==1){
         maior=palavra;
      } // fechamento do if
      if(palavra.length()<menor.length() || i==1){
         menor=palavra;
      } // fechamento do if

   } // fechamento do for

cout<<"Maior"<<maior<<endl;
cout<<"Menor"<<menor<<endl;

arqpalavras.close();
return 0;

} // fechamento do int main


Lucas T R Freitas

segunda-feira, 25 de abril de 2016

Programaçao de Commputadores - 25 de Abril de 2016

Não teve aula. Estudo à parte.

Questão de exemplo: criando arquivo com 4 nomes


#include <iostream>
#include <fstream>

using namespace std;

int main()
{
    // declarando as variáveis
    int i;
    string nome;

    // zerando as variáveis
    i=0;

    ofstream gravanomedoaluno ("alunos.txt");

    for(i=1;i<=4;i++){
        cout << "Informe o nome do aluno" << endl;
        cin>>nome;

        gravanomedoaluno<<nome<<endl;
        // criar função para gravar

    } // fechamento do for

    return 0;
}


Resposta da Questão 6)

Resposta minha, testada no codeblocks

# include <iostream>

# include <fstream>

# include <cstdlib>


using namespace std;


int main() {


int num, i;

int n1, n2, n3;


ifstream lendo ("arq.txt");


  for (i=1;i<=3;i++){

    lendo>>num;

    if (i==1){

       n1=num;

    } // fechamento do if

    if (i==2){

       n2=num;

    } // fechamento do if

    if (i==3){

       n3=num;

    } // fechamento do if

  } // fechamento do for



lendo.close();



// verificando se o n1 é o maior


if (n1>n2 && n1>n3){

  if (n2>n3){

    ofstream grava ("outroarquivo.txt");

      grava<<n3<<endl;

      grava<<n2<<endl;

      grava<<n1<<endl;

    grava.close();

  } // fechamento do if


  else{

     ofstream grava2 ("outroarquivo.txt");

       grava2<<n2<<endl;

       grava2<<n3<<endl;

       grava2<<n1<<endl;

     grava2.close();

   } // fechamento do else


}  // fechamento do if



// verificando se o n2 é o maior



if (n2>n1 && n2>n3){

    if (n1>n3){

      ofstream grava3 ("outroarquivo.txt");

        grava3<<n3<<endl;

        grava3<<n1<<endl;

        grava3<<n2<<endl;

      grava3.close();

     } // fechamento do if

    else {

      ofstream grava4 ("outroarquivo.txt");

        grava4<<n1<<endl;

        grava4<<n3<<endl;

        grava4<<n2<<endl;

      grava4.close();

    } // fechamento do else

} // fechamento do if



// verificando se o n3 é o maior



if (n3>n1 && n3>n2){

    if (n1>n2){

      ofstream grava5 ("outroarquivo.txt");

        grava5<<n2<<endl;

        grava5<<n1<<endl;

        grava5<<n3<<endl;

      grava5.close();

    } // fechamento do if

    else {

      ofstream grava6 ("outroarquivo.txt");

        grava6<<n1<<endl;

        grava6<<n2<<endl;

        grava6<<n3<<endl;

      grava6.close();

    } // fechamento do else


} // fechamento do if



system("Pause");



return 0;



} // fechamento do int main



// fim da resposta

Lucas T R Freitas

quarta-feira, 20 de abril de 2016

Programação de Computadores - 20 de Abril de 2016

Programação de Computadores - 20 de Abril de 2016


Respostas dos exercícios (correção da professora)


# include <iostream>
# include <fstream>
# include <cstdlib>

using namespace std;

int main() {

int num, i;
int n1, n2, n3;

ifstream lendo ("arq.txt");

  for (i=1;i<=3;i++){
    lendo>>num;
    if (i==1){
       n1=num;
    } // fechamento do if
    if (i==2){
       n2=num;
    } // fechamento do if
    if (i==3){
       n3=num;
    } // fechamento do if
  } // fechamento do for


lendo.close();


// verificando se o n1 é o maior

if (n1>n2 && n1>n3){
  if (n2>n3){
    ofstream grava ("arq.txt");
      grava<<n3<<endl;
      grava<<n2<<endl;
      grava<<n1<<endl;
    grava.close();
  } // fechamento do if

  else{
     ofstream grava2 ("arq.txt");
       grava2<<n2<<endl;
       grava2<<n3<<endl;
       grava2<<n1<<endl;
     grava2.close();
   } // fechamento do else

}  // fechamento do if


// verificando se o n2 é o maior


if (n2>n1 && n2>n3){
    if (n1>n3){
      ofstream grava3 ("arq.txt");
        grava3<<n3<<endl;
        grava3<<n1<<endl;
        grava3<<n2<<endl;
      grava3.close();
     } // fechamento do if
    else {
      ofstream grava4 ("arq.txt");
        grava4<<n1<<endl;
        grava4<<n3<<endl;
        grava4<<n2<<endl;
      grava4.close();
    } // fechamento do else
} // fechamento do if


// verificando se o n3 é o maior


if (n3>n1 && n3>n2){
    if (n1>n2){
      ofstream grava5 ("arq.txt");
        grava5<<n2<<endl;
        grava5<<n1<<endl;
        grava5<<n3<<endl;
      grava5.close();
    } // fechamento do if
    else {
      ofstream grava6 ("arq.txt");
        grava6<<n1<<endl;
        grava6<<n2<<endl;
        grava6<<n3<<endl;
      grava6.close();
    } // fechamento do else

} // fechamento do if


system("Pause");


return 0;


} // fechamento do int main


Lucas T R Freitas

segunda-feira, 18 de abril de 2016

Programação de Computadores - 18 de Abril de 2016

Programação de Computadores - 18 de Abril de 2016

Exercícios

5) Crie um programa em C++ que realize a leitura de 3 números presentes em um arquivo e, em seguida, grave no mesmo arquivo os três números em ordem crescente.

6) Crie um programa em C++ que realize a leitura de 3 números presentes em um arquivo e, em seguida, grave em um outro arquivo os três números em ordem crescente.

7) Crie um programa em C++ que realize a leitura de 20 números presentes em um arquivo chamado dadosOriginais.txt e separe os números lidos em 3 arquivos de forma que um deles tenha apenas os números pares (numPares.txt), o segundo tenha apenas os números ímpares (numImpares.txt) e o terceiro tenha apenas números primos (numPrimos.txt).

8) Crie um programa em C++ para realizar a leitura de 5 palavras (com tamanhos diferentes) gravadas em um arquivo texto e em seguida exibir na tela a maior e a menor palavra. Dica: utilize o método length() de uma string para obter o tamanho da palavra.


Correção dos exercícios da última aula:

Respostas da professora

Questão 1)

# include <iostream>
# include <fstream>

int main(){

int num, I;
int soma;

soma=0;

// gravando 10 números em um arquivo
ofstream grava ("arq.txt");
  for (I=1; I<=10;I++){
    cout<<"Informe 10 números"<<endl;
    cin>>num;
    grava<<num<<endl; // o endl joga o próximo número para uma linha abaixo.
  } // fechamento do for

gravaa.close();

// lendo os 10 números e acumulando a soma

ifstream lendo ("arq.txt");
  for (I=1;I<=10;++){
    lendo>>num;
    soma=soma+num;
  } // fechamento do for

lendo.close();
cout<<"A soma dos 10 números é: "<<soma<<endl;

} // fechamento do int main


Questão 2)

int main() {

int num, I, contpar=0,contimpar=0;

// gravando 10 números em um arquivo

ofstream gravando ("dados.txt");
  cout<<"Informe 10 números."<<endl;
  for(I=1;I<=10;I++){
    cin>>num;
    gravando<<num<<endl;
  } // fechamento do for

gravando.close();

// lendo 10 números de um arquivo e contando os pares e ímpares

ifstream leitura ("dados.txt");
  for (I=1;I<=10;I++){
    leitura>>num;
    if (num%2==0){
      contpar=contpar+1;
      cout<<"número par "<<num<<endl;
    } // fechamento do if
    else{
      contimpar=contimpar+1;
      cout<<"número ímpar "<<num<<endl;
    } // fechamento do else
  } // fechamento do for

leitura.close();

cout<<"A quantidade de números pares é: "<<contpar<<endl;
cout<<"A quantidade de números ímpares é: "<<contimpar<<endl;

return 0;

} // fechamento do int main


Respostas dos exercícios
Questão 5 - Resposta minha - testada no CodeBlocks - funcionando

# include <iostream>
# include <fstream>

using namespace std;

int main() {

// declarando as variáveis
int i;
int ium;
int idois;
int itres;
int num;

// zerando as variáveis
i=0;
ium=0;
idois=0;
itres=0;
num=0;

// realizar a leitura do arquivo
ifstream leitura ("arq.txt");
  for (i=1;i<=3;i++){
     leitura>>num;
     if (i==1){
       ium=num;
     } // fechamento do if
     if (ium>num) {
          itres=idois;
          idois=ium;
          ium=num;
     } // fechamento do if
     if (ium<num && idois>num) {
            itres=idois;
            idois=num;
     } // fechamento do if 
     if (ium<num && idois<num){
          itres=num;
     } // fechamento do if

  }  // fechamento do for

// fechando a função de leitura
leitura.close();

// gravando os três números em ordem crescente

ofstream grava ("arq.txt");
  for (i=1;i<=3;i++){
     if (i==1){
       grava<<ium<<endl;
     } // fechamento do if
     if (i==2){
       grava<<idois<<endl;
     } // fechamento do if
     if (i==3){
       grava<<itres<<endl;
     } // fechamento do if
   } // fechamento do for

// fechando a função de gravação
grava.close();

// explicando na tela que o arquivo foi reorganizado
cout<<"O arquivo foi reorganizado em ordem crescente."<<endl;

return 0;

} // fechamento do int main



Lucas T R Freitas

quarta-feira, 13 de abril de 2016

Programação de Computadores - 13 de Abril de 2016

Programação de Computadores - 13 de Abril de 201

Exercícios

1) Gravar 10 números inteiros em um arquivo externo, após fazer a leitura desses números e imprimir a soma dos números.

2) Gravar 10 números em um arquivo externo e depois fazer a leitura e informar quantos e quais são pares.

3) Gravar o nome e a média de 15 alunos de uma turma em um arquivo externo. Após fazer a leitura e retornar o nome e a média do aluno com maior e menor média.


Resposta do primeiro exercício (resposta da professora)

# include <fstream>

int main(){
  int i, num, soma;
  soma=0;
  ofstream saida ("arq.txt");
    for (i=1;i<=10;i++){
       cout<<"Informe o "<<i<<"º número"<<endl;
      cin>> num;
      saida<<num<<endl;
    } // fechamento do for

saida.close();

ifstream lendo ("arq.txt");
  for (i=1; i<=10;i++){
    lendo>>num;
    soma=soma+num;
  } // fechamento do for
lendo.close();

cout<<"A soma dos 10 números é"<<soma<<endl;

} // fechamento do int main


// resposta da segunda questão
// resposta minha (testada no CodeBlocks e funcionando)

#include <iostream>
#include <fstream>

int main(){
 
// declarando as variáveis
int i;
int num;
int numerospares;

// zerando as variáveis
i=0;
num=0;
numerospares=0;


// começando o programa

// gravando os números
  ofstream gravar ("arq.txt");
    for (i=1;i<=10;i++){
      cout<<"Informe o "<<i<<"º número"<<endl;
      cin>> num;
      gravar<<num<<endl;
    } // fechamento do for

// fechando a ferramenta de gravação
gravar.close();

// lendo os números
ifstream lendo ("arq.txt");
  for (i=1; i<=10;i++){
    lendo>>num;
 
    if (num%2==0) {
      cout<<"O número "<<num<<" é par"<<endl;
      numerospares=numerospares+1;
    }  // fechamento do if


  } // fechamento do for

// fechando a ferramenta de leitura
lendo.close();

cout<<"A quantidade de números pares é "<<numerospares<<"."<<endl;

return 0;


}// fechamento do int main

// final do programa


// outra solução para a segunda questão (testada no CodeBlocks e funcionando)
#include <iostream>
#include <fstream>
using namespace std;

int main()
{
// declarando as variáveis
int i,num,contpar;
    contpar=0;

    ofstream saida ("arq.txt");
    for (i=1;i<=10;i++){
        cout<<"Informe o "<<i<<"º numero."<<endl;
        cin>>num;
        saida<<num<<endl;
    }
    saida.close();

ofstream gravapares ("pares.txt");

    ifstream lendo ("arq.txt");
    for (i=1;i<=10;i++){
       lendo>>num;
       if(num%2==0){
       contpar++;
       gravapares<<num<<endl;
       } // fechamento do if
    } // fechamento do for
    lendo.close();
    gravapares.close();

    cout<<"Existem "<<contpar<<" numeros pares"<<endl;

    ifstream lendopares ("pares.txt");
    for (i=1;i<=contpar;i++){
     lendopares>>num;
    cout<<num<<endl;
    }
lendopares.close();

}




// resposta da terceira questão
// resposta minha, testada no codeblocks e funcionando

#include <iostream>
#include <fstream>

using namespace std;

int main(){
 
// declarando as variáveis
int i;
string nome;
float nota;
string nomenotamaior;
float notamaior;
string nomenotamenor;
float notamenor;

// zerando as variáveis
i=0;
nota=0;
notamaior=0;
notamenor=0;


// começando o programa

// gravando os nomes
  ofstream gravarnome ("nomes.txt");
// gravando as notas
  ofstream gravarnota ("notas.txt");
    for (i=1;i<=15;i++){
      cout<<"Informe o nome do "<<i<<"º aluno"<<endl;
      cin>> nome;
      gravarnome<<nome<<endl;
      cout<<"Informe a nota do "<<i<<"º aluno"<<endl;
      cin>> nota;
      gravarnota<<nota<<endl;

    } // fechamento do for

// fechando as ferramentas de gravação
gravarnome.close();
gravarnota.close();


// lendo os nomes e notas
ifstream lendonomes ("nomes.txt");
ifstream lendonotas ("notas.txt");

// zerando o valor da variável nota
nota=0;

  for (i=1; i<=15;i++){
    lendonomes>>nome;
    lendonotas>>nota;

    if (i==1){
      notamaior=nota;
      notamenor=nota;
      nomenotamaior=nome;
      nomenotamenor=nome;
    }  // fechamento do if

   else{
     if(notamaior<nota){
       notamaior=nota;
       nomenotamaior=nome;
     } // fechamento do if
     if(notamenor>nota){
       notamenor=nota;
       nomenotamenor=nome;
     } // fechamento do if
   } // fechamento do else

  } // fechamento do for


// fechando as ferramentas de leitura
lendonomes.close();
lendonotas.close();


// executando as saídas
cout<<"O nome do aluno com a maior nota e "<<nomenotamaior<<" e a nota dele e "<<notamaior<<"."<<endl;
cout<<"O nome do aluno com a menor nota e "<<nomenotamenor<<" e a nota dele e "<<notamenor<<"."<<endl;
return 0;

}// fechamento do int main

// final do programa



Lucas T R Freitas

segunda-feira, 11 de abril de 2016

Programação de Computadores - 11 de Abril de 2016

Programação de Computadores - 11 de Abril de 2016

Entrega da prova corrigida. Nota minha: 10.

Manipulação de arquivos
  • objetivo: permitir que um dado conjunto de dados possa ser armazenado ou lido de um arquivo externo.
  • biblioteca: fstream
  • método para gravar dados: ofstream // on - permite a gravação num arquivo externo
  • método para ler dados: ifstream // in - permite a leitura
 Gravando dados em um arquivo externo

# include <fstream> // biblioteca que permite utilizar o método ofstream (para gravar num arquivo externo) e o método ifstream (para ler)

int main (){

string nome;
int idade;
int i;

ofstream grava ("dados.txt"); // método: ofstream; objeto: grava; arquivo onde os dados serão gravados: dados; o nome do arquivo tem que estar entre aspas.

for (i=1;i<=1-;i++){ // abertura do for para contar dez entradas de dados

  cout<<"Informe o nome"<<endl;
  cin>>nome;
  grava<<nome<<endl; // objeto: grava
  cout<<"Informe a idade"<<endl; // endl para a próxima gravação ser na   próxima linha;
  cin>>idade;
  grava<<idade<<endl; // objeto: grava

} // fechamento do for

grava.close(); // objeto: grava; fecha o objeto

return 0;

} // fim do int main


Lendo dados de um arquivo externo

#include <fstream>

int main(){

string municipio;

ifstream ler ("cidades.txt);
ler>>municipio;
cout<<municipio<<endl;
ler.close();

return 0;

} // fechamento do int main

Lucas T R Freitas

quarta-feira, 6 de abril de 2016

Programação de computadores - 06 de abril de 2016

Programação de computadores - 06 de abril de 2016

Correção da prova

Questão 1)
A fábrica de sandálias pezão deseja um sistema que realize o balanço de suas vendas. A fábrica trabalha com três tipos de sandálias:
  • sandália A
    • uso de borracha: 200
    • preço: 10,00
    • tipo:  fechada
  • sandália B
    • uso de borracha: 300
    • preço: 15,00
    • tipo: fechada
  • sandália C
    • uso de borracha: 400
    • preço: fechada/aberta
    • tipo: 30,00
Faça um programa que realize a leitura dos dados das sandálias vendidas (A, B, C).

Saídas do programa:
  • Receita total;
  • Receita por tipo;
  • O tipo de sandália mais vendida;
  • A quantidade média de borracha utilizada nas sandálias vendidas.
O programa deve realizar a leitura dos dados de venda do tipo de produto e o tipo de sandália se necessário.
O programa será encerrado quando o usuário digitar "s" no tipo de produto.


Correção da professora:

int main (){

// declaração das variáveis
string tipo-prod;
int tipo-san, contc, contb, conta, fechada, aberta;
float ra, rb, rc, rt;
int contotal;

// inicialização
contc=0;
contb=0;
conta=0;
fechada=0;
aberta=0;
ra=0;
rb=0;
rc=0;
rt=0;
contotal=0;


cout << "informe o tipo de produto: A, B ou C ou digite 's' para sair"<<endl;
cin>>tipo--prod;

while (tipo-prod!="s"){
  if (tipo-prod=="c"){
    cout<<"Informe o tipo de sandália: 1 para Aberta, 2 para Fechada"<<endl;
    cin>>tipo_san;
    contc++;
    if (tipo-san==1){
      aberta++;
    } // fechamento do if
    else{
      if (tipo-san==2){
        fechada++;
      } // fechamento do if
    } // fechamento do else

  } // fechamento do if

  else{
    if (tipo-prod=="A"){
       conta++;
       fechada++;
    } // fechamento do if
    else{
       if (tipo-prod=="B"){
         contb++;
         fechada++;
       } // fechamento do if
    } // fechamento do else

  } // fechamento do else


} // fechamento do while


// calculando a receita por tipo
ra=conta*10;
rb=contb*15;
rc=contc*30;
rt=ra+rb+rc;

if (fechada>aberta){
  cout<<"O tipo de sandália mais vendida é a fechada."<<endl;
} // fechamento do if
else{
  cout<<"O tipo de sandália mais vendida é a aberta."<<endl;
}// fechamento do else

// Total de sandálias
contotal=conta+contb+contc;
mediat=((conta*200)+(contb*300)+(contc*400)/contotal);

// saídas

// escrever as saídas aqui

} // fechamento do int main



Lucas T R Freitas

segunda-feira, 28 de março de 2016

Programação de Computadores - 28 de Março de 2016


Programação de Computadores - 28 de Março de 2016


1) A empresa “Preço Bom” deseja um sistema que registre o preço de custo de seus produtos, o código e a categoria. Considere categoria “perecível” e “não perecível”. O algorítmo deverá retornar:

a) O preço de venda de cada produto. Considere que produtos do tipo “perecível” devem possuir um lucro de 15% e os “não perecíveis” 20%.

b) A quantidade de produtos perecíveis e não perecíveis.

c) A média de lucro dos “Não perecíveis”.

d) O preço de venda e a categoria do produto que possui o menor preço de venda. Considere que não existem preços de vendas iguais.

O programa será encerrado quando for digitado -1.

Esquema da professora:

Int main(){
//declaração das variáveis

//inicialização das variáveis

//entrada que para o programa
cout<<”Informe o código ou digite -1 para sair”<<endl;
cin>>cod;
while(cod!=-1){
   //demais entradas

   //Processamentos

   //Entrada para o programa
   cout<<”Informe o código ou digite -1 para sair”<<endl;
   cin>>cod;
} //fechamento do while

} // final int main


Resposta da professora

int main(){

int cod,cat,cat1,cat2,catmenor;
float media,lucro,somalucro;
float pcusto,pvenda,pvmenor;

media=0;
somalucro=0;
pvmenor=0;
cat2=0;
cat1=0;
cout<<”Informe o código ou -1 para sair”<<endl;
cin>>cod;

while (cod!=-1){
   cout<<”Informe o preço custo”<<endl;
   cin>>pcusto;
   cout<<”Informe a categoria 1 (perecível) ou 2 (não perecível)”<<endl;
   cin>>cat;

   if(cat==1)

   //trecho apagado no quadro

} //final do while

media=somalucro/cat2;
cout<<”A media do lucro dos produtos não perecíveis é “<<media<<endl;
cout<<”A quantidade de produtos não perecíveis é “<<cat2<<endl;
cout<<”A quantidade de produtos perecíveis é “<<cat1<<endl;
cout<<”O menor preço de venda é “<<pvmenor<<” e pertence à categoria ”<<catmenor<<endl;

} //fim do int main


Minha resposta (sem corrigir)

// abertura do programa
#include <iostream>

using namespace std;

int main(){

// declaração das variáveis
float precodecusto;
int codigo;
int categoria;
float precodevenda;
int quantidadepereciveis;
int quantidadenaopereciveis;
float lucronaopereciveis;
float somalucronaopereciveis;
float medialucronaopereciveis;
float menorprecodevenda;
int codigomenorprecodevenda;



// zerando as variáveis
precodecusto=0;
codigo=0;
categoria=0;
precodevenda=0;
quantidadepereciveis=0;
quantidadenaopereciveis=0;
lucronaopereciveis=0;
somalucronaopereciveis=0;
medialucronaopereciveis=0;
menorprecodevenda=0;
codigomenorprecodevenda=0;


// iniciando o programa
// solicitando o código do produto
cout<<”Digite o código do produto”<<endl;
cin>>codigo;

while (codigo!=-1){

   // solicitando a categoria do produto
   cout<<”Insira 1 para produto perecível e 2 para produto não perecível”<<endl;
   cin<<categoria;
   while (categoria!=1 && categoria!=2){
      cout<<”Insira 1 para produto perecível e 2 para produto não perecível”<<endl;
      cin<<categoria;
   } // fechamento do while

   //solicitando o preço de custo do produto
   cout<<”Insira o preço de custo do produto”<<endl;
   cin>>precodecusto;


// resposta da letra A – preço de venda de cada produto
   // preço de venda dos produtos perecíveis (categoria 1)
   if (categoria==1){
      precodevenda=precodecusto*1.15;
   } // fechamento do if
   // preço de venda dos produtos não perecíveis (categoria 2)
   if (categoria==2){
      precodevenda=precodecusto*1.20;
   } // fechamento do if

   //emitindo a saída do preço de venda do produto
   cout<<”O preço de venda do produto é “<<precodevenda<<”.”<<endl;


// resposta da letra B
// resposta da letra B – quantidade de produtos perecíveis
   if (categoria==1){
      quantidadepereciveis++;
   } // fechamento do if

// resposta da letra B – quantidade de produtos não perecíveis
   if (categoria==2){
      quantidadenaopereciveis++;
   } // fechamento do if


// resposta da letra C – A média de lucro dos produtos “Não perecíveis”
   if(categoria==2){
      lucronaopereciveis=precodevenda-precodecusto;
      somalucronaopereciveis= somalucronaopereciveis+lucronaopereciveis;
   } // fechamento do if


// resposta da letra D - preço de venda e a categoria do produto que possui o menor preço de venda
   if (menorprecodevenda==0){
      menorprecodevenda=precodevenda;
      codigomenorprecodevenda=codigo;
   } // fechamento do if
   if (menorprecodevenda>precodevenda){
      menorprecodevenda=precodevenda;
      codigomenorprecodevenda=codigo;
   } // fechamento do if


// pedindo o código novamente
cout<<”Digite o código do produto”<<endl;
cin>>codigo;

} // fechamento do while

// após o while


// saída da letra B – quantidade de produtos perecíveis e não perecíveis
//emitindo a saída da quantidade de produtos perecíveis e não perecíveis
cout<<”A quantidade de produtos perecíveis é “<<quantidadepereciveis<<”.”<<endl;
cout<<”A quantidade de produtos não perecíveis é “<<quantidadenaopereciveis<<”.”<<endl;



// saída da letra C – A média de lucro dos produtos não perecíveis
medialucronaopereciveis=somalucronaopereciveis/quantidadenaopereciveis;
cout<<”A média de lucro dos produtos não perecíveis é “<<medialucronaopereciveis<<”.”<<endl;



//saída da letra D - preço de venda e a categoria do produto que possui o menor preço de venda
cout<<”O código do produto com o menor preço de venda é "<<menorprecodevenda<<" e o preço do produto é "<<menorprecodevenda<<”.”<<endl;



}// fechamento do programa



Lucas T R Freitas

quarta-feira, 23 de março de 2016

Programação de Computadores – 23 de Março de 2016



Programação de Computadores – 23 de Março de 2016

Correção dos exercícios da última aula


#include<iostream>
using namespace std;

int main(){

//Ler os dados dos funcionários

int qtdFuncionarios = 50;

int matricula=0, tempo_serv=0;
float sal_base=0, desconto=0;

int contDirAumento = 0;
int totTempoServ = 0;

int maior_sal=0, mat_maior_sal=0;
int menor_sal=0, mat_menor_sal=0;

for (int cont =1; cont<= qtdFuncionarios; cont++){
cout<<”Entre com a matrícula, salario, descontos e tempo de serviço: ”;
cin>> matricula>> sal_base >>desconto >> tempo_serv;
int qtdBienio = tempo_serv/2;
float descontoCalculado = sal_base*(desconto/100.0);

float sal_liquido = sal_liquido – descontoCalculado;
//sal_liquido -= descontoCalculado

float aumentoCalc = qtdBienio*0.04*sal_base;

float sal_liquido = sal_base – descCalc + aumentoCalc;

cout<<”Desconto.: “ <<descontoCalculado<<endl;
cout<<”Aumento..: “<<aumentoCalc<<endl;
cout<<”Salario..: “<<sal_liquido <<endl;

if(qtdBienio>0){
contDirAumento++;
}//fim do if

totTempoServ = totTempoServ + tempo_serv;

if(sal_base>maior_sal || cont==1){
maior_sal=sal_base;
mat_maior_sal= matricula;
}//fim do if

if (sal_base < menor_sal || cont ==1){
menor_sal = sal_base;
mat_menor_sal=matricula;
}// fim do if

}// fim do for

float mediaTempoServ = totTempServ / (float)qtdFuncionarios;

//para cada funcionário:
//calcular salário líquido
//Para isso:
// Calcular os biênios
// Calcular os descontos
// Subtrair do salário base
// Calcular os acréscimos
// Somar ao salário base

cout <<endl <<”-----------------------------------------” <<endl;
cout<< “Com direito a aumento: “ << contDirAumento<<endl;
cout<<”Media de tempo de serviço: “<< mediaTempoServ<<endl;
cout<<”Matrícula com maior salário: “<<mat_maior_sal<<endl;


return 0;
} // fim do programa


Correção do teste de mesa

i=
1
2
4
5
7

j=
1
2
3
1
2
3
1

saída
11
2
4
5
5
7
9




Lucas T R Freitas

segunda-feira, 21 de março de 2016

Programação de Computadores - 21 de Março de 2016

Programação de Computadores - 21 de Março de 2016

Exercício

1) A empresa "Vamos Trabalhar" deseja um algoritmo em c++ que leia de 50 funcionários:
  • a matrícula
  • o salário base
  • o percentual de desconto
  • e o tempo de serviço
O programa deverá retornar:

a) A matrícula e o salário final de cada funcionário. Considere que os funcionários que possuírem dois anos ou mais de casa ganham 4% de aumento a cada biênio.

b) A quantidade de funcionários que possuem direito a aumento.

c) a média de tempo de serviço dos funcionários

d) a matrícula do funcionário que possui o maior salário base

e) a matrícula do funcionário que possui o menor salário base


2) Teste de mesa

int main(){

int i,j;

i=1;
j=1;

cout<<i,j<<endl;

while(i<=5){
   cout<<i+j<<endl;

   while(j<=2){

      i=(i+j);
      j=(j+1);

      if ((i+7)%2==0){
          cout<<i+2<<endl;
      }//fim do if

      else{
         cout<<j+2<<endl;
      }//fim do else

   }// fim do while

j=1;

} // Fim do while

} // Fim do programa


Minha resposta

Questão 1)

int main(){

//declarando as variáveis

int matrícula;
float salariobase;
float percentualdesconto;
int tempodeservico;
float salariofinal;
int fatorbienio;
int direitoaumento;
int numerodefuncionarios;
int somatemposervico;
float mediatemposervico;
float maiorsalariobase;
int funcionariomaiorbase;
float menorsalariobase;
int funcionariomenorbase;

// zerando as variáveis

matricula=0;
salariobase=0;
percentualdesconto=0;
tempodeservico=0;
salariofinal=0;
fatorbienio=0;
direitoaaumento=0;
numerodefuncionarios=0;
somatemposervico=0;
mediatemposervico=0;
maiorsalariobase=0;
funcionariomaiorbase=0;
menorsalariobase=0;
funcionariomenorbase=0;

//iniciando o programa

cout<<"Informa a matrícula do funcionário."<<endl;
cout<<"Digite -1 para sair."<<endl;
cin>>matrícula;


//início do while

while (matrícula!=-1){
   cout<<"Informe o salário base do funcionário."<<endl;
   cin>>salariobase;
   cout<<"Informe o percentual  (%) de desconto do funcionário."<<endl;
   cin>>percentualdesconto;
   cout<<"Informe o tempo de serviço (em anos completos)<<endl;
   cin>>tempodeservico;

//resposta da letra a

   cout<<"A matrícula do funcionário é "<<matricula<<"."<<endl;

   if (tempodeservico<2){
      salariofinal=salariobase-(salariobase*percentualdesconto/100);
   } // fim do if

   if(tempodeservico>=2){
      if (tempodeservico%2==1){
         fatorbienio=(tempodeservico-1)/2;
      } // fim do if
      else {
         fatorbienio=tempodeservico/2;
      } // fim do else
      salariofinal=salariobase*(104/100)fatorbienio-salariobase*(104/100)fatorbienio*percentualdesconto;
      cout<<"O salário do funcionário é "<<salariofinal<<"."<<endl;
   } // fim do if

//resposta da letra b => saída depois do while
   if(tempodeservico>=2){
      direitoaaumento++;
   }  // fim do if

//resposta da letra c
   numerodefuncionarios++;
   somatemposervico=tempodeservico+somatemposervico;

//resposta da letra d
   if(maiorsalariobase<salariobase){
      maiorsalariobase=salariobase;
      funcionariomaiorbase=matricula;
   } // fim do if

//resposta da letra e
   if(menorsalariobase==0){
      menorsalariobase=salariobase;
      funcionariomenorbase=matricula;
   } // fim do if
   if(menorsalariobase>salariobase){
      menorsalariobase=salariobase;
      funcionariomenorbase=matricula;
   } // fim do if

} // fim do while

//Após o while

// resposta da letra b
   cout<<"A quantidade de funcionários que possuem direito a aumento é " <<direitoaaumento<<"."endl;

// resposta da letra c
   mediatemposervico=somatemposervico/numerodefuncionarios;
   cout<<"A média de tempo de serviço dos funcionários é "<<mediatemposervico<<"."<<endl;

// resposta da letra d
   cout<<"A matrícula do funcionário que possui o maior salário base é "<<funcionariomaiorbase<<"."endl;

//resposta da letra e
   cot<<"A matrícula do funcionário que possui o menor salário base é "<<funcionariomenorbase<<"."<<endl;

//finalizando o programa

system(pause);
return 0;

} // fim do programa


Questão 2)
Tentei fazer, mas deu loop infinito.

Imprimiu

11
2
4
5
7
7
7
.
.
.



Lucas T R Freitas

P!nk - Try (Lyrics)