Você está aqui: Cards de Engenharia Civil - Estruturas de Concreto Armado |
||
|
||
![]() |
||
PHP ::: Dicas & Truques ::: URLs, Documentos e Páginas |
Como obter o caminho da raiz do site usando a variável global $_SERVER['DOCUMENT_ROOT'] do PHPQuantidade de visualizações: 13844 vezes |
Como obter o caminho da raiz do site usando a variável global $_SERVER['DOCUMENT_ROOT'] do PHP Em algumas situações nós precisamos obter o caminho do diretório raiz no qual o nosso documento ou código PHP está sendo executado. Para isso nós podemos usar a variável pré-definida $_SERVER['DOCUMENT_ROOT']. Esta variável costuma ser disponibilizada pela maioria dos servidores web. Veja um exemplo de seu uso: <html> <head> <title>Estudos PHP</title> </head> <body> <?php echo "A raiz do site é: " . $_SERVER['DOCUMENT_ROOT']; ?> </body> </html> Ao executar este código nós teremos o seguinte resultado: A raiz do site é: C:/xampp/htdocs |
GoLang ::: Desafios e Lista de Exercícios Resolvidos ::: Geometria, Trigonometria e Figuras Geométricas |
Exercícios Resolvidos de Golang - Como calcular a área de um losango em GoQuantidade de visualizações: 1131 vezes |
Pergunta/Tarefa: Um losango é um quadrilátero equilátero, ou seja, é um polígono formado por quatro lados de igual comprimento. Um losango é também um paralelogramo. Alguns autores exigem ainda que nenhum dos ângulos do quadrilátero seja reto para que ele seja considerado um losango. A área (em metros quadrados) de um losango pode ser calculada usando-se a seguinte fórmula: ![]() Onde D1 é a diagonal maior e D2 é a diagonal menor. Escreva um programa Golang que leia a diagonal maior e a diagonal menor e calcule a área do losango. Sua saída deverá ser parecida com: Informe a medida da diagonal maior: 5 Informe a medida da diagonal menor: 10 A área (em metros quadrados) do losango é: 25 Veja a resolução comentada deste exercício usando Go: // pacote principal package main // vamos importar o módulo de formatação de // entrada e saída import "fmt" // esta é a função principal do programa func main() { // variáveis que vamos usar na resolução do problema var diagonal_maior, diagonal_menor int var area float32 // vamos ler os valores das diagonais maior e menor fmt.Print("Informe a medida da diagonal maior: ") fmt.Scanln(&diagonal_maior) fmt.Print("Informe a medida da diagonal menor: ") fmt.Scanln(&diagonal_menor) // calcula a area do losango area = float32((diagonal_maior * diagonal_menor)) / 2 // mostra o resultado fmt.Printf("A área (em metros quadrados) é: %.2f", area) } |
C ::: Estruturas de Dados ::: Lista Ligada Simples |
Estruturas de Dados em C - Como inserir antes de um determinado nó em uma lista encadeada simples usando CQuantidade de visualizações: 2029 vezes |
Em algumas situações nós precisamos inserir o novo nó antes de um determinado nó na lista encadeada simples. Veja, por exemplo, uma lista com o seguintes valores: 45 | 3 | 98 | 47 Suponha que queremos inserir o valor 50 antes do 98, então o novo conteúdo da lista será: 45 | 3 | 50 | 98 | 47 Observe que neste exemplo eu tratei o caso de inserir antes do primeiro nó, ou seja, antes do 45, mas não tratei a lista vazia. Há também a questão do laço infinito caso o usuário queira inserir antes de um nó não existente (não tratada). Veja o código completo: #include <stdio.h> #include <stdlib.h> // estrutura Nó struct No{ int valor; struct No *proximo; }; // fim da estrutura Nó // função que permite exibir os valores de // todos os nós da lista void exibir(struct No *n){ if(n != NULL){ do{ printf("%d\n", n->valor); n = n->proximo; }while(n != NULL); } else printf("A lista esta vazia\n\n"); } // função que permite inserir um novo nó // antes de um determinado valor struct No *inserir_antes_valor(struct No *n, int v, int v_antes){ // reserva memória para o novo nó struct No *novo = (struct No*)malloc(sizeof(struct No)); novo->valor = v; // guarda o nó antes do valor que procuramos struct No *anterior = NULL; struct No *temp = n; // aponta para o início da lista // enquanto for diferente do valor que estamos procurando while(temp->valor != v_antes){ anterior = temp; // anterior recebe temp // e temp recebe o seu próximo temp = temp->proximo; } // ATENÇÃO: não estamos tratando a condição // de lista vazia. Para isso veja minha dica // sobre como inserior no início da lista // devemos inserior no início da lista? if(anterior == NULL){ // o próximo do novo nó é o início da lista novo->proximo = n; n = novo; // início da lista é o novo nó } else{ // o proximo do anterior é o novo nó anterior->proximo = novo; // e o próximo do novo nó é temp novo->proximo = temp; } return n; } // função que permite inserir nós no // final da lista. // veja que a função recebe o valor a ser // armazenado em cada nó e um ponteiro para o // início da lista. A função retorna um // ponteiro para o início da lista struct No *inserir_final(struct No *n, int v){ // reserva memória para o novo nó struct No *novo = (struct No*)malloc(sizeof(struct No)); novo->valor = v; // verifica se a lista está vazia if(n == NULL){ // é o primeiro nó...não deve apontar para // lugar nenhum novo->proximo = NULL; return novo; // vamos retornar o novo nó como sendo o início da lista } else{ // não está vazia....vamos inserir o nó no final // o primeiro passo é chegarmos ao final da lista struct No *temp = n; // vamos obter uma referência ao primeiro nó // vamos varrer a lista até chegarmos ao último nó while(temp->proximo != NULL){ temp = temp->proximo; } // na saída do laço temp aponta para o último nó da lista // novo será o último nó da lista...o campo próximo dele deve // apontar para NULL novo->proximo = NULL; // vamos fazer o último nó apontar para o nó recém-criado temp->proximo = novo; return n; // vamos retornar o início da lista intacto } } int main(int argc, char *argv[]) { // declara a lista struct No *inicio = NULL; // vamos inserir quatro valores no final // da lista inicio = inserir_final(inicio, 45); inicio = inserir_final(inicio, 3); inicio = inserir_final(inicio, 98); inicio = inserir_final(inicio, 47); // vamos exibir a lista puts("Valores atuais:\n"); exibir(inicio); // vamos inserir o valor 50 antes do 98 inicio = inserir_antes_valor(inicio, 50, 98); // vamos exibir a lista novamente puts("\nValores agora:\n"); exibir(inicio); puts("\n\n"); system("pause"); return 0; } |
Django ::: Dicas de Estudo e Anotações ::: Passos Iniciais |
Como criar um novo projeto Django usando o comando django-admin startprojectQuantidade de visualizações: 658 vezes |
Quando estamos desenvolvendo aplicações web usando o framework Django do Python, é comum encontrarmos os termos projetos e aplicações. Um projeto é uma instalação do Django com algumas configurações específicas, enquanto uma aplicação (ou app) é um conjunto de models, views, templates e URLs. Nesta dica mostrarei como criar um novo projeto Django. Para isso usaremos o comando django-admin startproject. Assim, crie um diretório para o seu projeto, entre nela via janela de terminal e dispare o seguinte comando: c:\>cd c:\estudos_python c:\estudos_python>django-admin startproject estudos Note que criei um projeto chamado "estudos" dentro do diretório "c:\estudos_python". Veja agora os arquivos que a ferramenta django-admin criou para nós: estudos/ manage.py estudos/ __init__.py asgi.py wsgi.py settings.py urls.py O arquivo manage.py é um utilitário de linha comando que usamos para interagir com o nosso projeto. Este arquivo, que serve como um wrapper para a ferramenta django-admin.py, não precisa ser editado. O arquivo __init__.py, já dentro do diretório do projeto, é um arquivo vazia que informa ao Python para tratar o diretório "estudos" como um módulo Python. O arquivo settings.py serve para definirmos ajustes e configurações para o nosso projeto. Ele contém as configurações iniciais, tais como LANGUAGE_CODE, DATABASES, TEMPLATES, ALLOWED_HOSTS, DEBUG, etc. O arquivo urls.py é o local qual ficamos os padrões de URL. Cada URL deste arquivo é mapeada para uma view (página de apresentação). O arquivo wsgi.py contém as configurações para rodarmos o nosso projeto como uma aplicação Web Server Gateway Interface (WSGI). Para finalizar, o arquivo asgi.py contém as configurações para rodarmos o nosso projeto como ASGI. Este é um padrão recente para servidores web e aplicações assíncronas. Agora que o projeto já foi criado, para rodar ele no navegador, basta entrar no diretório principal e disparar o comando abaixo: c:\estudos_python>cd estudos c:\estudos_python\estudos>python manage.py runserver Se tudo correr bem, abra seu navegador na URL http://127.0.0.1:8000 e você verá seu projeto Django em execução. Em mais dicas do site você verá como criar aplicações Django dentro do seu projeto. |
Java ::: Coleções (Collections) ::: LinkedList |
Java Collections - Como adicionar elementos no final de uma LinkedList usando os métodos add() e addLast()Quantidade de visualizações: 9304 vezes |
O trecho de código a seguir mostra como adicionar elementos no final de um lista ligada (objeto da classe LinkedList). Para isso podemos usar os métodos add() e addLast(). Ambos possuem a mesma funcionalidade. É claro que addLast() representa melhor a idéia de adicionar elementos no final da lista ligada. Veja ainda como usar um ListIterator para percorrer a lista e exibir os elementos. Outra técnica que você perceberá é o uso de unboxing dentro do laço while:import java.util.*; public class Estudos{ public static void main(String args[]){ // Cria uma LinkedList de inteiros LinkedList<Integer> valores = new LinkedList<Integer>(); // adiciona valores no final da lista ligada // usando os métodos add() e addLast(). Lembre-se // de que ambos fornecem a mesma funcionalidade valores.add(56); valores.addLast(3); valores.add(28); // obtém um ListIterator para percorrer toda a // lista ligada, começando no primeiro elemento ListIterator<Integer> iterador = valores.listIterator(0); while(iterador.hasNext()){ // note o unboxing aqui int valor = iterador.next(); System.out.println(valor); } } } Ao executar este código Java nós teremos o seguinte resultado: 56 3 28 |
Desafios, Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |