Você está aqui: Cards de Engenharia Civil - Construção Civil |
||
|
||
|
|
||
C++ ::: Fundamentos da Linguagem ::: Estruturas de Controle |
Como usar o laço while da linguagem C++ - C++ para iniciantesQuantidade de visualizações: 19967 vezes |
O laço while é usado quando queremos executar um bloco de instruções repetidamente ENQUANTO uma condição for satisfeita. Veja a sintáxe deste laço:
while(expressão){
bloco de instruções
}
A parte expressão deve sempre resultar em um valor true ou false quando avaliada. Veja um trecho de código no qual temos um laço while que conta de 0 a 10:
#include <string>
#include <iostream>
using namespace std;
int main(int argc, char *argv[]){
// um laço while que permite contar de 0 a 10
int valor = 0;
while(valor <= 10){
cout << valor << "\n";
valor++;
}
cout << "\n\n";
system("PAUSE"); // pausa o programa
return EXIT_SUCCESS;
}
É importante lembrar que o C++, ao contrário do C, possui um tipo booleano. Este tipo é chamado bool e pode ser usado em um laço while da seguinte forma:
#include <string>
#include <iostream>
using namespace std;
int main(int argc, char *argv[]){
// um laço while que mostra como usar o tipo
// bool
bool pode = true;
int valor = 0;
while(pode){
cout << valor << "\n";
valor++;
// vamos parar o laço aqui
if(valor > 10)
pode = false;
}
cout << "\n\n";
system("PAUSE"); // pausa o programa
return EXIT_SUCCESS;
}
Lembre-se de que um laço while pode nunca ser executado, ou seja, se a condição testada for sempre insatisfatória, o fluxo de código passará para a próxima instrução após o laço. Veja:
#include <string>
#include <iostream>
using namespace std;
int main(int argc, char *argv[]){
// um laço while que nunca é executado
int valor = 0;
while(valor > 10){
cout << valor << "\n";
valor++;
}
cout << "\n\n";
system("PAUSE"); // pausa o programa
return EXIT_SUCCESS;
}
|
Python ::: Dicas & Truques ::: Data e Hora |
Datas e horas em Python - Como obter a hora como um decimal no intervalo 00-12 (formato 12 horas)Quantidade de visualizações: 7767 vezes |
|
Este exemplo mostra como obter a hora como um decimal no intervalo 00-12 (formato 12 horas) usando o método strftime() da classe datetime com o sinalizador "%I". Veja o código completo para a dica:
from datetime import datetime
def main():
# Obtém um datetime da data e hora atual
hoje = datetime.today()
# Exibe a hora atual como um decimal
print(hoje.strftime("A hora é: %I"))
if __name__== "__main__":
main()
Ao executar este código Python nós teremos o seguinte resultado: A hora é: 10 |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Java Básico |
Exercícios Resolvidos de Java - Escreva um programa Java que leia duas notas obtidas por um aluno na disciplina de Algoritmos e Programação de Computadores, o número de aulas ministradasQuantidade de visualizações: 19392 vezes |
|
Pergunta/Tarefa: Escreva um programa Java que leia duas notas obtidas por um aluno na disciplina de Algoritmos e Programação de Computadores, o número de aulas ministradas e o número de aulas assistidas por este aluno nesta disciplina. Calcule e mostre a média final deste aluno e diga se ele foi aprovado ou reprovado. Considere que para um aluno ser aprovado ele deve obter média final igual ou maior a 6,0 e ter no mínimo 75% de frequência. Importante: Seu código Java deverá validar os dados de entrada para que as notas não sejam menores que zero nem maiores que 10. Além disso, o número de aulas assistidas não pode ser maior que o número de aulas ministradas. Seu programa Java deverá exibir uma saída parecida com: Informe a primeira nota: 9 Informe a segunda nota: 7 Quantidade de aulas ministradas: 20 Quantidade de aulas assistidas: 17 Aluno aprovado com média 8.0 e frequencia 85.0% Veja a resolução comentada deste exercício usando Java:
package estudos;
import java.util.Scanner;
public class Estudos {
public static void main(String[] args) {
// para ler a entrada do usuário
Scanner entrada = new Scanner(System.in);
// vamos ler as duas notas do aluno
System.out.print("Informe a primeira nota: ");
double n1 = Double.parseDouble(entrada.nextLine());
System.out.print("Informe a segunda nota: ");
double n2 = Double.parseDouble(entrada.nextLine());
// vamos ler a quantidade de aulas ministradas
System.out.print("Quantidade de aulas ministradas: ");
int aulas_ministradas = Integer.parseInt(entrada.nextLine());
// agora a quantidade de aulas assistidas pelo aluno
System.out.print("Quantidade de aulas assistidas: ");
int aulas_assistidas = Integer.parseInt(entrada.nextLine());
// agora temos que validar as informações inseridas
if((n1 < 0) || (n1 > 10)){
System.out.println("\nA nota n1 é inválida");
}
else if((n2 < 0) || (n2 > 10)){
System.out.println("\nA nota n2 é inválida");
}
else if(aulas_assistidas > aulas_ministradas){
System.out.println("Aulas assistidas maior que aulas ministradas");
}
else{
// vamos calcular a média do aluno
double media = (n1 + n2) / 2;
// vamos calcular a frequencia
double frequencia = (aulas_assistidas / (double)aulas_ministradas) * 100;
// vamos testar a aprovação do aluno agora
if((media >= 6.0) && (frequencia >= 75)){
System.out.println("Aluno aprovado com média " + media +
" e frequencia " + frequencia + "%");
}
else{
System.out.println("Aluno reprovado com média " + media +
" e frequencia " + frequencia + "%");
}
}
}
}
|
C++ ::: Win32 API (Windows API) ::: Arquivos e Diretórios |
Arquivos e diretórios em C++ - Como escrever em arquivos usando a função WriteFile() da API do WindowsQuantidade de visualizações: 9538 vezes |
|
A função WriteFile() da Win32 API é útil quando precisamos escrever em arquivos. Esta função foi projetada para escritas síncronas e assíncronas, enquanto WriteFileEx() é somente para escritas assíncronas. Veja o protótipo desta função: BOOL WINAPI WriteFile( HANDLE hFile, LPCVOID lpBuffer, DWORD nNumberOfBytesToWrite, LPDWORD lpNumberOfBytesWritten, LPOVERLAPPED lpOverlapped ); Antes de escrevermos em um arquivo, é importante entendermos o significado dos parâmetros da função WriteFile(): a) HANDLE hFile - Este é o handle para o arquivo no qual queremos escrever. Este handle deve ser criado com os direitos de acesso de escrita GENERIC_WRITE. b) LPCVOID lpBuffer - Um ponteiro para o buffer que contém os dados que serão escritos no arquivo. c) DWORD nNumberOfBytesToWrite - O número de bytes a serem escritos no arquivo. d) LPDWORD lpNumberOfBytesWritten - Um ponteiro para uma variável que receberá o número de bytes escritos. A função WriteFile() define o valor desta variável como zero antes de fazer seu trabalho ou verificação de erro. d) LPOVERLAPPED lpOverlapped - Um ponteiro para um estrutura OVERLAPPED. Esta estrutura é exigida se o handle para o arquivo for obtido usando FILE_FLAG_OVERLAPPED para o parâmetro dwFlagsAndAttributes da função CreateFile(). Geralmente usamos NULL para este parâmetro. Veja um trecho de código no qual usamos a função WriteFile() para escrever duas linhas em um arquivo texto:
#include <cstdlib>
#include <iostream>
#include <windows.h>
using namespace std;
int main(int argc, char *argv[]){
// dados a serem escritos no arquivo
CHAR frase[80];
DWORD nOut; // bytes escritos
// nome do arquivo
CHAR arquivo[] = "C:\\testes.txt";
// vamos abrir o arquivo para escrita.
// se o arquivo não existir nós vamos criá-lo.
HANDLE hArquivo = CreateFile(arquivo, GENERIC_WRITE, 0, NULL,
CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
if(hArquivo == INVALID_HANDLE_VALUE){
cout << "Erro ao abrir o arquivo: " << GetLastError() << endl;
}
else{
// arquivo aberto com sucesso. Vamos escrever
// dados a serem escritos no arquivo
CHAR frase1[80] = "Programar em C++ é bom demais\r\n";
CHAR frase2[80] = "E a Win32 é da hora!!!!";
DWORD nOut; // bytes escritos
// vamos escrever a primeira frase
WriteFile(hArquivo, frase1, strlen(frase1), &nOut, NULL);
cout << nOut << " bytes foram escritos. " << endl;
// vamos escrever a segunda frase
WriteFile(hArquivo, frase2, strlen(frase2), &nOut, NULL);
cout << nOut << " bytes foram escritos. " << endl;
}
// vamos fechar o handle
CloseHandle(hArquivo);
system("PAUSE");
return EXIT_SUCCESS;
}
|
PHP ::: Dicas & Truques ::: Variáveis e Constantes |
Como testar se uma variável é do tipo float (número de ponto-flutuante) usando as funções is_float() e is_real() do PHPQuantidade de visualizações: 13067 vezes |
|
Em algumas situações podemos querer saber se o tipo de uma variável é float, ou seja, contém um valor com casas decimais. Este teste pode ser feito com o auxílio da função is_float() ou is_real(). Esta função retorna um valor true ou false dependendendo do tipo de variável sendo testada.
<?php
$valor = 0.6;
if(is_float($valor)){
echo 'A variável $valor é do tipo float';
}
?>
Ao executar este código PHP nós teremos o seguinte resultado: A variável $valor é do tipo float |
Desafios, Exercícios e Algoritmos Resolvidos de PHP |
Veja mais Dicas e truques de PHP |
Dicas e truques de outras linguagens |
|
Java - Como percorrer uma árvore binária em Java usando o algorítmo depth-first search (DFS) recursivo |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |




