![]() |
|
||||
![]() Planilha Web - Planilhas e Calculadoras online para estudantes e profissionais de Engenharia Civil, Engenharia Elétrica e Engenharia Mecânica. |
|||||
C ::: Dicas & Truques ::: Strings e Caracteres |
Como escrever uma função strtolower() para transformar uma palavra inteira em letras minúsculas usando a linguagem CQuantidade de visualizações: 10042 vezes |
O C padrão não possui uma função para transformar todas as letras de uma palavra em minúsculas, embora alguns compiladores a forneça. O que temos é a função: int tolower(int c); que permite transformar um caractere em seu correspondente minúsculo. Podemos tirar vantagem disso e escrever uma função strtolower() personalizada. Veja a listagem logo abaixo: #include <stdio.h> #include <stdlib.h> void strtolower(char *string){ while(*string){ *string = tolower(*string); string++; } } int main(int argc, char *argv[]) { char frase[] = "PROGRAMANDO EM C"; strtolower(frase); printf("%s\n\n", frase); system("PAUSE"); return 0; } Ao executar este código nós teremos o seguinte resultado: programando em c Pressione qualquer tecla para continuar... |
Java ::: Estruturas de Dados ::: Árvore Binária e Árvore Binária de Busca |
Como percorrer uma árvore binária em Java usando o algorítmo depth-first search (DFS) recursivoQuantidade de visualizações: 993 vezes |
Nesta dica mostrarei como podemos implementar o algorítmo da Busca em Profundidade (DFS, do inglês depth-first search) em Java de forma recursiva. Em outra dica desta seção que mostrei como fazer a mesma travessia de forma iterativa e usando uma pilha para backtracking (retrocesso). Antes de iniciarmos, veja a árvore binária que vamos usar no exemplo: ![]() Note que esta árvore possui seis nós. O nó 5 é o nó raiz, e possui como filhos os nós 4 e 9. O nó 4, por sua vez, possui apenas um filho, o nó 2, ou seja, o filho da esquerda. O nó 9 possui dois filhos: o nó 3 é o filho da esquerda e o nó 12 é o filho da direita. Os filhos da árvore binária que não possuem outros filhos são chamados de folhas. Com a abordagem da busca em profundidade, começamos com o nó raiz e viajamos para baixo em uma única ramificação. Se o nó desejado for encontrado naquela ramificação, ótimo. Do contrário, continuamos subindo e pesquisando por nós não visitados. Esse tipo de busca também tem uma notação big O de O(n). Vamos à implementação? Veja o código para a classe No, que representa um nó na árvore binária: // implementação da classe No class No{ public int valor; // o valor do nó public No esquerdo; // o filho da esquerda public No direito; // o filho da direita public No(int valor){ this.valor = valor; this.esquerdo = null; this.direito = null; } } Veja agora o código completo para o exemplo. Note que estamos usando recursividade nesta dica. Observe também o uso de uma ArrayList para guardar os valores da árvore binária na ordem depth-first. Eis o código: package estudos; import java.util.ArrayList; // implementação da classe No class No{ public int valor; // o valor do nó public No esquerdo; // o filho da esquerda public No direito; // o filho da direita public No(int valor){ this.valor = valor; this.esquerdo = null; this.direito = null; } } public class Estudos{ public static void main(String[] args){ // vamos criar os nós da árvore No cinco = new No(5); // será a raiz da árvore No quatro = new No(4); No nove = new No(9); No dois = new No(2); No tres = new No(3); No doze = new No(12); // vamos fazer a ligação entre os nós cinco.esquerdo = quatro; cinco.direito = nove; quatro.esquerdo = dois; nove.esquerdo = tres; nove.direito = doze; // agora já podemos efetuar o percurso depth-first ArrayList<Integer> valores = new ArrayList<>(); percursoDepthFirst(valores, cinco); System.out.println("Os valores na ordem Depth-First são: " + valores); } public static void percursoDepthFirst(ArrayList<Integer> valores, No no){ if(no != null){ // vamos adicionar o valor deste nó no ArrayList valores.add(no.valor); // passamos para o filho esquerdo percursoDepthFirst(valores, no.esquerdo); // passamos para o filho direito percursoDepthFirst(valores, no.direito); } } } Ao executarmos este código Java nós teremos o seguinte resultado: Os valores na ordem Depth-First são: [5, 4, 2, 9, 3, 12] Compare estes valores com a imagem vista anteriormente para entender ainda melhor o percurso ou busca Depth-First. |
Python ::: Dicas & Truques ::: Lista (List) |
Como adicionar itens no início de uma lista Python usando a função insert()Quantidade de visualizações: 9448 vezes |
Podemos usar o método insert() do objeto List da linguagem Python para inserir itens em qualquer posição, ou seja, em qualquer índice de uma lista. Para isso só precisamos informar o índice desejado e o valor a ser inserido. Nesta dica mostrarei como adicionar itens no início de uma List Python. Tudo que precisamos é informar o valor 0 para o índice. Veja o exemplo completo: """ Este exemplo mostra como adicionar itens ao início de uma lista de inteiros. """ def main(): # cria uma lista vazia valores = [] # início do laço for for i in range(1, 6): valor = int(input("Informe um inteiro: ")) # insere o valor no início da lista valores.insert(0, valor) # fim do laço for # exibe os valores da lista print("Valores na lista:", valores, "\n") if __name__== "__main__": main() Ao executar este código Python nós teremos o seguinte resultado: Informe um inteiro: 5 Informe um inteiro: 8 Informe um inteiro: 3 Informe um inteiro: 2 Informe um inteiro: 9 Valores na lista: [9, 2, 3, 8, 5] |
Python ::: Desafios e Lista de Exercícios Resolvidos ::: NumPy Python Library |
Exercício Resolvido de Python NumPy - Como somar duas matrizes usando a biblioteca NumPy do PythonQuantidade de visualizações: 1338 vezes |
Pergunta/Tarefa: Escreva um programa Python que usa a biblioteca NumPy para efetuar a soma de duas matrizes de mesma ordem, ou seja, mesmo número de linhas e colunas. Seu código deverá somar o primeiro elemento da matriz A com o primeiro elemento da matriz B, e assim por diante. Sua saída deverá ser parecida com: A primeira matriz é: [[4 1 3] [9 2 5]] A segunda matriz é: [[ 3 10 2] [ 1 13 4]] A matriz soma é: [[ 7 11 5] [10 15 9]] Veja a resolução comentada deste exercício em Python: # vamos importar a biblioteca NumPy import numpy as np # função principal do programa def main(): # vamos criar a primeira matriz a = np.array([[4, 1, 3], [9, 2, 5]]) # vamos criar a segunda matriz b = np.array([[3, 10, 2], [1, 13, 4]]) # vamos somar as duas matrizes c = a + b # e agora mostramos o resultado print("A primeira matriz é:\n{0}".format(a)) print("A segunda matriz é:\n{0}".format(b)) print("A matriz soma é:\n{0}".format(c)) if __name__== "__main__": main() |
Node.js ::: Express.js ::: Passos Iniciais |
Node.js Express.js - Como escrever sua primeira aplicação Express.jsQuantidade de visualizações: 2281 vezes |
Se você chegou até esta página vindo(a) de um sistema de busca tal como o Google, saiba que o Express.js é um framework web baseado no núcleo do Node.js, ou seja, antes de experimentar o exemplo abaixo, você deve ter uma instalação funcional do Node.js na sua máquina. Além disso, o módulo express deve estar instalado também, e 100% operacional. No entanto, se sua instalação do Node.js ainda não tem o express, basta entrar no diretório que você instalou o Node.js e disparar o comando a seguir: npm install express Verifique se a instalação foi feita com sucesso e vamos continuar. Este exemplo é bem simples e requer apenas um arquivo. Para tanto, abra o seu editor de código favorito e digite a listagem abaixo: // vamos importar o módulo express var express = require('express'); // o servidor vai ouvir na porta 8081 var porta = 8081; var app = express(); // o asterisco (*) quer dizer que todas as requisições vão cair aqui app.get('*', function(request, response){ response.end('Tamo juntos!'); }); app.listen(porta, function(){ console.log('O servidor está ouvindo em http://localhost:%s', porta); }); Salve o arquivo como servidor.js e execute o Node.js. Em seguida abra o seu navegador web no endereço http://localhost:8081 e veja o resultado. Agora não deixe de ver nossas outras dicas de Node.js e aprender cada vez mais. |
Python ::: Fundamentos da Linguagem ::: Passos Iniciais |
Python para iniciantes - Como importar módulos para seus programas PythonQuantidade de visualizações: 10913 vezes |
A importação de módulos para um programa Python é feita com o uso da palavra-chave import seguida pelo(s) nomes(s) do(s) módulo. Veja um exemplo no qual importamos o módulo math:import math Caso precise importar mais de um módulo, você pode usar a palavra import mais de uma vez: import math import random ou: import math, random |
Delphi ::: Dicas & Truques ::: Strings e Caracteres |
Como verificar se uma substring está contida no início de uma string em Delphi usando a função AnsiStartsStr()Quantidade de visualizações: 12717 vezes |
Em algumas situações precisamos verificar se uma substring está contida no início de uma string, ou seja, se a string começa com um determinado prefixo. Em Delphi isso pode ser feito com o auxílio da função AnsiStartsStr(). Esta função requer a substring a ser pesquisada e a string alvo da pesquisa. O retorno será true se a substring estiver contida no início da string. Do contrário o retorno será false. Veja o exemplo:procedure TForm1.Button1Click(Sender: TObject); var frase: string; begin frase := 'Gosto muito de Delphi e Java'; // vamos verificar se a string começa com "Gosto" if AnsiStartsStr('Gosto', frase) then ShowMessage('A frase começa com a substring indicada') else ShowMessage('A frase NÃO começa com a substring indicada') end; Lembre-se de que esta função diferencia maiúsculas e minúsculas. Não se esqueça de adicionar a unit StrUtils no uses do seu formulário. Para questões de compatibilidade, esta dica foi escrita usando Delphi 2009. |
C++ ::: Dicas & Truques ::: Strings e Caracteres |
Como acessar os caracteres de uma string C++ individualmente usando um iteradorQuantidade de visualizações: 11242 vezes |
Nesta dica mostrarei como podemos usar um iterador para percorrer todos os caracteres de uma palavra, frase ou texto em C++. Para isso nós vamos combinar um iterator e as funções begin() e end(). Veja o código C++ completo para o exemplo: #include <string> #include <iostream> using namespace std; // função principal do programa C++ int main(int argc, char *argv[]){ // vamos declarar um objeto da classe string string palavra("FACULDADE"); // agora criamos um iterador para a string string::iterator it; // e usamos um laço for para percorrer o iterador // do início ao fim for(it = palavra.begin(); it < palavra.end(); it++){ // e mostramos os caracteres individuais cout << *it << "\n"; } cout << "\n" << endl; system("PAUSE"); // pausa o programa return EXIT_SUCCESS; } Ao executar este código C++ nós teremos o seguinte resultado: F A C U L D A D E |
C# ::: Dicas & Truques ::: Data e Hora |
Como retornar o dia do mês da data atual em C# usando a propriedade Day da classe DateTimeQuantidade de visualizações: 85 vezes |
Em algumas situações nós precisamos obter o dia do mês de uma determinada data em C#. Para isso nós podemos acessar a propriedade Day da estrutura DateTime. Veja em seguida um trecho de código no qual mostramos o dia do mês da data atual: using System; namespace Estudos { class Program { static void Main(string[] args) { // vamos obter a data e hora atual DateTime agora = DateTime.Now; // agora vamos obter o dia da data int dia = agora.Day; // e mostramos o resultado Console.WriteLine("O dia do mês é: {0:D}", dia); Console.WriteLine("\n\nPressione uma tecla para sair..."); Console.ReadKey(); } } } Ao executar este código C# nós teremos o seguinte resultado: O dia do mês é: 16 |
C# ::: Fundamentos da Linguagem ::: Métodos, Procedimentos e Funções |
Tutorial C# para iniciantes - Como escrever seu primeiro método ou função em C#Quantidade de visualizações: 15580 vezes |
À medida que estamos desenvolvendo nossos códigos, percebemos que estes podem ser divididos de acordo com suas funcionalidades. Ao efetuar esta divisão, estamos na verdade criando blocos de códigos que executam uma determinada tarefa. E, descobrimos que tais blocos de códigos podem ser reaproveitados com frequencia em um mesmo programa. Assim, ao mecanismo usado para disparar a execução destes blocos de códigos é dado o nome de método (ou função em linguagens tais como C e C++). Um método, em sua forma mais simples, é apenas um conjunto de instruções que podem ser chamadas a partir de locais estratégicos de um programa. Veja um exemplo: // um método que não recebe nenhum argumento // e não retorna nenhum valor static void metodo(){ Console.WriteLine("Sou um método"); } Este método apenas exibe o texto "Sou um método". Veja o uso das chaves { e } para delimitar a área de atuação do método (o corpo do método). A palavra-chave void indica que este método não retorna nenhum valor ao finalizar sua execução enquanto a palavra-chave static é melhor explicada na nossa seção sobre modificadores em C#. Todos os métodos em C# possuem parênteses, os quais servem como marcadores para a lista de parâmetros do método. Parênteses vazios indicam que o método não possui parâmetros.[br][br] Veja agora um trecho de código completo exemplificando a chamada ao método recém-criado: // um método que não recebe nenhum argumento // e não retorna nenhum valor static void metodo(){ Console.WriteLine("Sou um método"); } static void Main(string[] args){ // efetua uma chamada ao método metodo(); Console.WriteLine("\n\nPressione uma tecla para sair..."); Console.ReadKey(); } |
Nossas 20 dicas & truques de programação mais populares |
jQuery - Como remover uma classe (ou classes) de um elemento HTML usando a função removeClass() do jQuery Java - Como usar a classe Character da linguagem Java para tratar caracteres individuais em seus programas |
Você também poderá gostar das dicas e truques de programação abaixo |
Python - Exercício Resolvido de Python NumPy - Como somar duas matrizes usando a biblioteca NumPy do Python |
Nossas 20 dicas & truques de programação mais recentes |
Últimos Projetos e Códigos Fonte Liberados Para Apoiadores do Site |
Python - Como criar o jogo Pedra, Papel, Tesoura em Python - Jogo completo em Python com código comentado |
Últimos Exercícios Resolvidos |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |