terça-feira, 2 de outubro de 2012

7 a 10: Excercícios de Netbeans Java


7. Em uma eleição presidencial, existem quatro candidatos. Os votos são informados através de código. Os códigos utilizados são: 1,2,3,4 votos para os respectivos candidatos; 5 voto nulo; 6 voto em branco. Escreva um programa que calcule e imprima:
·         total de votos para cada candidato;
·         total de votos nulos;
·         total de votos em branco;
·         porcentagem de votos nulos sobre o total de votos;
·         porcentagem de votos em branco sobre o total de votos. Para finalizar o conjunto de votos, tem-se o valor zero.

import javax.swing.JOptionPane;
public class EleicoesDiretas {
    public static void main(String[] args) {
       
        int votoJS=0;// 1 - João da Silva
        int votoMA=0;// 2 - Maria Andrade
        int votoPM=0;// 3 - Pedro Malazarte
        int votoBS=0;// 4 - Benedito Santos
        int votoNL=0;// 5 - Votar Nulo
        int votoBR=0;// 6 - Votar em Braco
        int click =0; // para sair do programa while
       
    do{   

       
        String MenuVoto = JOptionPane.showInputDialog(null,"NUMERO E CANDIDATO: \n\n\t1 - João da Silva \t\n2 - Maria Andrade \t\n3 - Pedro Malazarte \t\n4 - Benedito Santos \t\n5 - Votar Nulo \t\n6 - Votar em Braco \n\n","Menu de Votação",JOptionPane.INFORMATION_MESSAGE);
        int votado = Integer.parseInt(MenuVoto);
       
        switch(votado){
            case 1:votoJS++;break;
            case 2:votoMA++;break;
            case 3:votoPM++;break;
            case 4:votoBS++;break;
            case 5:votoNL++;break;
            case 6:votoBR++;break;
            default:JOptionPane.showMessageDialog(null,"Opção Inválida");
               
        }
        click = JOptionPane.showConfirmDialog(null,"Continuar votação","Votação",JOptionPane.YES_NO_CANCEL_OPTION);
    }while(click == 0);
       
    JOptionPane.showMessageDialog(null,"RESULTADO DA VOTAÇÃO" + "\n\n\t1 - João da Silva.: "+votoJS + "\t\n2 - Maria Andrade.: "+votoMA + "\t\n3 - Pedro Malazarte.: " +votoPM + "\t\n4 - Benedito Santos.: "+votoBS + "\t\n5 - Votos Nulo.: " +votoNL + "\t\n6 - Votos em Branco.: "+votoBR,"RESULTADO DA VOTAÇÃO", JOptionPane.INFORMATION_MESSAGE);   
   

    }
}
8. Escreva um programa para calcular N! (fatorial de N), sendo que o valor inteiro de N é fornecido pelo usuário. Sabe-se que: N! = 1 * 2 * 3 *... * (N-1) * N; 0! = 1, por definição.

import javax.swing.JOptionPane;
public class Fatorial {
    public static void main(String[] args) {
   
    int fatorial=1;   
    int MeuNumero = Integer.parseInt(JOptionPane.showInputDialog(null,"Digite um numero inteiro:"));
   
        if(MeuNumero <=0)
            {
                JOptionPane.showMessageDialog(null, "Somente inteiros maior que Zero");
            }else
                {
                    for (int i = 1; i < MeuNumero; i++) {
                        fatorial*=i;
                    }
                }
        JOptionPane.showMessageDialog(null,"Fatorial de "+MeuNumero +"\nÉ igual a: " +fatorial,"Calculando Fatorial",JOptionPane.INFORMATION_MESSAGE);
    }
   
}

9. Escreva um Programa que leia um número indeterminado de linhas contendo, cada uma, a idade de um indivíduo. A última linha, que não entrará nos cálculos, contém o valor da idade igual a zero; calcule e escreva a idade média deste grupo de indivíduos.

import javax.swing.JOptionPane;

public class MediaDasIdades {
public static void main(String[] args) {
  
    double media=0;
    int DigitaIdade=0;
    int SomaIdade=0;
    int ContaIdade=0;
//    for (int i = 0; i < 10; i++) {

  do{ 
       DigitaIdade = Integer.parseInt(JOptionPane.showInputDialog("Digite a Idade"));
       SomaIdade+=DigitaIdade;
       ContaIdade++;
       media = (SomaIdade/ContaIdade);
      
    }while(DigitaIdade != 0);
   
    JOptionPane.showMessageDialog(null,"\nSoma das Idades "+SomaIdade + "\nQTD digitados "+ContaIdade + "\nMedia das Idades..: "+ media,"Media das Idades",JOptionPane.INFORMATION_MESSAGE);
}
   

10. Tem-se um conjunto de dados contendo a altura e o sexo (M ou F) de 15 pessoas. Faça um programa que calcule e escreva: a maior e a menor altura do grupo; a média de altura das mulheres; número de homens.

import javax.swing.JOptionPane;
public class MediaIdadeGenero {
    public static void main(String[] args) {
   
    double MaiorAltura = 000.00;
    double MenorAltura = 999.00;
    int ContaHomem=0,ContaMulher=0;
    int SomaAltura=0;
    double MediaAlturaMulher=0;
   
    for (int i = 0; i < 5; i++) {
   
        double Altura = Double.parseDouble(JOptionPane.showInputDialog("Digite a Altura:" ));
       
   
            if (Altura > MaiorAltura)
                {
                MaiorAltura = Altura;
                }
            if (Altura < MenorAltura)
                    {
                       MenorAltura = Altura;
                    }
              
     int Sexo = Integer.parseInt(JOptionPane.showInputDialog("Digite o Sexo:\t\t\n1 = Masculino \t\t\n2 = Feminino" ));
     switch(Sexo) 
     {
         case 1: ContaHomem++;break;
         case 2: ContaMulher++;SomaAltura+=Altura;break;
     }
    }
    MediaAlturaMulher = (SomaAltura/ContaMulher);
    JOptionPane.showMessageDialog(null,"Maior Altura..: "+MaiorAltura + "\nMenor Altura..: "+MenorAltura + "\nNumero Homens..: "+ContaHomem + "\nNumero Mulher..: "+ContaMulher + "\nMedia Altura Mulher..: " +MediaAlturaMulher,"RESULTADOS",JOptionPane.INFORMATION_MESSAGE);
}
}
11. A conversão de graus Farenheit para Centígrados é obtida por c = 5/9*(f-32). Faça um programa que calcule e escreva uma tabela de graus Centígrados e graus Farenheit, que variam de 50 a 65 de 1 em 1.


import javax.swing.JOptionPane;
public class TabelaCelsiusFahrenheint {
    public static void main(String[] args) {
       
        double Celsius=0;

        for (int i = 50; i <= 65; i++) {         
            Celsius = ((i - 30)/2);
            JOptionPane.showMessageDialog(null, i+ " Fahrenheint = a" + " Graus Celsius " +Celsius);
        }
    }
   
}

12. Faça um programa que receba, como entrada, uma lista de números positivos ou negativos finalizada com o número zero e forneça como saída, a soma dos números positivos, a soma dos números negativos e a soma das duas somas parciais.

import javax.swing.JOptionPane;
public class SomaNumeros {
    public static void main(String[] args) {
       
        int somaPositivos=0;
        int somaNegativos=0;
        int somaParcial=0;
        int numeros;
       
        do{ // for (int i = 0; i < 10; i++)
         
            numeros = Integer.parseInt(JOptionPane.showInputDialog("Digite os números"));
           
                if(numeros > 0)
                    {
                    somaPositivos+=numeros;
                    }
                if (numeros < 0)
                    {
                    somaNegativos+=numeros;
                    }

        }while(numeros != 0);
           
            somaParcial = (somaPositivos+somaNegativos);
            JOptionPane.showMessageDialog(null,"Positivos...: "+somaPositivos + "\nNegativos...: "+somaNegativos + "\nSoma parcial...: "+somaParcial, "R E S U L T A D O",JOptionPane.INFORMATION_MESSAGE);
        }
       }

3 Exercícios em Netbeans Java


3. Escreva um Programa que receba a idade de 15 pessoas, calcule e imprima: a quantidade de pessoas em cada faixa etária e a porcentagem de cada faixa etária em relação ao total de pessoas:  As faixas etárias são
·         1 a 15 anos
·         16 a 30 anos
·         31 a 45 anos
·         46 a 60 anos
·         = 61 anos

package meuprograma;
import javax.swing.JOptionPane;
public class FaixaEtariaIdade {
   
    public static void main(String[] args) {        
        int Faixa1a15=0,Conta1a15=0;       
        int Faixa16a30=0,Conta16a30=0;
        int Faixa31a45=0,Conta31a45=0;
        int Faixa46a60=0,Conta46a60=0;       
        int ContaMaiorQ60=0,FaixaMaiorQ60=0;
       
        for (int i = 0; i < 15; i++) {
       
            String EntradaIdade = JOptionPane.showInputDialog("Qual é sua Idade?: "); 
            int IdadeRecebida = Integer.parseInt(EntradaIdade);
           
            if (IdadeRecebida >=1 && IdadeRecebida <=15){
                Conta1a15++;
            }
           
            if (IdadeRecebida >=16 && IdadeRecebida <=30){
            Conta16a30++;
            }
           
            if (IdadeRecebida >=31 && IdadeRecebida <=45){
            Conta31a45++;
            }

            if (IdadeRecebida >=46 && IdadeRecebida <=60){
            Conta46a60++;
            }

            if (IdadeRecebida >=61){
            ContaMaiorQ60++;
            }
           
        }
       
        Faixa1a15 = (Conta1a15*100)/15;       
        Faixa16a30 = (Conta16a30*100)/15;
        Faixa31a45 = (Conta31a45*100)/15;
        Faixa46a60 = (Conta46a60*100)/15;       
        FaixaMaiorQ60 = (ContaMaiorQ60*100)/15;               
       
        JOptionPane.showMessageDialog(null, "De 1 a 15: " + Conta1a15 +"\nDe 16 a 30: " + Conta16a30 + "\nDe 31 a 46: " + Conta31a45 + "\nDe 46 a 60: " + Conta46a60 +  "\nMaior  que 60: " + ContaMaiorQ60 +"\n\nFaixa 1 a 15: " +Faixa1a15 + " %" + "\nFaixa 16 a 30: " +Faixa16a30 + " %" + "\nFaixa 31 a 45: "+Faixa31a45 + " %" + "\nFaixa 46 a 60: " +Faixa46a60 + " %" + "\nAcima de 61: "+FaixaMaiorQ60 +" %", "Faixa Etária",
        JOptionPane.INFORMATION_MESSAGE );

       
    }
}

4. Escreva um Programa que receba um conjunto de valores inteiros e positivos, calcule e imprima o maior e o menor valor do conjunto. Para encerrar a entrada de dados, deve ser digitado o valor zero. Para valores negativos, deve ser enviada uma mensagem. Esses valores (zero e negativos) não entrarão nos cálculos.

import javax.swing.JOptionPane;

public class MaioreMenor {

    public static void main(String[] args) {
       
        int MaiorNumero = 0;
        int MenorNumero = 99999999;
       
        for (int i = 0; i < 10; i++) {
            String EntraNumeros = JOptionPane.showInputDialog("Digite seus Números:");
            int ConEntraNumeros = Integer.parseInt(EntraNumeros);
           
            if (ConEntraNumeros > MaiorNumero ){
                MaiorNumero = ConEntraNumeros;
            }
           
            if (ConEntraNumeros < MenorNumero ){
                MenorNumero = ConEntraNumeros;
            }
           
        }
          JOptionPane.showMessageDialog(null, "O maior .....:   " + MaiorNumero + "\n\nO Menor .....: " +MenorNumero, "Maior e Menor",JOptionPane.INFORMATION_MESSAGE);
}
}


5. Escreva um Programa que receba um número inteiro e verifique se o número fornecido é primo ou não. Imprima mensagem de número primo ou número não primo. Observação: um número é primo se este é divisível apenas pelo número um e por ele mesmo.


import javax.swing.JOptionPane;
public class NumerosPrimos {

    public static void main(String[] args) {
        String EntraNumero = JOptionPane.showInputDialog("Digite um Numero");
        int DigitaNumero = Integer.parseInt(EntraNumero);
        int ContaDivisores=0;
       
        for (int i = 1; i <= DigitaNumero; i++) {
            if (DigitaNumero % i == 0){
                ContaDivisores++;
            }
        }
        if (ContaDivisores == 2) {
            JOptionPane.showMessageDialog(null,"Este Número é Primo");
        } else {
            JOptionPane.showMessageDialog(null,"Este Número NÃO é Primo");
        }
       
    }
}

6. Escreva um Programa que receba 10 números inteiros e imprima a quantidade de números primos dentre os números que foram digitados.

import javax.swing.JOptionPane;
public class NumerosPrimos {

    public static void main(String[] args) {
        int ContaDivisores=0,ContaPrimos=0,NaoPrimos=0;
       
        for (int j = 0; j < 10; j++) {
            String EntraNumero = JOptionPane.showInputDialog("Digite um Numero");
            int DigitaNumero = Integer.parseInt(EntraNumero);
               
                for (int i = 1; i <= DigitaNumero; i++) {
                    if (DigitaNumero % i == 0){
                        ContaDivisores++;
                }
               
                    if (ContaDivisores == 2) {
                        ContaPrimos++;

                    } else {

                        NaoPrimos++;
                    }
                } //fecha segundo for
        JOptionPane.showMessageDialog(null,"QTD Primo: " + ContaPrimos);
} // fecha primeiro for
} // fecha main()
} // fecha classe

Dois exercicios em Netbeans Java


1.            Faça um Programa que receba um número inteiro, calcule e imprima a tabuada desse número.

package meuprograma;

import javax.swing.JOptionPane;
public class MeuPrograma {
   
    public static void main(String[] args) {
       
        int tabuada;
       
        String Entrada = JOptionPane.showInputDialog("Entre com um valor: "); 
        int iNumero = Integer.parseInt(Entrada);
       
        for (int i = 0; i < 10; i++) {
           
            tabuada = (iNumero*i);
            // System.out.println("Resultado: " + tabuada);
           JOptionPane.showMessageDialog(null, "Num: " + iNumero + " * " + i + " = " + tabuada);           
        }
       
    }
}

2. Escreva um Programa que receba a idade de 10 pessoas, calcule e imprima a quantidade de pessoas maiores de idade (idade >= 18 anos).

package meuprograma;

import javax.swing.JOptionPane;

public class MaiorDeIdade {
   
    public static void main(String[] args) {
           
       int ContaMaiorQue18=0;

       for (int i = 0; i < 10; i++) {
       String EntraIdade = JOptionPane.showInputDialog("Digite a Idade");
       int IdadeDigitada = Integer.parseInt(EntraIdade);

       if (IdadeDigitada >= 18)
           ContaMaiorQue18++;
        }
       JOptionPane.showMessageDialog(null, "Maiores que 18.....:   " + ContaMaiorQue18, "Maiores de idade",JOptionPane.INFORMATION_MESSAGE);
    }
}

quinta-feira, 13 de setembro de 2012

Programar em C: calcular média de números pares digitados.

Recebemos o seguinte exercício para fazer em casa:

Construa um algoritmo que calcule a media aritmética de um conjunto de números pares que forem fornecidos pelo usuário. O valor de finalização será a entrada do número zero. Observe que nada impede que o usuário forneça quantos números impares quiser, com a ressalva de que eles não podem ser acumulados.

Como é que eu fiz o meu exercício? Eu separei em partes. Veja como ficou dividido:

  1. Pegar os dados do usuário;
  2. Repetir até que se digite zero;
  3. Verificar se o número é par, e guardar o valor em variável;
  4. Somar os números pares e guardar em uma variável;
  5. Calcular a média dos números pares;
  6. Resolver a questão de Zero ser par;

1 – Como pegar o conjunto de números do usuário? O código abaixo resolve:

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>

main()
{
int numeros;
printf("Digite os numeros: ");
scanf("%d",&numeros);
};



2 e 3)  – Para repetir até digitar zero, e verificar se o número digitado é par, e guardar o valor em variável, e também, escrever o número total de números pares digitados na tela; é o código abaixo, e veja que zero é contado como sendo número par:

/* uso das bibliotecas*/
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>

// inicio do programa com a função MAIN()
main(){

int numeros,contapares=0,contanum=0;
do
{
printf("Digite numeros: ");
scanf("%d",&numeros);

if (numeros % 2 == 0)
{
contanum++;
}
}while(numeros !=0);

printf("Quantidade de pares .....: %d \n",contanum);
printf("\n\n");
getche();
};
4,5 e 6) -  Até aqui o programa faz o seguinte: recebe os números; repete até que zero seja digitado; verifica se é par; armazena a quantidade de números pares na variável contanum; 
Para somar os números pares digitados e calcular a média, e evitar que zero seja incluído no calculo da média. Eis o código abaixo.
/* uso das bibliotecas*/
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>

// inicio do programa com a função MAIN()
main(){

int numeros,i,contapares=0,contanum=0;
double mediapar;

do
{
printf("Digite numeros: ");
scanf("%d",&numeros);

if (numeros % 2 == 0)
{
contapares += numeros;
contanum++;
}
}while(numeros !=0);

contanum--;
mediapar = (contapares/contanum);

printf("\n\n");
printf("\t\t============ RESULTADOS ============== \n");
printf("\t\tSoma dos Pares .....: %d \n",contapares);
printf("\t\tQuantida pares .....: %d \n",contanum);
printf("\t\tMedia dos pares ....: %.2lf \n",mediapar);
printf("\t\t============ RESULTADOS ============== \n");
printf("\n\n");
getche();
};


 



Reinicio do semestre

Caros colegas do curso de Informática Subsequente reiniciamos as atividades escolares nesta última terça-feira 11/09/2012. E, desde já, em apenas dois dias, já temos melhoras, e confirmações de mudanças, bem como, reconhecimento de que certas atitudes continuam a mesma.

Sei que todos ouvimos, mas, não sei quantos se atentaram para a frase: “O curso dos meninos do integrado é de quatro anos, e o de vocês dois anos! E temos que dar para vocês todo o conteúdo.”

Desde o inicio que temos reclamado desta realidade e vemos cada dia mais se perpetuar esta ideia e esta prática. Não é que temos que ter o conteúdo de 4 anos, empurrado, jogado, largado de qualquer jeito, e quem conseguir pegar, pegou! Quem não conseguiu, é por que o curso é dificil e ai, é que ocorre a verdadeira seleção dos bons e dos ruins.

Não é assim! E desde os primeiros dias do curso que tenho insistido com isto. A coordenação do curso, e ou a instituição IFBA deve programar o curso do subsequente de forma diferente do curso do Integrado. São cursos diferentes, e não justifica haver esta razão de 4 para 2.

  • Como é que se faz para comprimir o conteúdo de 4 anos em 2 e manter a qualidade?
  • Como é que se faz para comprimir o conteúdo de 4 anos em 2 e garantir a transferência do conteúdo?

Se insiste em querer fazer do curso técnico um mini curso superior, exigindo de cada aluno, o auto aprendizagem; exige que sejamos autodidatas. Segundo o Catálogo Nacional de Cursos eis os temas que podem ser abordados:

  • Lógica e linguagens de programação
  • Sistemas operacionais
  • Hardware
  • Interpretação de especificações de sistemas computacionais
  • Banco de dados

Não é, veja bem,! não é obrigatório que saiamos do curso experts em programação, e sim, que se saiba a lógica e que se conheça as linguagens, e não é o que se vê no curso. No final do segundo semestre, o professor quis exigir a confecção de um sistema completo.

O foco dos cursos técnicos não deve ser o que eles estão impondo neste curso, e é tanto verdade, que já é visivel algumas mudanças no conteúdo deste semestre.

sexta-feira, 2 de março de 2012

Como usar gotoxy() em Dev C++

Recebi o projeto do professor para ser entregue na próxima terça-feira, ou seja, adeus fim de semana de namoro e tranquilidade. Bem, o objetivo é outro. É que até hoje nunca consegui usar a função gotoxy(x,y) nos programas compilados pelo DEV C++. Fui buscar respostas na internet, e eis que deparo com as seguintes palavras:

#include <iostream.h>
#include <conio.h>
int main()
{
gotoxy(1,1); // Not important where
cout << "Hello world.";
} // end main()

Retorna o erro "[erro de vinculador] undefined reference to 'gotoxy' Eu usei gotoxy de CONIO. h em outros compiladores sem qualquer problema. O que está acontecendo aqui? Verifiquei o CONIO. h e ele tem essa única linha: void gotoxy #int x, int y #;

# Aviso padrão:

Note que eu ainda sou um programador de início e meu maior obstáculo foi sempre pessoas assumindo que eu sei mais do que eu.

Por favor, não responda como alguém fez com algo como "tente SetConsoleCursorPosition #GetStdHandle # STD_OUTPUT_HANDLE #, # COORD # {x - 1, y - 1} #;"

Você só vai ter um olhar vazio volta.

Também, dizendo-me para obter um novo compilador, vá comprar um livro ou tentar algumas outra biblioteca não é uma solução que fara eu conceder crédito por sua resposta.

Eu posso fazer BASICO sem um engate. Pequenos solavancos na estrada de c++ tornam-se obstáculos intransponíveis, porque as pessoas não estão dispostas a dar respostas simples que existem.

Eu não quero ser rude, mas esta é a única maneira que eu posso usar para obter  respostas de programadores de longa data. #

Então tá dito para todos! Eu li aqui: Expert Exchange - Prorgramming C

Para você que não consegue usar a função gotoxy(x,y). Para você que sempre que vai usar a função gotoxy() e recebe como resposta do compilador a informação:

error: `gotoxy' undeclared (first use this function)

A solução é esta que apresento aqui, e logo abaixo:

1 – Faça o download deste arquivo: conioc.zip.

São apenas três arquivos:

O arquivo conio.c: coloque ele na pasta C:\Dev-Cpp\include
O arquivo conio.h: coloque ele na pasta C:\Dev-Cpp\include
O arquivo libconio.a  coloque na pasta C:\Dev-Cpp\lib

Com isto você poderá usar as seguintes funções:

textcolor(), textbackground(), clrscr(), gotoxy() […] Use o seguinte também: #include<conio.c>

Na sua lista de #include faça assim:

#include <conio.c>
#include <conio.h>