Lista de Exercícios Resolvidos: Java | Python | VisuAlg | Portugol | C | C# | VB.NET | C++
Você está aqui: Python ::: Fundamentos da Linguagem ::: Estruturas de Controle

Python para iniciantes - Como contar de 0 a 10 usando o laço for da linguagem Python

Quantidade de visualizações: 10011 vezes
Nesta dica veremos como usar o loop for da linguagem Python para contar de 0 até 10. É um exemplo bem simples, mas serve para nos lembrar da sintáxe dessa construção.

Veja o código completo:

# função principal do programa
def main():
  for i in range(11):
    print(i, end = "  ")
......


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

0 1 2 3 4 5 6 7 8 9 10

Link para compartilhar na Internet ou com seus amigos:

Delphi ::: Dicas & Truques ::: Matemática e Estatística

Como obter o resultado de uma divisão de inteiros, incluindo o resto, usando a procedure DivMod() do Delphi

Quantidade de visualizações: 15690 vezes
Em algumas situações precisamos obter o resultado de uma divisão de inteiros e gostaríamos de obter também o resto da divisão, ou seja, se dividirmos 10 por 3 o resultado será 3 (3 x 3 = 9) e o resto será 1.

A procedure DivMod(), presente na unit Math nos permite fazer isso. Ela requer quatro argumentos:

procedure DivMod(Dividend: Integer; Divisor: Word; 
......


Veja que fornecemos o dividendo e o divisor como Integer e Word mas, as variáveis que receberão o resultado e o resto da divisão deverão ser passadas por referência. Veja um exemplo:

procedure TForm2.Button1Click(Sender: TObject);
var
  dividendo, divisor: Integer;
  resultado, resto: Word;
begin
  // uses Math

  // vamos dividir 10 por 3
  dividendo := 10;
  divisor := 3;
  DivMod(dividendo, divisor, resultado, resto);
......


Note que DivMod() realiza seu trabalho e guarda os resultados nas variáveis resultado e resto, que, como vimos na assinatura da procedure, devem ser fornecidas por referência.

Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009.


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

Exercícios Resolvidos de Java - Contando de 1 até 20 e formatando a saída usando System.out.printf()

Quantidade de visualizações: 10631 vezes
Exercício Resolvido de Java - Contando de 1 até 20 e formatando a saída usando System.out.printf()

Pergunta/Tarefa:

Escreva um programa Java console que usa o laço for para contar de 1 até 20 e exibir estes valores no seguinte formato:

 1    2    3    4    5   
 6    7    8    9   10   
11   12   13   14   15   
16   17   18   19   20


Dica: Use o operador de módulo % para determinar o momento da quebra de linha e o método System.out.printf() para formatar o valor a ser exibido de forma a adicionar a quantidade correta de espaços entre os valores.

Resposta/Solução:

Eis a solução para este exercício:

public static void main(String[] args){
  // laço for que conta de 1 até 20
  for(int i = 1; i <= 20; i++){
    System.out.printf( "%2d   ", i);
......


O mais importante a considerar aqui é o uso do método System.out.printf() na linha:

System.out.printf( "%2d   ", i);

Aqui nós estamos especificando a largura (width) do valor inteiro como
dois dígitos. Desta forma, se o valor for menor que 10 (um dígito), um 
......


Veja agora a explicação sobre o uso do operador de módulo % para provocar a quebra de linha após o quinto valor de cada fileira:

Aqui nós testamos se o valor atual da variável i é múltiplo de 5 (para ser
múltiplo de 5, o resto da divisão inteira de valor por 5 deverá ser 0). 
Neste exemplo os valores que são múltiplos de 5 são: 5, 10, 15 e 20. Assim.
......



C ::: Dicas & Truques ::: Strings e Caracteres

Como copiar os caracteres de uma string para outra usando a função strcpy() da linguagem C

Quantidade de visualizações: 12535 vezes
Pessoas acostumadas com Delphi, Java ou PHP podem pensar que a tarefa de copiar o conteúdo de uma string para outra em C pode ser tão simples quanto o código a seguir:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main(int argc, char *argv[]){
  char frase1[] = "Gosto de PHP";
  char frase2[50]; // pode receber até 49 caracteres
......


Este código não funciona. No Dev-C++ (MingW) a seguinte mensagem de erro de compilação é exibida:

incompatible types in assignment 
......


Em C, a forma correta de copiar os caracteres de uma string para outra é obtendo ponteiros para a posição inicial das duas strings, percorrer todos os caracteres da primeira e atribuí-los um de cada vez nas posições de memória reservadas para a segunda string. Veja o protótipo da função strcpy(), usada para tal finalidade:

char *strcpy(char *destino, const char *origem);
......


Como podemos ver, a função copiará todos os caracteres contidos na string origem para a string destino. É importante observar que a string destino deverá ser declarada de forma que todos os caracteres a serem copiados possam ser acomodados sem que o programa corra o risco de escrever em áreas de memória reservadas a outras finalidades. Veja um exemplo completo:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main(int argc, char *argv[]){
  char frase1[] = "Gosto de PHP";
  char frase2[50]; // pode receber até 50 caracteres
......



Java ::: Pacote java.lang ::: String

Java Avançado - Como usar o método getBytes() da classe String para obter uma sequência de valores do tipo byte

Quantidade de visualizações: 8234 vezes
Em algumas situações gostaríamos de obter os caracteres de uma string como uma representação de inteiros em bytes. Para isso podemos usar o método getBytes(). Veja sua assinatura:

public byte[] getBytes()
Este método é chamado em uma instância da classe String e seu retorno é um array (matriz) do tipo byte. Veja um exemplo:

public class Main {
  public static void main(String[] args) {
    // vamos declarar um objeto da classe String
    String palavra = "Arquivo";
	
    // vamos obter os bytes usados na palavra anterior
    byte bytes[] = palavra.getBytes();
......


Ao executarmos este código teremos o seguinte resultado:

65 114 113 117 105 118 111

De fato, o valor 65 é o código inteiro para o caractere "A". É importante observar que alguns caracteres não cabem em um byte (que possui o valor 127 como maior valor inteiro). Isso resulta na conversão para valores negativos.

Há outras duas sobrecargas do método getBytes() da classe String. A primeira:

byte[] getBytes(Charset charset)
nos permite especificar o conjunto de caracteres a ser usado na conversão como um objeto da classe Charset. A segunda:

byte[] getBytes(String charsetName)
nos permite especificar o nome do conjunto de caracteres como uma String.


Java ::: Coleções (Collections) ::: Vector

Como usar o método add() para adicionar um elemento no início de um objeto da classe Vector da linguagem Java

Quantidade de visualizações: 9621 vezes
Nesta dica mostrarei como é possível adicionar novos elementos no início de um Vector usando o método add() dessa classe. A assinatura que usaremos é:

public void add(int index, E element)


Veja que o método recebe o índice indicando a posição na qual o novo elemento será inserido e o elemento propriamente dito.

Veja o código completo para o exemplo:

package arquivodecodigos;

import java.util.*;
 
public class Estudos{ 
  public static void main(String args[]){ 
    // Cria um Vector
    Vector<Integer> valores = new Vector<Integer>();
 
    // adiciona itens ao Vector
    valores.addElement(54);
    valores.addElement(87);
    valores.addElement(6);
 
    // Lista os itens do Vector
    System.out.println("Elementos no Vector: ");
    for(Enumeration e = valores.elements(); 
           e.hasMoreElements();){
......


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

Elementos no Vector:
54 87 6

Elementos no Vector:
10 54 87 6

É importante observar que as classes java.util.Vector e java.util.Hashtable foram marcadas como obsoletas a partir do JDK1.2 e provavelmente não serão usadas em novos desenvolvimentos.


Desafios, Exercícios e Algoritmos Resolvidos de Java

Veja mais Dicas e truques de Java

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