Você está aqui: Cards de Ética e Legislação Profissional |
||
|
||
|
|
||
C++ ::: Fundamentos da Linguagem ::: Tipos de Dados |
Como usar true e false em C e C++Quantidade de visualizações: 15010 vezes |
|
Em praticamente todas as linguagens de programação nós encontramos expressões condicionais que definem o fluxo de execução. Expressões condicionais são aquelas que, quando avaliadas, resultam em um valor true (verdadeiro) ou false (falso). Muitas linguagens de programação possuem um tipo booleano que armazena os valores true ou false. Enquanto o C++ possui o tipo bool, o C possui uma forma bem interessante de definir true ou false. Em C, um valor true é qualquer valor diferente de 0, incluindo numeros negativos. Veja:
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
int pode = 1; // verdadeiro
int nao_pode = 0; // falso
if(pode)
printf("Teste resultou verdadeiro\n\n");
if(!nao_pode)
printf("Teste resultou verdadeiro\n\n");
system("PAUSE");
return 0;
}
Lembre-se então. False em C é o valor zero. Qualquer outro valor é true. Embora C++ já possua o tipo bool, é possível usar a abordagem do zero para false e qualquer outro valor para true em C++ também. Você verá muito código legado usando este artifício. Quer ver algo interessante agora? Execute o seguinte código C++:
#include <string>
#include <iostream>
using namespace std;
int main(int argc, char *argv[]){
bool pode = true;
bool nao_pode = false;
cout << pode << "\n";
cout << nao_pode << "\n\n";
system("PAUSE"); // pausa o programa
return EXIT_SUCCESS;
}
Nos compiladores que obedecem o C++ padrão você verá os valores 1 e 0 serem impressos. |
Java ::: Dicas & Truques ::: Programação Orientada a Objetos |
Programação orientada a objetos em Java - Java OOP - Como usar variáveis estáticas em suas classes JavaQuantidade de visualizações: 12196 vezes |
|
Variáveis estáticas podem ser definidas em Java por meio do uso da palavra-chave static. Uma variável estática pertence à classe na qual ela é definida e não à cada uma de suas instâncias. Pareceu confuso? Você pode pensar assim: quando definida com o modificador static, uma variável será única na classe, não importa a quantidade de instâncias da classe que serão criadas. Cada uma destas instâncias compartilhará o valor da variável estática. Além disso, uma variável estática pode ser acessada por meio do nome da classe, sem a necessidade de uma referência a uma de suas instâncias. Uma variável estática pode ser public, private ou protected. Vamos ver um exemplo? Considere a situação na qual gostaríamos de criar um identificador único para cada um dos objetos de uma classe. Veja o código para a classe Livro: Código para Livro.java:
package estudos;
public class Livro {
// variáveis privadas
private String titulo; // título do livro
// variável estática que permitirá definir um
// identificador único para cada livro
private static int id;
// construtor da classe Livro
public Livro(){
// vamos incrementar a variável estática
Livro.id++;
}
// método que permite obter o id do livro
public int getId(){
return Livro.id;
}
// método que permite definir o título do livro
public void setTitulo(String titulo){
this.titulo = titulo;
}
// método que permite obter o título do livro
public String getTitulo(){
return this.titulo;
}
}
Veja agora como criar três objetos da classe Livro a partir do método main() da aplicação: Código para Main.java:
package estudos;
public class Main {
public static void main(String[] args) {
// vamos criar um objeto da classe Livro
Livro a = new Livro();
a.setTitulo("Programando em Java 2");
// vamos exibir os dados do livro
System.out.println("Id: " + a.getId());
System.out.println("Titulo: " + a.getTitulo());
// vamos criar mais um livro
Livro b = new Livro();
b.setTitulo("A biblia do C/C++");
// vamos exibir os dados do livro
System.out.println("Id: " + b.getId());
System.out.println("Titulo: " + b.getTitulo());
// e mais um livro aqui
Livro c = new Livro();
c.setTitulo("PHP + MySQL");
// vamos exibir os dados do livro
System.out.println("Id: " + c.getId());
System.out.println("Titulo: " + c.getTitulo());
}
}
Ao executar esta aplicação teremos o seguinte resultado: Id: 1 Titulo: Programando em Java 2 Id: 2 Titulo: A biblia do C/C++ Id: 3 Titulo: PHP + MySQL Como podemos ver, a cada instância criada a variável id é incrementada em 1. Caso você não tenha entendido todo o processo, este incremento acontece no construtor da classe Livro. Veja: // vamos incrementar a variável estática Livro.id++; Nas situações em que as variáveis estáticas são públicas, podemos acessá-la usando o nome da classe seguida de um ponto. Assim, se a variável id fosse pública, poderíamos acessá-la de qualquer lugar de nossa aplicação da seguinte forma: System.out.println(Livro.id); |
QGIS ::: PyQGIS API ::: Shapefiles, Camadas Vetoriais, Dados Vetoriais |
Como saber o sistema de coordenadas de um shapefile no QGIS usando a função crs() do objeto QgsVectorLayer da PyQGIS APIQuantidade de visualizações: 609 vezes |
|
Em algumas situações nós gostaríamos de saber o sistema de coordenadas usado em um shapefile que carregamos ou pretendemos carregar para os nossos projetos no QGIS. Para isso podemos usar a função crs() do objeto QgsVectorLayer da PyQGIS API. Esta função retorna um objeto da classe QgsCoordinateReferenceSystem, que possui uma função chamada description(), que retorna a descrição do sistema de coordenadas usado no shapefile. Veja o código PyQGIS completo para o exemplo:
# vamos criar um novo objeto QgsVectorLayer com o local do nosso shapefile
camada = QgsVectorLayer("C:\\GO_Municipios_2022\\GO_Municipios_2022.shp",
"Municípios Estado de Goiás", "ogr")
# vamos testar se a camada é válida
if not camada.isValid():
print("Não foi possível carregar a camada %s" % camada.name())
else:
# vamos adicionar a camada à relação de camadas
QgsProject.instance().addMapLayer(camada)
# vamos exibir o sistema de coordenadas da camada
sistema_coordenadas = camada.crs()
print(sistema_coordenadas.description())
Ao rodar esse código PyQGIS no QGIS nós teremos o seguinte resultado: EPSG 4674 / SIRGAS 2000 |
C# ::: Dicas & Truques ::: Strings e Caracteres |
Como testar se uma string é null ou vazia em C# usando a função IsNullOrEmpty() da classe StringQuantidade de visualizações: 23880 vezes |
|
Em algumas situações nós queremos verificar se uma variável do tipo string está null ou vazia (não contém nem mesmo o caractere de espaço ou quebra de linha). Para isso nós podemos usar o método IsNullOrEmpty() da classe String da linguagem C#. Veja um trecho de código no qual temos uma string nula e uma string vazia. Observe os resultados retornados pela função:
using System;
namespace Estudos {
class Program {
static void Main(string[] args) {
string palavra1 = null;
string palavra2 = "";
if (String.IsNullOrEmpty(palavra1)) {
Console.WriteLine("palavra1 é null ou vazia");
}
if (String.IsNullOrEmpty(palavra2)) {
Console.WriteLine("palavra2 é null ou vazia");
}
Console.WriteLine("\n\nPressione uma tecla para sair...");
Console.ReadKey();
}
}
}
Ao executar este código C# nós teremos o seguinte resultado: palavra1 é null ou vazia palavra2 é null ou vazia |
Python ::: Dicas & Truques ::: HTTP Web Server |
Como criar um servidor web em Python usando as classes BaseHTTPRequestHandler e HTTPServerQuantidade de visualizações: 842 vezes |
|
Nesta dica mostrarei como criar um web server em Python, ou seja, o nosso próprio servidor web. Para isso nós vamos criar uma classe ServidorWeb que herda de BaseHTTPRequestHandler, que nos fornece todos os métodos necessários para tratar requisições HTTP, tais como GET e POST. Note que definir o nome do host como "localhost" e a porta como "8080". Veja o código completo para o nosso web server em Python:
# precisamos importar os objetos BaseHTTPRequestHandler e HTTPServer
# do módulo http.server
from http.server import BaseHTTPRequestHandler, HTTPServer
# precisamos também do módulo time
import time
# vamos criar a classe ServidorWeb, que herda de
# BaseHTTPRequestHandler
class ServidorWeb(BaseHTTPRequestHandler):
# vamos implementar o método que responde às requisições GET
def do_GET(self):
self.send_response(200)
self.send_header("Content-type", "text/html")
self.end_headers()
self.wfile.write(bytes("<html><head><title>Meu Servidor Web</title></head>",
"utf-8"))
self.wfile.write(bytes("<p>Requsição: %s</p>" % self.path,
"utf-8"))
self.wfile.write(bytes("<body>", "utf-8"))
self.wfile.write(bytes("<p>Exemplo de Web Server em Python</p>",
"utf-8"))
self.wfile.write(bytes("</body></html>", "utf-8"))
# função principal do programa
def main():
# agora criamos um objeto HTTPServer
host = "localhost"
porta = 8080
servidorWeb = HTTPServer((host, porta), ServidorWeb)
print("Servidor iniciado em http://%s:%s" % (host, porta))
# tentamos levantar o servidor
try:
servidorWeb.serve_forever()
except KeyboardInterrupt:
pass
# liberamos o servidor web
servidorWeb.server_close()
print("O servidor web foi parado.")
if __name__== "__main__":
main()
Ao executar este código você verá a seguinte mensagem: Servidor iniciado em http://localhost:8080 A partir daí você pode abrir o seu navegador neste endereço e já verá a página web que definimos no corpo do método do_GET() da classe ServidorWeb. Agora é só explorar as dicas dessa seção para aprender ainda mais sobre redes, soquetes e servidores web usando a linguagem Python. |
Desafios, Exercícios e Algoritmos Resolvidos de Python |
Veja mais Dicas e truques de Python |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |





