Você está aqui: PHP ::: Fundamentos da Linguagem ::: Estruturas de Controle |
|
PHP para iniciantes - Como usar o laço while em PHPQuantidade de visualizações: 13122 vezes |
|
O laço while é usado quando queremos que um bloco de instruções seja executado ENQUANTO uma condição for verdadeira (true). Veja um trecho de código exemplificando isso:<? $valor = 1; while($valor <= 10){ echo $valor . "<br>"; $valor++; } ?> Este trecho de código exibe os números de 1 à 10 na página. Veja agora o mesmo trecho de código, desta vez contando de 10 à 1: <? $valor = 10; while($valor >= 1){ echo $valor . "<br>"; $valor--; } ?> Lembre-se de que a condição testada em um laço while deve resultar em um valor boolean (true ou false). O trecho de código seguinte deixa isso mais claro: <? $continuar = true; $valor = 1; while($continuar){ echo $valor . "<br>"; $valor++; if($valor > 10) $continuar = false; // pára o laço } ?> Para finalizar, lembre-se de que um laço while pode nunca ser executado, ou seja, se a condição testada na primeira iteração já resultar false, o fluxo de código é transferido para a primeira instrução após o laço. |
|
Link para compartilhar na Internet ou com seus amigos: | |
Lisp ::: Desafios e Lista de Exercícios Resolvidos ::: Lisp Básico |
Exercícios Resolvidos de Lisp - Como multiplicar dois números em Lisp - Escreva um programa em Lisp para ler dois números inteiros informadosQuantidade de visualizações: 1146 vezes |
Exercício Resolvido de Lisp - Como multiplicar dois números em Lisp - Escreva um programa em Lisp para ler dois números inteiros informados Pergunta/Tarefa: Escreva um programa Common Lisp que solicita ao usuário dois números inteiros e mostre a multiplicação dos dois valores, ou seja, o primeiro valor multiplicado pelo segundo. Sua saída deverá ser parecida com: Informe o primeiro valor: 3 Informe o segundo valor: 7 3 vezes 7 é 21 Veja a resolução completa para o exercício em Common Lisp usando o compilador Steel Bank Common Lisp (SBCL), comentada linha a linha: ; Vamos definir as variáveis que vamos ; usar no programa (defvar n1) (defvar n2) (defvar produto) ; Este o programa principal (defun Multiplicacao() ; Vamos ler o primeiro valor (princ "Informe o primeiro valor: ") ; talvez o seu compilador não precise disso (force-output) (setq n1 (read)) ; Vamos ler o segundo valor (princ "Informe o segundo valor: ") ; talvez o seu compilador não precise disso (force-output) (setq n2 (read)) ; Agora vamos efetuar a multiplicação dos ; dois valores informados (setq produto (* n1 n2)) ; E mostramos o resultado (format t "~D vezes ~D é ~D" n1 n2 produto) ) ; Auto-executa a função Multiplicacao() (Multiplicacao) |
Java ::: Coleções (Collections) ::: Set (Conjunto) |
Como usar objetos da interface Set do Java para representar a interseção (ou intersecção) de dois ou mais conjuntosQuantidade de visualizações: 4267 vezes |
Na teoria dos conjuntos, a interseção (português brasileiro) ou intersecção (português europeu) de dois ou mais conjuntos é o conjunto dos elementos que, simultaneamente, pertencem a dois ou mais destes conjuntos. Assim, seja A = {2, 5, 8, 19, 30} e B = {2, 3, 1, 30}. A interseção desses dois conjuntos é C = {2, 30}. Na programação Java podemos representar a interseção de dois conjuntos usando objetos da interface Set e qualquer uma de suas implementações. Para este exemplo vou usar a classe TreeSet, que permite a ordenação dos elementos. Veja o código: package estudos; import java.util.Iterator; import java.util.Set; import java.util.TreeSet; public class Estudos{ public static void main(String[] args) { // primeiro conjunto Set<Integer> conjuntoA = new TreeSet<>(); conjuntoA.add(2); conjuntoA.add(5); conjuntoA.add(8); conjuntoA.add(19); conjuntoA.add(30); // segundo conjunto Set<Integer> conjuntoB = new TreeSet<>(); conjuntoB.add(2); conjuntoB.add(3); conjuntoB.add(1); conjuntoB.add(30); // vamos obter a interseção dos dois conjuntos Set<Integer> conjuntoC = intersecao(conjuntoA, conjuntoB); // vamos exibir os elementos no conjunto C Iterator iterator = conjuntoC.iterator(); while(iterator.hasNext()){ System.out.println(iterator.next()); } } // método genérico que permite obter a interseção de dois conjuntos public static <T> Set<T> intersecao(Set<T> conjA, Set<T> conjB){ Set<T> conjC = new TreeSet<>(); // percorremos todos os elementos do conjunto A for(T elemento: conjA){ // e verificamos se o elemento está contido no conjunto B if(conjB.contains(elemento)){ conjC.add(elemento); // se estiver contido nós o adicionamos no conjunto C } } return conjC; // e retornamos o conjunto C } } Ao executarmos este código teremos o seguinte resultado: 2 30 |
Angular ::: Dicas & Truques ::: Diretivas Angular |
Angular para iniciantes: Como usar a diretiva ngFor do Angular para percorrer e exibir os itens de vetores e listasQuantidade de visualizações: 4980 vezes |
A diretiva ngFor do Angular é usada quando precisamos percorrer os elementos de um vetor (ou lista) de tipos primitivos ou objetos de classes. Dessa forma, para cada elemento da lista nós podemos definir o bloco HTML que determinará como o elemento individual será renderizado. Vamos ver um exemplo bem simples? Comece criando uma nova aplicação Angular. Abra uma janela de terminal e dispare um comando Angular CLI parecido com: c:\docs_osmar>cd c:\estudos_angular c:\estudos_angular>ng new escola Aqui nós estamos criando uma aplicação Angular com o nome escola. Nesse momento o CLI já criou para nós os seguintes arquivos: app.component.css, app.component.html, app.component.spec.ts, app.component.ts, app.module.ts. Estou usando Angular 11. Dependendo da sua versão, pode ser que sua lista de arquivos seja um pouco diferente. Antes de continuarmos, vamos deixar a aplicação executando. Então, dispare o comando abaixo para executar a aplicação no navegador: c:\estudos_angular>cd escola c:\estudos_angular\escola>ng serve --open Rodou sem problemas? Agora vamos ao nosso primeiro exemplo da diretiva ngFor. Abra o arquivo app.component.ts no seu editor de código favorito e altere o seu código para a versão abaixo: import { Component } from '@angular/core'; @Component({ selector: 'app-root', templateUrl: './app.component.html', styleUrls: ['./app.component.css'] }) export class AppComponent { linguagens: string[]; constructor() { this.linguagens = ["Java", "C++", "Delphi", "PHP", "Perl"]; } } Veja que temos um vetor de string contendo o nome de cinco linguagens de programação. Agora vamos usar a diretiva ngFor para receber esta lista no template HTML e exibir seus itens individuais. Para isso, abra o arquivo app.component.html e altere o seu código para: <h2>Minhas linguagens favoritas:</h2> <ul *ngFor="let linguagem of linguagens"> <li>{{ linguagem }}</li> </ul> Veja que coloquei a diretiva ngFor como parte de um elemento HTML <ul> e, para cada item do vetor, nós criamos um novo elemento <li>. Aqui nós usamos o elemento <ul>, mas você pode usar uma <div> ou até mesmo <tr> e <td> para exibir o item como linha de uma tabela. Execute a aplicação no navegador e você terá o seguinte resultado: A instrução "let linguagem of linguagens" quer dizer: pegue os elementos individuais do vetor linguagens e associe, durante a iteração, o elemento atual à variável linguagem. Depois disso só precisamos usar as tags de template {{ linguagem }} para exibir o valor de cada elemento de forma individual. Mas a diretiva ngFor oferece alguns recursos extras. Não deixe de acompanhar as outras dicas e truques dessa seção. |
C ::: Dicas & Truques ::: Arquivos e Diretórios |
Como contar as linhas de um arquivo usando a função fgetc() da linguagem CQuantidade de visualizações: 20477 vezes |
Em algumas situações precisamos obter a quantidade de linhas em um arquivo em C. Nesta dica eu mostro como isso pode ser feito usando-se a função fgetc(), no header stdio.h. Note que aqui estamos assumindo que o arquivo texto não possui uma quebra de linha após a última linha de texto. Veja o código comentado: #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { // nome e local do arquivo que será aberto para // obtermos a quantidade de linhas FILE *arquivo = fopen("c:\\testes.txt", "r"); int caractere, existe_linhas = 0; int quant_linhas = 0; while((caractere = fgetc(arquivo)) != EOF){ existe_linhas = 1; // há conteúdo no arquivo if(caractere == '\n'){ // é uma quebra de linha? // vamos incrementar a quantidade de linhas quant_linhas++; } } // se não houver uma quebra de linha na última linha // a contagem será sempre um a menos. Assim, é melhor // incrementar quant_linhas mais uma vez if(existe_linhas) quant_linhas++; // vamos exibir o resultado printf("O arquivo possui %d linhas.", quant_linhas); printf("\n\n"); system("PAUSE"); return 0; } |
Python ::: Dicas & Truques ::: Strings e Caracteres |
Como contar as ocorrências de uma substring em uma string Python usando a função count()Quantidade de visualizações: 9569 vezes |
Em várias ocasiões nós precisamos obter a quantidade de vezes que parte de uma palavra é encontrada em outra palavra, frase ou texto, ou seja, uma substring dentro de uma string. Para isso nós podemos usar o método count() da linguagem Python. Veja sua assinatura:count(substring[, início[, fim]]) Veja um código Python completo para este exemplo: # função principal do programa def main(): frase = "Gosto de Python porque Python é muito bom" # conta as ocorrências de "Python" print("\"Python\" ocorreu", frase.count("Python"), "vezes.") if __name__== "__main__": main() Ao executar este código nós teremos o seguinte resultado: "Python" ocorreu 2 vezes. |
Desafios, Exercícios e Algoritmos Resolvidos de Python |
Veja mais Dicas e truques de Python |
Dicas e truques de outras linguagens |
JavaScript - Como adicionar elementos no início de um array JavaScript usando a função unshift() do objeto Array C# - Como ordenar alfabeticamente os itens de uma ListBox do C# Windows Forms usando a propriedade Sorted |
Códigos Fonte |
Software de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais |
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais |
Linguagens Mais Populares |
1º lugar: Java |