Lista de Exercícios Resolvidos: Java | Python | VisuAlg | Portugol | C | C# | VB.NET | C++
Você está aqui: JSF - Java Server Faces ::: Configurações ::: faces-config.xml

O que é o arquivo faces-config.xml e qual sua utilidade?

Quantidade de visualizações: 20009 vezes


O arquivo faces-config.xml é o arquivo principal de configuração de uma aplicação JSF. Localizado no diretório WEB-INF da aplicação e no formato XML, este arquivo é responsável por descrever os elementos e sub-elementos que compõem o projeto, tais como as regras de navegação, os beans gerenciados, configurações de localização, entre outros. Antes de continuarmos, veja a estrutura de um arquivo faces-config.xml:
<?xml version="1.0"?>
<faces-config xmlns="http://java.sun.com/xml/ns/javaee"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
  http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd"
  version="1.2">
  
  ... outros elementos vão aqui

</faces-config>
Veja que o elemento principal do arquivo XML é <faces-config></<faces-config>. Observe ainda que a versão deste arquivo usado como exemplo é a 1.2, ou seja, nem sempre é uma boa idéia copiar arquivos faces-config.xml já prontos, uma vez que estes têm sua estrutura alterada de acordo com uma determinada versão da especificação JSF.

Dentro do corpo do elemento <faces-config>, outros elementos de nível mais alto podem ser incluídos em qualquer ordem, ainda que seja um boa idéia ordená-los de acordo com suas funcionalidades.

A versão do faces-config.xml apresentada nesta dica já usa a validação dos elementos XML fornecida pelo XML Schema Definition (XSD), recomendação oficial do W3C desde 2001 para validação de documentos XML.

Link para compartilhar na Internet ou com seus amigos:

Java ::: Desafios e Lista de Exercícios Resolvidos ::: Java Básico

Exercícios Resolvidos de Java - Escreva um programa Java que leia duas notas obtidas por um aluno na disciplina de Algoritmos e Programação de Computadores, o número de aulas ministradas

Quantidade de visualizações: 17430 vezes
Pergunta/Tarefa:

Escreva um programa Java que leia duas notas obtidas por um aluno na disciplina de Algoritmos e Programação de Computadores, o número de aulas ministradas e o número de aulas assistidas por este aluno nesta disciplina. Calcule e mostre a média final deste aluno e diga se ele foi aprovado ou reprovado. Considere que para um aluno ser aprovado ele deve obter média final igual ou maior a 6,0 e ter no mínimo 75% de frequência.

Importante: Seu código Java deverá validar os dados de entrada para que as notas não sejam menores que zero nem maiores que 10. Além disso, o número de aulas assistidas não pode ser maior que o número de aulas ministradas.

Seu programa Java deverá exibir uma saída parecida com:

Informe a primeira nota: 9
Informe a segunda nota: 7
Quantidade de aulas ministradas: 20
Quantidade de aulas assistidas: 17
Aluno aprovado com média 8.0 e frequencia 85.0%
Resposta/Solução:

Veja a resolução comentada deste exercício usando Java:

package estudos;

import java.util.Scanner;

public class Estudos {
  public static void main(String[] args) {
    // para ler a entrada do usuário
    Scanner entrada = new Scanner(System.in);
    
    // vamos ler as duas notas do aluno
    System.out.print("Informe a primeira nota: ");
    double n1 = Double.parseDouble(entrada.nextLine());
    System.out.print("Informe a segunda nota: ");
    double n2 = Double.parseDouble(entrada.nextLine());
    
    // vamos ler a quantidade de aulas ministradas
    System.out.print("Quantidade de aulas ministradas: ");
    int aulas_ministradas = Integer.parseInt(entrada.nextLine());
    
    // agora a quantidade de aulas assistidas pelo aluno
    System.out.print("Quantidade de aulas assistidas: ");
    int aulas_assistidas = Integer.parseInt(entrada.nextLine());
    
    // agora temos que validar as informações inseridas
    if((n1 < 0) || (n1 > 10)){
      System.out.println("\nA nota n1 é inválida");
......



C++ ::: Fundamentos da Linguagem ::: Tipos de Dados

Como usar o tipo de dados size_t da linguagem C++

Quantidade de visualizações: 15203 vezes
O tipo size_t é definido no arquivo stddef.h e em outros headers, e sua definição pode ser encontrada da seguinte forma:

typedef unsigned long size_t; 
......


Este tipo é usado para definir tamanhos de strings e blocos de memória. Foi proposto pelo ANSI C.

É comum encontrar size_t substituindo unsigned int ou unsigned long. Muito frequente também é ver este tipo recebendo o resultado de uma chamada ao operator sizeof. Veja:

#include <iostream>

using namespace std;

int main(){
  // vamos obter a quantidade de bytes em um int
  size_t tam = sizeof(int);
......


Ao executarmos este código nós teremos o seguinte resultado:

Um inteiro nesta arquitetura contém: 4 bytes


JavaScript ::: Dicas & Truques ::: Operadores de Manipulação de Bits (Bitwise Operators)

JavaScript Avançado - Como usar o operador de bits & (E/AND sobre bits) da linguagem JavaScript

Quantidade de visualizações: 1009 vezes
O operador de bits & (E/AND sobre bits) da linguagem JavaScript é usado quando queremos comparar os bits individuais de dois valores integrais (inteiros) e produzir um terceiro resultado. Os bits no resultado serão configurados como 1 se os bits correspondentes nos dois outros valores foram 1. Em caso contrário os bits são configurados como 0.

Para quem gosta de Lógica Matemática, ou a Tabela Verdade da Lógica de Boole, vai se lembrar do conectivo "^", que diz que a proposição resultante da conjunção só será verdadeira quando as proposições simples individuais forem verdadeiras. O operador de bits & do JavaScript é similar ao conectivo "^" da Lógica Proposicional.

Vamos analisar os seguintes valores binários:

a) 0101 (5 decimal)
b) 0100 (4 decimal)

Quando aplicamos o operador & nestes dois valores teremos o seguinte resultado:

0101
0100
......


Veja que o resultado é 0100, uma vez que apenas o segundo bit de cada valor está configurado como 1. Vamos ver isso em JavaScript agora. Observe o seguinte trecho de código:

<html>
<head>
  <title>Manipulação de Bits em JavaScript</title>
</head>
 
<body>

<script type="text/javascript">
  var a = 5;
  var b = 4;
  var c = a & b;
  
  // exibe o resultado (em binário e em decimal)
  document.writeln("a = " + obterBits(a) + " (" + a + ")");
  document.writeln("<br>b = " + obterBits(b) + " (" + b + ")");
  document.writeln("<br>a & b = " + obterBits(c) + " (" + c + ")");
  
  // função auxiliar que converte um decimal em sua representação em bits
  function obterBits(valor){
    var mascara = 1 << 31; // 10000000 00000000 00000000 00000000
......


Ao executar este código teremos o seguinte resultado:

    a = 00000000 00000000 00000000 00000101 (5) 
    b = 00000000 00000000 00000000 00000100 (4)
......



PHP ::: Dicas & Truques ::: Matemática e Estatística

Como gerar um número aleatório (randômico) em PHP usando a função rand()

Quantidade de visualizações: 30003 vezes
Nesta dica mostrarei como gerar números randômicos dentro de uma determinada faixa usando a função rand() da linguagem PHP. Veja que esta função requer o limite inicial e final (incluso) da faixa a partir da qual o número aleatório será gerado.

Veja um código PHP no qual geramos um número aleatório entre 1 e 10:

<html>
<head>
<title>Estudando PHP</title>
</head>
<body>

<?php
......


Ao executar este código nós teremos um resultado parecido com:

O número gerado foi: 5

Obs: A partir da versão 4.2.0 do PHP, não é mais necessário usar srand() ou mt_srand() para inicializar a semente (seed) do gerador de números aleatórios.


Portugol ::: Dicas & Truques ::: Geometria, Trigonometria e Figuras Geométricas

Como calcular o coeficiente angular de uma reta em Portugol dados dois pontos no plano cartesiano

Quantidade de visualizações: 257 vezes
O Coeficiente Angular de uma reta é a variação, na vertical, ou seja, no eixo y, pela variação horizontal, no eixo x. Sim, isso mesmo. O coeficiente angular de uma reta tem tudo a ver com a derivada, que nada mais é que a taxa de variação de y em relação a x.

Vamos começar analisando o seguinte gráfico, no qual temos dois pontos distintos no plano cartesiano:



Veja que o segmento de reta AB passa pelos pontos A (x=3, y=6) e B (x=9, y=10). Dessa forma, a fórmula para obtenção do coeficiente angular m dessa reta é:

\[\ \text{m} = \frac{y_2 - y_1}{x_2 - x_1} = \frac{\Delta y}{\Delta x} = tg \theta \]

Note que __$\Delta y__$ e __$\Delta x__$ são as variações dos valores no eixo das abscissas e no eixo das ordenadas. No triângulo retângulo que desenhei acima, a variação __$\Delta y__$ se refere ao comprimento do cateto oposto e a variação __$\Delta y__$ se refere ao comprimento do cateto adjascente.

Veja agora o trecho de código na linguagem Portugol que solicita as coordenadas x e y dos dois pontos, efetua o cálculo e mostra o coeficiente angular m da reta que passa pelos dois pontos:

// Calcular o coeficiente angular de uma reta em Portugol

programa {
  // vamos incluir a biblioteca Matematica
  inclua biblioteca Matematica --> mat
  
  funcao inicio() {
    // coordenadas dos dois pontos
    real x1, y1, x2, y2
    // guarda o coeficiente angular
    real m

    // x e y do primeiro ponto
    escreva("Coordenada x do primeiro ponto: ")
    leia(x1)
    escreva("Coordenada y do primeiro ponto: ")
......


Ao executar este código Portugol Webstudio nós teremos o seguinte resultado:

Coordenada x do primeiro ponto: 3
Coordenada y do primeiro ponto: 6
Coordenada x do segundo ponto: 9
Coordenada y do segundo ponto: 10
O coeficiente angular é: 0.6666666666666666

No entanto, fique atento às propriedades do coeficiente angular da reta:

1) O coeficiente angular é positivo quando a reta for crescente, ou seja, m > 0;

2) O coeficiente angular é negativo quando a reta for decrescente, ou seja, m < 0;

3) Se a reta estiver na horizontal, ou seja, paralela ao eixo x, seu coeficiente angular é zero (0).

4) Se a reta estiver na vertical, ou seja, paralela ao eixo y, o coeficiente angular não existe.


Desafios, Exercícios e Algoritmos Resolvidos de Portugol

Veja mais Dicas e truques de Portugol

Dicas e truques de outras linguagens

Quem Somos

Osmar J. Silva
Programador Freelancer
WhatsApp +55 (062) 98553-6711

Goiânia-GO
Programador Freelancer - Full Stack Developer, Professional Java Developer, PHP, C/C++, Python Programmer, wxWidgets Professional C++ Programmer, Freelance Programmer. Formado em Ciência da Computação pela UNIP (Universidade Paulista Campus Goiânia) e cursando Engenharia Civil pela PUC-Goiás. Possuo conhecimentos avançados de Java, Python, JavaScript, C, C++, PHP, C#, VB.NET, Delphi, Android, Perl, e várias tecnologias que envolvem o desenvolvimento web, desktop, front-end e back-end. Atuo há mais de 20 anos como programador freelancer, atendendo clientes no Brasil, Portugal, Argentina e vários outros paises.
Entre em contato comigo para, juntos, vermos em que posso contribuir para resolver ou agilizar o desenvolvimento de seus códigos.
José de Angelis
Programador Freelancer
WhatsApp +55 (062) 98243-1195

Goiânia-GO
Programador Freelancer - Formado em Sistemas de Informação pela Faculdade Delta, Pós graduado em Engenharia de Software (PUC MINAS), Pós graduado Marketing Digital (IGTI) com ênfase em Growth Hacking. Mais de 15 anos de experiência em programação Web. Marketing Digital focado em desempenho, desenvolvimento de estratégia competitiva, analise de concorrência, SEO, webvitals, e Adwords, Métricas de retorno. Especialista Google Certificado desde 2011 Possui domínio nas linguagens PHP, C#, JavaScript, MySQL e frameworks Laravel, jQuery, flutter. Atualmente aluno de mestrado em Ciência da Computação (UFG)
Não basta ter um site. É necessário ter um site que é localizado e converte usuários em clientes. Se sua página não faz isso, Fale comigo e vamos fazer uma analise e conseguir resultados mais satisfatórios..

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: Delphi
6º lugar: C
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2024 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 7 usuários muito felizes estudando em nosso site.