Você está aqui: Cards de Engenharia Civil - Construção Civil |
||
|
||
|
|
||
VisuAlg ::: Desafios e Lista de Exercícios Resolvidos ::: VisuAlg Básico |
Exercícios Resolvidos de VisuAlg - Escreva um programa VisuAlg que pergunte a velocidade de um carro. Caso ultrapasse 80km/h, exiba uma mensagem dizendo queQuantidade de visualizações: 637 vezes |
|
Pergunta/Tarefa: Escreva um programa VisuAlg que pergunte a velocidade de um carro. Caso ultrapasse 80km/h, exiba uma mensagem dizendo que o usuário foi multado. Nesse caso, exiba o valor da multa, cobrando R$ 5,00 por cada quilômetro acima da velocidade permitida. Sua saída deve ser parecida com: Velocidade do carro: 85 Você foi multado. A multa a ser paga é: 25.0 Velocidade do carro: 75 Você não foi multado Velocidade do carro: 110 Você foi multado. A multa a ser paga é: 150.0 Veja a resolução comentada deste exercício usando VisuAlg:
algoritmo "Calcular a velocidade de um carro em VisuAlg"
var
// variáveis usadas na resolução do problema
velocidade, multa: real
// função principal do programa
inicio
// vamos pedir para o usuário informar a velocidade
// do carro
escreva("Informe a velocidade do carro: ")
leia(velocidade)
// vamos verificar se o usuário foi multado
se (velocidade > 80) entao
escreval("Você foi multado.")
// vamos calcular a multa
multa <- (velocidade - 80) * 5.0
escreval("A multa a ser paga é: ", multa)
senao
escreval("Você não foi multado")
fimse
escreval()
fimalgoritmo
|
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Estruturas de Dados - Listas Ligadas |
Exercícios Resolvidos de Java - Como inserir no final de uma lista ligada em Java - Escreva um programa Java que pede para o usuário informar váriosQuantidade de visualizações: 1132 vezes |
|
Pergunta/Tarefa: Este exercício Java demonstra como inserir um nó no final de uma lista ligada. Escreva um programa Java que cria uma lista ligada, ou seja, uma lista dinamicamente encadeada, e pede para o usuário informar vários valores inteiros, colocando os valores sempre no final da lista. Seu código deverá interromper a leitura dos valores quando o usuário informar o valor -1. Quando isso acontecer, mostre todos os valores contidos na lista ligada, na mesma ordem que foram inseridos (o último valor lido será o último da lista). Sua saída deve ser parecida com: Inserindo valores no final da lista Informe o valor (-1 para sair): 3 Informe o valor (-1 para sair): 9 Informe o valor (-1 para sair): 1 Informe o valor (-1 para sair): 5 Informe o valor (-1 para sair): 2 Informe o valor (-1 para sair): -1 Valores na lista: 3 -> 9 -> 1 -> 5 -> 2 -> null Veja a resolução comentada deste exercício usando Java:
package estudos;
import java.util.Scanner;
// classe interna usada para representar um
// nó na lista ligada
class No {
int valor; // valor do nó
No proximo; // aponta para o novo nó
// construtor da classe No
No(int valor, No proximo) {
this.valor = valor;
this.proximo = proximo;
}
}
public class Estudos {
public static void main(String args[]){
// para ler a entrada do usuário
Scanner entrada = new Scanner(System.in);
// vamos criar uma referência para o início da lista
No inicio = null;
// agora vamos pedir para o usuário informar
// valores inteiros. O valor -1 sai do laço
int valor;
System.out.println("Inserindo valores no final da lista\n");
do {
System.out.print("Informe o valor (-1 para sair): ");
valor = Integer.parseInt(entrada.nextLine());
if (valor != -1) {
inicio = inserirFinal(inicio, valor);
}
} while(valor != -1);
// vamos exibir os valores na lista ligada
System.out.print("\nValores na lista: ");
exibirLista(inicio);
}
// função que permite adicionar um nó no final da
// lista ligada
public static No inserirFinal(No inicio, int valor) {
// vamos apontar para o nó inicial
No atual = inicio;
// criamos um novo nó
No novo = criarNo(valor);
// a lista ligada ainda está vazia?
if (atual == null){
// inicio recebe o novo nó
inicio = novo;
}
else { // temos um ou mais nós na lista ligada
// vamos localizar o último nó
while (atual.proximo != null) {
atual = atual.proximo;
}
// encontramos o último nó. Agora vamos inserir
// o novo nó depois dele
atual.proximo = novo;
}
// e retornamos o início da lista
return inicio;
}
// função usada para construir e retornar um novo nó
public static No criarNo(int valor) {
// cria o novo nó
No no = new No(valor, null);
// retorna o nó criado
return no;
}
// função usada para percorrer a lista ligada e
// exibir os valores contidos em seus nós
public static void exibirLista(No inicio) {
// vamos apontar para o início da lista
No temp = inicio;
// a lista está vazia?
if (temp == null) {
System.out.println("A lista está vazia.");
}
else {
// esse laço se repete enquanto tempo for
// diferente de null
while (temp != null) {
// vamos mostrar o valor desse nó
System.out.print(temp.valor + " -> ");
// avança para o próximo nó
temp = temp.proximo;
}
// mostra o final da lista
System.out.println("null");
}
}
}
|
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Estruturas de Controle |
Exercícios Resolvidos de Java - Um programa que lê a altura e o sexo de uma pessoa e informa seu peso idealQuantidade de visualizações: 7102 vezes |
|
Pergunta/Tarefa: Escreva um programa Java que recebe a altura (como double) e o sexo (como um char) de uma pessoa e que calcule e mostre o seu peso ideal. A fórmula a ser utilizada é: Homens: (72.7 x altura) - 58; Mulheres: (62.1 x altura) - 44.7 Sua saída deverá ser parecida com: Informe sua altura (ex: 1.74): 1.65 Informe o sexo (M ou F): M Seu peso ideal é: 61.955 Veja a resolução comentada deste exercício usando Java console:
package estudos;
import java.util.Scanner;
public class Estudos {
public static void main(String[] args) {
Scanner entrada = new Scanner(System.in);
// vamos solicitar a altura e o sexo da pessoa
System.out.print("Informe sua altura (ex: 1.74): ");
double altura = Double.parseDouble(entrada.nextLine());
System.out.print("Informe o sexo (M ou F): ");
char sexo = entrada.nextLine().charAt(0);
double pesoIdeal;
// vamos testar o sexo da pessoa
if(Character.toUpperCase(sexo) == 'M'){ // masculino
pesoIdeal = (72.7 * altura) - 58;
}
else{ // feminino
pesoIdeal = (62.1 * altura) - 44.7;
}
// vamos mostrar o resultado
System.out.println("Seu peso ideal é: " + pesoIdeal);
System.out.println("\n");
}
}
|
Java ::: Design Patterns (Padrões de Projeto) ::: Singleton Pattern |
Padrões de projeto para iniciantes - Como usar o padrão de projeto Singleton em suas aplicações JavaQuantidade de visualizações: 12358 vezes |
|
O padrão de projeto Singleton (ou Singleton Pattern) é um dos padrões de projeto mais conhecidos e implementado extensivamente nas linguagens que suportam programação orientada a objetos, tais como Java e C#. Nesta dica eu mostrarei como implementá-lo. Uma das situações nas quais usamos o padrão Singleton é quando queremos que somente uma instância de uma determinada classe seja criada e que esta esteja disponível para todas as demais classes do sistema. Um exemplo disso é uma classe responsável por registrar logs do sistema, uma classe responsável por obter conexões com o banco de dados, ou ainda uma classe que concentra dados de configuração da aplicação. Assim, a chave do padrão Singleton é um método estático, geralmente chamado de getInstance(), que retorna uma nova instância da classe se esta ainda não foi instanciada. Se a classe já tiver sido instanciada, o método getInstance() retorna a instância já existente. Vamos ver um exemplo deste padrão em Java. Observe o código a seguir: Código para Logger.java:
package estudos;
// Uma classe Singleton responsável por gravar
// logs no sistema
public class Logger {
// variável estática e privada que guarda a instância
// atual da classe
private static Logger instancia = null;
// Método estático que retorna uma instância já existente, ou
// cria uma nova instância
public static Logger getInstance() {
if (instancia == null) {
instancia = new Logger();
}
return instancia;
}
// Construtor privado para evitar que instâncias sejam
// criadas usando new
private Logger() {
// não precisamos fazer nada aqui
}
// método usado para registrar logs
public void registrarLog(String dados) {
System.out.println("Vou registrar o log: " + dados);
}
}
Veja agora como podemos chamar o método getInstance(), obter um objeto da classe Logger e "registrar um log": Código para Main.java:
package estudos;
public class Main {
public static void main(String[] args) {
// vamos registrar um novo log usando a classe Singleton
Logger.getInstance().registrarLog("Novo usuário cadastrado.");
}
}
Ao executar esta aplicação teremos a seguinte saída: Vou registrar o log: Novo usuário cadastrado. |
Delphi ::: Data Controls (Controles de Dados) ::: TDBGrid |
Como usar a propriedade PickList para definir ou obter a lista de escolhas para uma determinada coluna do TDBGrid do DelphiQuantidade de visualizações: 12225 vezes |
|
A propriedade PickList, do tipo TStrings, é usada quando queremos fornecer uma lista de itens da qual um poderá ser escolhido como conteúdo da célula pertencente a uma determinada coluna. Em tempo de design podemos definir os itens da lista clicando no DBGrid e escolhendo a opção Columns Editor. Em seguida escolha a coluna desejada e dê duplo-clique na propriedade PickList. Imediatamente o String List Editor será exibido. Neste editor podemos inserir os itens, cada um em sua linha. Em tempo de execução a lista de itens será exibida quando a célula estiver em edição. Note que, isso só acontecerá se o valor cbsAuto estiver definido para a propriedade ButtonStyle da coluna. Em tempo de execução podemos adicionar itens na propriedade PickList usando o seguinte trecho de código:
procedure TForm3.Button3Click(Sender: TObject);
begin
// vamos adicionar um novo item na PickList da primeira coluna
DBGrid1.Columns[0].PickList.Add('40');
end;
Veja agora um trecho de código no qual acessamos a propriedade PickList da coluna e exibimos seu conteúdo em um TMemo:
procedure TForm3.Button3Click(Sender: TObject);
var
i: Integer;
begin
// vamos adicionar o conteúdo da PickList da primeira coluna
// a um TMemo
for i := 0 to DBGrid1.Columns[0].PickList.Count - 1 do
begin
Memo1.Lines.Add(DBGrid1.Columns[0].PickList[i]);
end;
end;
Como a propriedade PickList da classe TColumn é do tipo TStrings, podemos efetuar várias operações na lista de itens, tais como, adicionar novos itens, excluir, ordenar os itens, etc. Esta dica foi escrita e testada no Delphi 2009. |
Desafios, Exercícios e Algoritmos Resolvidos de Delphi |
Veja mais Dicas e truques de Delphi |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |




