progRJP

caderno virtual de programação

Lendo elementos HTML


loadHTMLFile('teste.html');

// Consultando os links
$links = $dom->getElementsByTagName('a');
foreach ($links as $link) {
echo $link->getAttribute('href').PHP_EOL;
}

// Consultando as imagens
$imgs = $dom->getElementsByTagName('img');
foreach ($imgs as $img) {
echo $img->getAttribute('src').PHP_EOL;
}

?>

Impar Par simples

public class TesteIssoRapaz {

	
	public boolean t;
	public int n;

	TesteIssoRapaz(int n) {
	n = this.n;
	if (n % 2 == 1) {
			t=true;
	} else {
			t=false;
		}
	}

	public void obtemTeste() {
		System.out.println("Resultado: " + imprimeDepende(t));		
	}		

	private String imprimeDepende(boolean t) {
		if(t)
			return "Impar";
		else
			return "Par";		
	}

	public static void main (String args[]) {
		TesteIssoRapaz n = new TesteIssoRapaz(49);
		n.obtemTeste();
	}
}

tipos simples elementares


public class Base {
	public static void main(String args[]) {
		boolean flag = true;
		char ch = 'A';
		byte b = 12;
		short s = 24;
		int i = 257;
		long l = 890L; // Observar o uso do "L" aqui
		float f = 3.1415F; // Observar o uso do "F"aqui
		double d= 2.1828;

		System.out.println("flag= " + flag);
		System.out.println("ch= " + ch);
		System.out.println("b= " + b);
		System.out.println("s= " + s);
		System.out.println("i= " + i);
		System.out.println("l= " + l);
		System.out.println("f= " + f);
		System.out.println("d= " + d);

	}
}

Contador simples

 
public class Counter  {
	protected int count; // uma simples variavel de instancia inteira
	
	/* o construtor default para um objecto Counter */
	Counter() {count = 0; }

	/* Um metodo de acesso para recuperar o valor corrente do contador */
	public int getCount() { return count; }

	/* Um metodo modificador para decrementar o contador */
	public void decrementCount() { count--; }

	/* Um metodo modificador para incrementar o contador */
	public void incrementCount() { count++; }
}

Exemplo de pilha

public class PilhaDemo {
	int topo = -1; // Inicialmente, a pilha esta vazia
	int espacoMemoria[]; // amrazenamento para inteiros
	int limite; // tamanho do espaco de memoria

	// Recebe o tamanho inicial da pilha
	public PilhaDemo(int tamanho) {
		espacoMemoria = new int[tamanho];
		limite = tamanho;
	}

	//Adiciona um elemento
	public boolean empilha (int valor) {
		topo++;
		if (topo = 0) {
			aux = espacoMemoria[topo];
			topo --;
		} else {
			return -1;			
		}
		return aux;
	}

	public static void main (String args[]){
		PilhaDemo pilha = new PilhaDemo(3);
		pilha.empilha(1);
		pilha.empilha(2);
		pilha.empilha(3);
		System.out.println(pilha.desempilha());
		System.out.println(pilha.desempilha());
		System.out.println(pilha.desempilha());
		System.out.println(pilha.desempilha());
	}
}

(Recursividade) – Exemplo fatorial

class FatorialDemo {
	public int fatorial (int n){
		if (n==1) {
			return 1;		
		} 
		/* Definicao recursiva, invoca a si mesmo */ 
		return fatorial(n-1)*n;
	}

	public static void main(String args[]) {
		FatorialDemo teste = new FatorialDemo();
		System.out.println(teste.fatorial(5));
	}
}

Pilha

public class Pilha {

/* Classe inetrna a Classe pilha para definir o elemento da pilha */

//Atributo dado por ser Object, permite qualquer tipo de dado
private Object dado;
private ItemPilha prox;

//Construtor, aponta prox do item para null (inicializa item)
public ItemPilha() {
this.prox = null;
}
//metodo para atribuir o endereco para onde o item ira aponta
public void atribuiProx(ItemPilha proximo) {
this.prox = proximo;
}

//metodo para retornar o conteudo do topo da pilha (item)
public Object retornaDado() {
return this.dado;
}

//metodo para retornar o conteudo o endereco do proximo item
public ItemPilha retornaProx() {
return this.prox;
}
/* fim da classe ItemPilha */
// Referencia para o objeto do topo da pilha
protected ItemPilha topo;
protected int numeroElementos;

//Construtor da classe pilha. Inicializa a pilha
public Pilha() {
this.topo = null;
}

//Metodo para inserir um novo item na pilha (empilhar)
public void Empilha(Object dado) {
ItemPilha novoItem = new ItemPilha();
novoItem.atribuiDado(dado);
novoItem.atribuiProx= this.topo;
this.topo = novoItem;
}

//Metodo para desempilhar o item pilha
public void Desempilha() {
if (! vazia()){
ItemPilha ItemRemovido = this.topo;
this.topo = this.topo.retornaProx();
ItemRemovido = null;
}
}

//lista vazia ?
public boolean vazia() {
if (this.topo==null) {
return true;
} else {
return false;
}
}

//mostra dadis da pilha
public void Mostra() {
ItemPilha aux = this.topo;
while(aux != null) {
System.out.println(aux.retornaDado());
aux = aux.retornaProx();
}
}

//Retorna o numero de elementos que a pilha contém
public int quantidaDeElementos() {
return numeroElementos;
}

//Retorna o dado do objeto que esta no topo da pilha
public Object dadoTopo() {
return this.topo.dado;
}

}

ex8

/*
8. Faça um programa que leia as seguintes informações dos funcionários de uma empresa: matrícula do funcionário, salário bruto, quantidade de horas extras, quantidade de
horas em atraso, quantidade de dependentes com auxílio creche e tempo de serviço na empresa.
Considerando-se que:
a) o funcionário trabalha 40 horas semanais e o mês tem 4 semanas;
b) o auxílio creche para cada dependente é de R$150,00;
c) o desconto de INSS é 10% do salário bruto;
d) o funcionário tem direito a um bônus de R$50,00 para cada ano de trabalho.

Este programa deverá calacular e mostrar para cada funcionário:
1. valor recebido com horas extras, sabendo-se que a hora extra é 50% maior do que a hora normal trabalhada;
2. o desconto com atraso;
3. o valor total a receber com auxílio creche;
4. o valor do bônus recebido por tempo de serviço;
5. o salário líquido do funcionário.
(Termino da repetição com saída "Deseja Continuar (S/N)?")
*/

#include

void lerMatricula(int *matricula) {
printf("\n Matricula: "); scanf("%d", &*matricula);
}

void lerDados(float *salario, int *horasExtras, int *horasAtraso, int *dependentes, int *tempoDeServico) {

printf("\n Salario liquido: "); scanf("%f", &*salario);
printf("\n Horas Extras realizadas: "); scanf("%d", &*horasExtras);
printf("\n Horas de atraso: "); scanf("%d", &*horasAtraso);
printf("\n Quant. Dependentes: "); scanf("%d", &*dependentes);
printf("\n Tempo de serviço: "); scanf("%d", &*tempoDeServico);
printf("\n\n");
}

float calculaINSS(float salario) {
float inssDesconto;
inssDesconto=salario/10;
return(inssDesconto);
}

float calculaBonus(int tempoDeServico) {
float bonus;
bonus = tempoDeServico*50.00;
return(bonus);
}

float calculaAuxilioCreche(int dependentes) {
float valorAuxilio;
valorAuxilio = 150.00*dependentes;
return(valorAuxilio);
}

// Para saber quanto vale a trabalho/hora
float valorHoraTrabalhada (float salario) {
float horaPaga;
horaPaga = salario / 40;
return(horaPaga);
}

float salarioOuDescontoExtra(int horasExtras, int horasAtraso, float horaPaga) {
float horaPagaExtra;
int quantHoraExtra;

quantHoraExtra = horasExtras - horasAtraso;
if (quantHoraExtra >0 ) {
horaPagaExtra = horaPaga+(horaPaga/2);
} else {
horaPagaExtra = -(horaPaga);
}
horaPagaExtra = horaPagaExtra*quantHoraExtra;
return(horaPagaExtra);
}

float SalarioBruto(float bonus, float creche, float valorExtra, float salario) {
float b;
b = bonus + creche + valorExtra + salario;
return(b);
}

void imprimeResultados(float bonusPorTempo, float valorCreche, float valorExtra, float salarioBruto, float inssDesconto, float horaPaga) {

printf("\n Bonus por tempo de serviço: R$ %5.2f", bonusPorTempo);
printf("\n Valor Auxilo creche: R$ %5.2f", valorCreche);
printf("\n Desconto do INSS: R$ %5.2f", inssDesconto);
if (valorExtra>0) {
printf("\n Valor recebido por horas extras: R$ %5.2f", valorExtra);
} else {
printf("\n Valor descontado por atraso: R$ %5.2f", valorExtra);
}
printf("\n Valor hora paga: %5.2f ", horaPaga);
printf("\n SALARIO BRUTO: R$ %5.2f", salarioBruto);
}

void main() {
int matricula, horasExtras, horasAtraso, dependentes, tempoDeServico;
float salario; // variaveis de entrada

int bonus; //variaveis de saida
float inssDesconto, bonusPorTempo, valorCreche, valorExtra, valorHoraTrabalho, salarioBruto;

do {
lerMatricula(&matricula);
if (matricula==0)
break;
lerDados(&salario, &horasExtras, &horasAtraso, &dependentes, &tempoDeServico);
bonusPorTempo = calculaBonus(tempoDeServico);
valorCreche = calculaAuxilioCreche(dependentes);
valorHoraTrabalho = valorHoraTrabalhada(salario);
valorExtra = salarioOuDescontoExtra(horasExtras, horasAtraso, valorHoraTrabalho);
salarioBruto= SalarioBruto(bonusPorTempo, valorCreche, valorExtra, salario);
inssDesconto = calculaINSS(salarioBruto);
imprimeResultados(bonusPorTempo, valorCreche, valorExtra, salarioBruto, inssDesconto, valorHoraTrabalho);
printf("\n\n");
} while (matricula !=0);
}

ex7

/*
7. Crie um programa que leia vários números inteiros e imprima ao final a sua soma.(Termino da repetição com saída "Deseja Continuar (S/N)?")
*/
#include

/* Criando rotina limpaBuffer para usar o getchar() sem problemas */
void limpaBuffer() {
int limpa;
do {
limpa = getchar();
} while ((limpa!='\n') && (limpa!=EOF));
}

void main() {

float numero, soma;
int conta=1;
char sn;

do {
printf("\n Digite o %dº numero a ser somado: ", conta);
scanf("%f", &numero);
limpaBuffer();
soma = soma+numero;
conta++;

printf("\nDeseja encerrar o programa (s/n) ?");
sn = getchar();
//caso digite em maiusculo
if(sn=='S')
sn='s';
} while(sn!='s');

printf("\n Programa finalizado");
printf("\n a soma dos numeros é igual a %5.2f", soma);
printf("\n\n");

}

Do…while, getch, limpando buffer

/*
6. Crie um programa que leia vários números inteiros e imprima ao final a quantidade de números positivos lidos.(Termino da repetição com saída "Deseja Continuar (S/N)?")
*/
#include

void LimpaBuffer(void) {
int valorLido;
do {
valorLido = getchar();
}while ((valorLido != '\n') && (valorLido!=EOF));
}

void main() {
char sn;
int numero, contaPositivo=0;

do {
printf("\nDigite um numero (inteiro) qualquer: ");
scanf("%d", &numero);
LimpaBuffer();
printf("\n");
if (numero>0)
contaPositivo++;
printf("\n Gostaria de encerrar o programa? (S/N)");
sn = getchar();
if (sn=='s')
sn='S';
} while (sn!='S');

printf("O programa encerrou \n");
printf("Numeros positivos lidos: %d", contaPositivo);
printf("\n\n");
}

Navegação de Posts