Você está aqui: Cards de |
||
|
||
|
|
||
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Laços de Repetição |
Exercícios Resolvidos de Java - Um laço for que conta de 0 até 10Quantidade de visualizações: 13840 vezes |
|
Pergunta/Tarefa: Escreva uma aplicação console Java que usa o laço for para contar de 0 até 10. Faça dois exemplos. No primeiro você deverá escrever os valores na horizontal e no segundo você deverá escrever os valores na vertical: Resposta/Solução: Este exercício é um dos primeiros sobre o uso de laços nos cursos de Java e você pode fazer usando o Bloco de Notas, Netbeans, Eclipse ou sua IDE favorita. Veja o código que usa o laço for para contar de 0 até 10 e exibir os valores na horizontal:
public static void main(String[] args){
// laço for que conta de 0 até 10 e exibe os valores na horizontal
for(int i = 0; i <= 10; i++){
System.out.print(i + " ");
}
}
Quando você executar este código, os valores deverão ser impressos da seguinte forma: 0 1 2 3 4 5 6 7 8 9 10 Agora, veja como uma pequena modificação faz com que os valores sejam impressos na vertical:
public static void main(String[] args){
// laço for que conta de 0 até 10 e exibe os valores na vertical
for(int i = 0; i <= 10; i++){
System.out.println(i + " ");
}
}
Agora os valores serão exibidos da seguinte forma: 0 1 2 3 4 5 6 7 8 9 10 |
C ::: Dicas & Truques ::: Struct (Estruturas, Registros) |
Como alocar memória para instâncias de uma estrutura (struct) e acessá-las usando ponteiros em CQuantidade de visualizações: 11633 vezes |
|
Esta dica mostra como declarar uma estrutura (struct), alocar duas instâncias desta e acessá-las usando ponteiros. Considere a seguinte struct:
// define a estrutura Livro
struct Livro{
char titulo[80];
int codigo;
int paginas;
};
Note que agora a variável titulo foi declarada como uma matriz de caracteres de 80 posições. Mais adiante você entenderá o propósito de tal abordagem. Veja agora como alocamos memória para duas instâncias desta estrutura: // cria dois ponteiros para duas instâncias (recém-alocadas) // de Livro Livro *a = (struct Livro*)malloc(sizeof(struct Livro)); Livro *b = (struct Livro*)malloc(sizeof(struct Livro)); A partir deste ponto as variáveis a e b são ponteiros para as duas instâncias recém alocadas. Observe que, quando usamos ponteiros para estruturas, seus membros são acessados usando-se a notação -> em vez do ponto. Veja: a->codigo = 342; a->paginas = 230; Para definir o valor para o membro titulo é preciso lançar mão da função strcpy(). Isso é feito porque estamos lidando com ponteiros, e cada instância de Livro possui sua área de memória a partir da qual a posição inicial da cadeia de caracteres que receberá o título do livro já foi inicializada. Veja: strcpy(a->titulo, "Programando em Java"); Observe agora o código completo para o exemplo:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// define a estrutura Livro
struct Livro{
char titulo[80];
int codigo;
int paginas;
};
int main(int argc, char *argv[]){
// cria dois ponteiros para duas instâncias (recém-alocadas)
// de Livro
Livro *a = (struct Livro*)malloc(sizeof(struct Livro));
Livro *b = (struct Livro*)malloc(sizeof(struct Livro));
// preenche os dados do primeiro Livro
// Estamos usando ponteiros agora. Para definir o título
// do livro é preciso usar a função strcpy, já que estamos
// usando uma cadeia de caracteres
strcpy(a->titulo, "Programando em Java");
a->codigo = 342;
a->paginas = 230;
// preenche os dados do segundo Livro
strcpy(b->titulo, "JavaScript - O Guia Prático");
b->codigo = 675;
b->paginas = 930;
// exibe os dados do primeiro livro
printf("Primeiro Livro\nTitulo: %s\nCodigo: %d\nPaginas: %d\n",
a->titulo, a->codigo, a->paginas);
// exibe os dados do segundo livro
printf("\nSegundo Livro\nTitulo: %s\nCodigo: %d\nPaginas: %d\n",
b->titulo, b->codigo, b->paginas);
puts("\n\n");
system("PAUSE");
return 0;
}
|
Python ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas |
Como converter radianos em graus na linguagem PythonQuantidade de visualizações: 5687 vezes |
|
Todos os métodos e funções trigonométricas em Python recebem seus argumentos em radianos, em vez de graus. Um exemplo disso é a função sin() do objeto math, no módulo math. Esta função recebe o ângulo em radianos e retorna o seu seno. No entanto, há momentos nos quais precisamos retornar alguns valores como graus. Para isso é importante sabermos fazer a conversão de radianos para graus. Veja a fórmula abaixo: \[Graus = Radianos \times \frac{180}{\pi}\] Agora veja como esta fórmula pode ser escrita em código Python:
import math
# função principal do programa
def main():
# valor em radianos
radianos = 1.5
# obtém o valor em graus
graus = radianos * (180 / math.pi)
# mostra o resultado
print(radianos, "radianos convertidos para",
"graus é", graus)
if __name__== "__main__":
main()
Ao executarmos este código Python nós teremos o seguinte resultado: 1.5 radianos convertidos para graus é 85.94366926962348 Para fins de memorização, 1 radiano equivale a 57,2957795 graus. Por fim, saiba que a linguagem Python nos oferece o método math.degrees() que nos permite converter ângulos radianos em graus. Meu propósito nesta dica foi mostrar a você como o cálculo de conversão pode ser escrito em Python. Em outras dicas dessa seção abordaremos o método math.degrees(). |
PHP ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Como pesquisar valores em arrays do PHP usando a função array_search()Quantidade de visualizações: 24392 vezes |
|
A função array_search() do PHP é muito útil quando precisamos pesquisar um determinado valor em um vetor e retornar o seu índice. É importante observar que esta função retorna o índice do elemento se ele for encontrado no array e, em caso contrário, retorna o valor FALSE. Veja um exemplo completo de seu uso:
<?php
$pessoas[0] = "Carlos";
$pessoas[1] = "Juliana";
$pessoas[2] = "Igor";
$pessoas[3] = "Marcelo";
$pessoas[4] = "Amélia";
$indice = array_search("Igor", $pessoas);
if($indice){
echo "O valor foi encontrado no índice " . $indice;
}
else{
echo "O valor pesquisado não foi encontrado.";
}
?>
Ao executar este código PHP nós teremos o seguinte resultado: O valor foi encontrado no índice 2. |
C++ ::: Dicas & Truques ::: Programação Orientada a Objetos |
Programação Orientada a Objetos em C++ - Como criar e usar métodos estáticos em suas classes C++Quantidade de visualizações: 15120 vezes |
Como já vimos em outras dicas desta seção, uma classe C++ possui propriedades (variáveis) e métodos (funções). Veja a seguinte declaração de uma classe Produto:
// definição da classe Produto
class Produto{
public:
void setNome(string);
string getNome();
void setPreco(double);
double getPreco();
private:
string nome;
double preco;
};
Aqui cada instância da classe Produto terá suas próprias variáveis nome e preco e os métodos que permitem acesso e alteração destas variáveis também estão disponíveis a cada instância. Há, porém, situações nas quais gostaríamos que um determinado método estivesse atrelado à classe e não à cada instância individual. Desta forma, é possível chamar um método de uma classe sem a necessidade da criação de instâncias da mesma. Métodos estáticos em C++ podem ser criados por meio do uso da palavra-chave static. É comum tais métodos serem declarados com o modificador public, o que os torna acessíveis fora da classe na qual estes foram declarados. Veja um exemplo:
#include <cstdlib>
#include <iostream>
#include <string>
using namespace std;
// classe Pessoa com duas variáveis privadas e
// um método estático
class Pessoa{
public:
// um método estático que permite verificar a validade
// de um número de CPF
static bool isCPFValido(string);
private:
string nome;
int idade;
};
// implementação da classe Pessoa
bool Pessoa::isCPFValido(string cpf){
// alguns cálculos aqui
return true;
}
int main(int argc, char *argv[]){
// vamos efetuar uma chamada ao método isCPFValido() sem
// criar uma instância da classe Pessoa
if(Pessoa::isCPFValido("12345")){
cout << "CPF Válido" << endl;
}
else{
cout << "CPF inVálido" << endl;
}
system("PAUSE");
return EXIT_SUCCESS;
}
Aqui nós temos os códigos da definição e implementação da classe Pessoa em apenas um arquivo (main.cpp). Em uma aplicação real é interessante colocar estas partes em arquivos separados (.h e .cpp). Note que o método estático isCPFValido() foi declarado assim: static bool isCPFValido(string); Desta forma, podemos chamá-la a partir de código externo à classe sem a necessidade de criar uma nova instância da mesma. Veja: if(Pessoa::isCPFValido("12345")){} É importante notar que métodos estáticos não possuem acesso a variáveis e métodos não estáticos da classe, tampouco ao ponteiro this (que só existe quando criamos instâncias da classe). Assim, o trecho de código abaixo:
bool Pessoa::isCPFValido(string cpf){
// alguns cálculos aqui
// vamos acessar a variável não estática nome
nome = "Osmar J. Silva";
return true;
}
vai gerar o seguinte erro de compilação: invalid use of member `Pessoa::nome' in static member function. Se usarmos this->nome a mensagem de erro de compilação será: `this' is unavailable for static member functions. Métodos estáticos são úteis quando precisamos criar classes que atuarão como suporte, nas quais poderemos chamar funções (métodos) auxiliares sem a necessidade de criar novas instâncias a cada vez que estas funções forem necessárias. |
Desafios, Exercícios e Algoritmos Resolvidos de C++ |
Veja mais Dicas e truques de C++ |
Dicas e truques de outras linguagens |
|
Java - Estruturas de Dados em Java - Como inserir nós no início de uma lista singularmente ligada em Java |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |




