Lista de Exercícios Resolvidos: Java | Python | VisuAlg | Portugol | C | C# | VB.NET | C++
Você está aqui: CodeIgniter ::: Classes, Controles e Componentes ::: Model

O que são e como usar models em aplicações CodeIgniter

Quantidade de visualizações: 7680 vezes


Models são classes PHP que extendem Model e são usadas para representar entidades, regras de negócio e informações de banco de dados. Um bom uso de models é quando temos que modelar um cadastro de clientes. Assim, um model Cliente poderia ter funções para inserir, atualizar, excluir ou obter dados de um cliente.

Models geralmente são salvos no diretório system/application/models. Veja abaixo como criar um model e acessá-lo a partir de um controller:

1) Comece criando o model abaixo e salve-o no diretório system/application/models com o nome de cliente.php:
<?php
class Cliente extends Model{
  var $nome;

  function Blogmodel(){
    parent::Model();
	$this->nome = "undefined";
  }
  
  function obterNome(){
    return $this->nome;
  }
  
  function definirNome($nome){
    $this->nome = $nome;
  }
}
?>
2) Crie o controller abaixo e use-o para carregar e acessar as funções do model:
class Cadastro extends Controller{
  function Cadastro(){
    parent::Controller();	
  }
	
  function index(){
    $this->load->model('cliente');
    $this->cliente->definirNome("Osmar J. Silva");
    echo $this->cliente->obterNome();
  }
}


Link para compartilhar na Internet ou com seus amigos:

C++ ::: Desafios e Lista de Exercícios Resolvidos ::: Laços

Exercício Resolvido de C++ - Calculando e exibindo os números primos entre 2 e 100

Quantidade de visualizações: 9772 vezes
Exercícios Resolvidos de C++ - Calculando e exibindo os números primos entre 2 e 100

Pergunta/Tarefa:

Um inteiro é um número primo se ele for divisível somente por 1 e por ele mesmo. Assim, 2, 3, 5 e 7 são primos, enquanto 4, 6, 8 e 9 não são. Note que o número 1 não é primo.

Escreva um programa C++ que usa um laço for, while ou do...while para calcular e exibir os números primos entre 2 (incluindo) e 100 (incluindo). A saída do programa deverá ser parecida com:

Numeros primos entre 2 e 100
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97
Resposta/Solução:

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

#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[]){
  // limite dos números primos (incluindo)
  int limite = 100;
               
  // Lembre-se! O número 1 não é primo
  cout << "Numeros primos entre 2 e " << limite << endl;
  
  // laço que percorre os valores de 2 até o limite desejado
  for(int i = 2; i <= limite; i++){
    bool primo = true;
                       
    // se o valor de i for 7, a variável j do laço contará
......



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

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

Quantidade de visualizações: 1327 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 Java 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:

package arquivodecodigos;
 
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);
    // coordenadas dos dois pontos
    double x1, y1, x2, y2;
    // guarda o coeficiente angular
    double m; 
       
    // x e y do primeiro ponto
    System.out.print("Coordenada x do primeiro ponto: ");
    x1 = Double.parseDouble(entrada.nextLine());
    System.out.print("Coordenada y do primeiro ponto: ");
    y1 = Double.parseDouble(entrada.nextLine());
......


Ao executar este código Java 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

Veja agora como podemos calcular o coeficiente angular da reta que passa pelos dois pontos usando o Teorema de Pitágoras. Note que agora nós estamos tirando proveito da tangente do ângulo Theta (__$\theta__$), também chamado de ângulo Alfa ou Alpha (__$\alpha__$):

package arquivodecodigos;
 
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);
    // coordenadas dos dois pontos
    double x1, y1, x2, y2;
    // guarda os comprimentos dos catetos oposto e adjascente
    double cateto_oposto, cateto_adjascente;
    // guarda o ângulo tetha (em radianos) e a tangente
    double tetha, tangente; 
       
    // x e y do primeiro ponto
    System.out.print("Coordenada x do primeiro ponto: ");
    x1 = Double.parseDouble(entrada.nextLine());
    System.out.print("Coordenada y do primeiro ponto: ");
    y1 = Double.parseDouble(entrada.nextLine());
    
    // x e y do segundo ponto
    System.out.print("Coordenada x do segundo ponto: ");
......


Ao executar este código você verá que o resultado é o mesmo. 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.


Ruby ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes)

Como somar os elementos da diagonal principal de uma matriz em Ruby

Quantidade de visualizações: 561 vezes
A Matriz quadrada é um tipo especial de matriz que possui o mesmo número de linhas e o mesmo número de colunas, ou seja, dada uma matriz Anxm, ela será uma matriz quadrada se, e somente se, n = m, onde n é o número de linhas e m é o número de colunas.

Em geral as matrizes quadradas são chamadas de Matrizes de Ordem n, onde n é o número de linhas e colunas. Dessa forma, uma matriz de ordem 4 é uma matriz que possui 4 linhas e quatro colunas.

Toda matriz quadrada possui duas diagonais, e elas são muito exploradas tanto na matemática quanto na construção de algorítmos. Essas duas diagonais são chamadas de Diagonal Principal e Diagonal Secundária.

A diagonal principal de uma matriz quadrada une o seu canto superior esquerdo ao canto inferior direito. Veja:



Nesta dica veremos como calcular a soma dos valores dos elementos da diagonal principal de uma matriz usando Ruby. Para isso, só precisamos manter em mente que a diagonal principal de uma matriz A é a coleção das entradas Aij em que i é igual a j. Assim, tudo que temos a fazer é converter essa regra para código Ruby.

Veja um trecho de código Ruby completo no qual pedimos para o usuário informar os elementos da matriz e em seguida mostramos a soma dos elementos da diagonal superior:

# vamos declarar e construir uma matriz de três linhas e três colunas
matriz = Array.new(3){Array.new(3)}
soma_diagonal = 0; # guarda a soma dos elementos na diagonal principal

# vamos ler os valores para os elementos da matriz
for i in (0..2) # linhas
  for j in (0..2) # colunas
    printf("Valor para a linha %d e coluna %d: ", i, j) 
    matriz[i][j] =  gets.chomp.to_i
  end
end

# vamos mostrar a matriz da forma que ela
# foi informada
print("\n")
......


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

Informe o valor para a linha 0 e coluna 0: 3
Informe o valor para a linha 0 e coluna 1: 7
Informe o valor para a linha 0 e coluna 2: 9
Informe o valor para a linha 1 e coluna 0: 2
Informe o valor para a linha 1 e coluna 1: 4
Informe o valor para a linha 1 e coluna 2: 1
Informe o valor para a linha 2 e coluna 0: 5
Informe o valor para a linha 2 e coluna 1: 6
Informe o valor para a linha 2 e coluna 2: 8

    3     7     9 
    2     4     1 
    5     6     8 

A soma dos elementos da diagonal principal é: 15



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

Exercícios Resolvidos de Java - Um programa Java que recebe o ano de nascimento de uma pessoa e o ano atual e mostra a idade da pessoa em anos, meses, dias e semanas

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

Escreva um programa Java que recebe o ano de nascimento de uma pessoa e o ano atual, calcule e mostre:

a) A idade da pessoa em anos;
b) A idade da pessoa em meses;
c) A idade da pessoa em dias;
d) A idade da pessoa em semanas.

Sua saída deverá ser parecida com:

Informe o ano de seu nascimento: 1985
Informe o ano atual: 2023
A idade em anos é: 38
A idade em meses é: 456
A idade em dias é: 13680
A idade em semanas é: 1976
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 o ano de nascimento
    System.out.print("Informe o ano de seu nascimento: ");
    int ano_nascimento = Integer.parseInt(entrada.nextLine());
    System.out.print("Informe o ano atual: ");
    int ano_atual = Integer.parseInt(entrada.nextLine());
    
    // calcula a idade em anos
    int idade_anos = ano_atual - ano_nascimento;
......



GNU Octave ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas

Como calcular o seno de um número ou ângulo em GNU Octave usando a função sin()

Quantidade de visualizações: 1426 vezes
Em geral, quando falamos de seno, estamos falando do triângulo retângulo de Pitágoras (Teorema de Pitágoras). A verdade é que podemos usar a função seno disponível nas linguagens de programação para calcular o seno de qualquer número, mesmo nossas aplicações não tendo nenhuma relação com trigonometria.

No entanto, é sempre importante entender o que é a função seno. Veja a seguinte imagem:



Veja que temos um triângulo retângulo com as medidas já calculadas para a hipotenusa e os dois catetos, assim como os ângulos entre eles.

Assim, o seno é a razão entre o cateto oposto (oposto ao ângulo theta) e a hipotenusa, ou seja, o cateto oposto dividido pela hipotenusa. Veja a fórmula:

\[\text{Seno} = \frac{\text{Cateto oposto}}{\text{Hipotenusa}} \]

Então, se dividirmos 20 por 36.056 (na figura eu arredondei) nós teremos 0.5547, que é a razão entre o cateto oposto e a hipotenusa (em radianos).

Agora, experimente calcular o arco-cosseno de 0.5547. O resultado será 0.9828 (em radianos). Convertendo 0.9828 radianos para graus, nós obtemos 56.31º, que é exatamente o ângulo em graus entre o cateto oposto e a hipotenusa na figura acima.

Pronto! Agora que já sabemos o que é seno na trigonometria, vamos entender mais sobre a função sin() da linguagem GNU Octave. Esta função, que já vem embutido na ferramenta, recebe um valor numérico e retorna um valor, também numérico) entre -1 até 1 (ambos inclusos). Veja:

>> sin(0) [ENTER]
ans = 0
>> sin(1) [ENTER]
ans = 0.8415
......


Note que calculamos os senos dos valores 0, 1 e 2. Observe como os resultados conferem com a curva da função seno mostrada abaixo:




Veja mais Dicas e truques de GNU Octave

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á 12 usuários muito felizes estudando em nosso site.