![]() |
|
|
Planilha de Dimensionamento de Tubulações
Hidráulicas Água Fria e Água Quente CompletaNossa planilha automática de dimensionamento de tubulações de água fria e quente é uma ferramenta desenvolvida para auxiliar engenheiros e projetistas no cálculo rápido e preciso das redes hidráulicas de edificaçoes. Por meio da inserçao de dados como vazao, diâmetro da tubulaçao, comprimento da rede, material do tubo e coeficientes hidráulicos, a planilha realiza automaticamente os cálculos necessários para verificar velocidade da água, perda de carga e dimensionamento adequado das tubulaçoes. |
||
Você está aqui: Cards de Engenharia Civil - Estruturas de Concreto Armado |
||
|
||
|
|
||
C++ ::: Desafios e Lista de Exercícios Resolvidos ::: STL Vector C++ |
Exercício Resolvido de C++ - Escreva um programa C++ com uma função chamada possui_numeros() que recebe um Vector de strings como argumentoQuantidade de visualizações: 652 vezes |
|
Pergunta/Tarefa: Escreva um programa C++ com uma função chamada possui_numeros() que recebe um Vector de strings como argumento e retorna outro Vector contendo apenas as strings que possuem um ou mais números. Se nenhuma das strings recebidas passar no teste, retorne um Vector vazio. Sua saída deverá ser parecida com: Elementos do Vector original: livro mesa7 cami45sa porta Palavras que possuem um ou mais números: mesa7 cami45sa Veja a resolução comentada deste exercício em C++:
#include <iostream>
#include <vector>
using namespace std;
// função que recebe um vetor de strings e retorna
// outro vector contendo apenas as strings que possuem
// um ou mais números
vector<string> possui_numeros(vector<string> palavras) {
// para guardar o resultado
vector<string> resultado;
// vamos percorrer os itens do vector recebido
for(string palavra : palavras) {
// agora percorremos os caracteres de cada string
for(char carac : palavra) {
// é um caractere?
if(isdigit(carac)) {
// adicionamos no segundo vector
resultado.push_back(palavra);
break;
}
}
}
// retorna o vector obtido
return resultado;
}
// função principal do programa
int main(int argc, char *argv[]){
// vamos criar um vector de palavras
vector<string> palavras = {"livro", "mesa7", "cami45sa", "porta"};
// vamos mostrar o conteúdo do vector original
cout << "Elementos do Vector original:\n";
for (string palavra : palavras) {
cout << palavra << " ";
}
// agora obtemos um vector com as palavras que contenham um ou mais
// números
vector<string> resultado = possui_numeros(palavras);
// e mostramos o resultado
cout << "\n\nPalavras que possuem um ou mais números:\n";
for (string palavra : resultado) {
cout << palavra << " ";
}
cout << "\n\n";
system("PAUSE"); // pausa o programa
return EXIT_SUCCESS;
}
|
C# ::: Fundamentos da Linguagem ::: Estruturas de Controle |
C# para iniciantes - Como usar o laço for da linguagem C#Quantidade de visualizações: 12878 vezes |
|
O laço for em C# é usado quando queremos executar uma instrução ou um bloco de instruções um determinado número de vezes. Este laço é composto de três partes: Inicialização: Laços for são controlados por uma variável de controle. Nesta parte nós definimos o tipo de dados e o valor inicial desta variável. Esta parte do laço é executada somente na primeira iteração. Teste da condição de parada: Cada iteração do laço acontece mediante uma condição. Esta condição é avaliada e, caso o retorno seja satisfatório, a execução do laço continua. O resultado da avaliação desta parte do laço deve ser true ou false. Tenha em mente que, se a condição já for falsa na primeira iteração, o laço nunca será executado. Incremento ou decremento da variável de controle: Esta parte do laço é executada após cada iteração. É aqui que incrementamos ou decrementamos o valor da variável de controle. Esta parte é importante. Não manipular o valor da variável de controle pode resultar em laços infinitos. Veja um laço for no qual contamos de 0 a 10:
static void Main(string[] args){
for(int i = 0; i <= 10; i++){
Console.WriteLine("{0}", i);
}
Console.WriteLine("\n\nPressione uma tecla para sair...");
Console.ReadKey();
}
Veja agora um laço for que exibe os números pares de 0 a 10:
static void Main(string[] args){
for(int i = 0; i <= 10; i += 2){
Console.WriteLine("{0}", i);
}
Console.WriteLine("\n\nPressione uma tecla para sair...");
Console.ReadKey();
}
E finalmente, um laço for que conta de 10 até 0:
static void Main(string[] args){
for(int i = 10; i >= 0; i--){
Console.WriteLine("{0}", i);
}
Console.WriteLine("\n\nPressione uma tecla para sair...");
Console.ReadKey();
}
Com exceção da parte do teste de condição de parada, as demais partes de um laço for podem conter múltiplas instruções separadas por vírgulas. Veja:
static void Main(string[] args){
for(int i = 0, x = 3; i < 10; i++, x *= 4){
Console.WriteLine("{0}", i + x);
}
Console.WriteLine("\n\nPressione uma tecla para sair...");
Console.ReadKey();
}
|
Portugol ::: Dicas & Truques ::: Cadeias e Caracteres |
Como remover todos os espaços de um nome, frase ou texto usando a função substituir() da biblioteca Texto do PortugolQuantidade de visualizações: 712 vezes |
|
Como remover espaços de um nome, frase ou texto usando a função substituir() da biblioteca Texto do Portugol Nesta dica mostrarei como podemos usar a função substituir() da biblioteca Texto do Portugol para remover todas as ocorrências de espaços em um nome, frase ou texto. Esta técnica é muito interessante quando queremos processar e salvar dados informados pelos usuários em um arquivo texto. Veja o código Portugol completo para o exemplo:
programa {
// vamos incluir a biblioteca Texto
inclua biblioteca Texto --> texto
funcao inicio() {
// vamos declarar uma variável para guardar um nome
cadeia nome, novo_nome
// vamos pedir para o usuário informar o seu nome
escreva("Informe o seu nome: ")
leia(nome)
// agora vamos remover todos os espaços do nome informado
novo_nome = texto.substituir(nome, " ", "")
// e mostramos os resultados
escreva("Você informou o nome: " + nome)
escreva("\nSem os espaços: " + novo_nome)
}
}
Ao executar este código Portugol nós teremos o seguinte resultado: Informe o seu nome: Marcela de Oliveira Macedo Cunha Você informou o nome: Marcela de Oliveira Macedo Cunha Sem os espaços: MarceladeOliveiraMacedoCunha |
Portugol ::: Dicas & Truques ::: Geometria, Trigonometria e Figuras Geométricas |
Como calcular o coeficiente angular de uma reta em Portugol dados dois pontos no plano cartesianoQuantidade de visualizações: 934 vezes |
|
O Coeficiente Angular de uma reta é a variação, na vertical, ou seja, no eixo y, pela variação horizontal, no eixo x. Sim, isso mesmo. O coeficiente angular de uma reta tem tudo a ver com a derivada, que nada mais é que a taxa de variação de y em relação a x. Vamos começar analisando o seguinte gráfico, no qual temos dois pontos distintos no plano cartesiano: ![]() Veja que o segmento de reta AB passa pelos pontos A (x=3, y=6) e B (x=9, y=10). Dessa forma, a fórmula para obtenção do coeficiente angular m dessa reta é: \[\ \text{m} = \frac{y_2 - y_1}{x_2 - x_1} = \frac{\Delta y}{\Delta x} = tg \theta \] Note que __$\Delta y__$ e __$\Delta x__$ são as variações dos valores no eixo das abscissas e no eixo das ordenadas. No triângulo retângulo que desenhei acima, a variação __$\Delta y__$ se refere ao comprimento do cateto oposto e a variação __$\Delta y__$ se refere ao comprimento do cateto adjascente. Veja agora o trecho de código na linguagem Portugol que solicita as coordenadas x e y dos dois pontos, efetua o cálculo e mostra o coeficiente angular m da reta que passa pelos dois pontos:
// Calcular o coeficiente angular de uma reta em Portugol
programa {
// vamos incluir a biblioteca Matematica
inclua biblioteca Matematica --> mat
funcao inicio() {
// coordenadas dos dois pontos
real x1, y1, x2, y2
// guarda o coeficiente angular
real m
// x e y do primeiro ponto
escreva("Coordenada x do primeiro ponto: ")
leia(x1)
escreva("Coordenada y do primeiro ponto: ")
leia(y1)
// x e y do segundo ponto
escreva("Coordenada x do segundo ponto: ")
leia(x2)
escreva("Coordenada y do segundo ponto: ")
leia(y2)
// vamos calcular o coeficiente angular
m = (y2 - y1) / (x2 - x1)
// mostramos o resultado
escreva("O coeficiente angular é: ", m)
}
}
Ao executar este código Portugol Webstudio nós teremos o seguinte resultado: Coordenada x do primeiro ponto: 3 Coordenada y do primeiro ponto: 6 Coordenada x do segundo ponto: 9 Coordenada y do segundo ponto: 10 O coeficiente angular é: 0.6666666666666666 No entanto, fique atento às propriedades do coeficiente angular da reta: 1) O coeficiente angular é positivo quando a reta for crescente, ou seja, m > 0; 2) O coeficiente angular é negativo quando a reta for decrescente, ou seja, m < 0; 3) Se a reta estiver na horizontal, ou seja, paralela ao eixo x, seu coeficiente angular é zero (0). 4) Se a reta estiver na vertical, ou seja, paralela ao eixo y, o coeficiente angular não existe. |
Rust ::: Desafios e Lista de Exercícios Resolvidos ::: Estruturas de Controle |
Exercício Resolvido de Rust - Como testar se um ano é bissexto em Rust - Um programa que lê um ano com quatro dígitos e informa se ele é bissexto ou nãoQuantidade de visualizações: 725 vezes |
|
Pergunta/Tarefa: Chama-se ano bissexto o ano ao qual é acrescentado um dia extra, ficando ele com 366 dias, um dia a mais do que os anos normais de 365 dias, ocorrendo a cada quatro anos (exceto anos múltiplos de 100 que não são múltiplos de 400). Isto é feito com o objetivo de manter o calendário anual ajustado com a translação da Terra e com os eventos sazonais relacionados às estações do ano. O último ano bissexto foi 2012 e o próximo será 2016. Um ano é bissexto se ele for divisível por 4 mas não por 100, ou se for divisível por 400. Escreva um programa Rust que pede ao usuário um ano com quatro dígitos e informa se ele é bissexto ou não. Sua saída deverá ser parecida com: Informe o ano: 2024 O ano informado é bissexto. Veja a resolução comentada deste exercício usando Rust:
use std::io;
use std::io::Write;
// esta é a função principal do programa Rust
fn main() {
// variáveis usadas na resolução do problema
let ano:i32;
let mut ano_str = String::new();
// vamos solicitar que o usuário informe um ano
print!("Informe o ano: ");
std::io::stdout().flush().unwrap();
io::stdin().read_line(&mut ano_str).expect("String inválida");
ano = ano_str.trim().parse().expect("Valor inválido");
// vamos verificar se o ano informado é bissexto
if ((ano % 4 == 0) && (ano % 100 != 0)) || (ano % 400 == 0) {
println!("O ano informado é bissexto.");
}
else{
println!("O ano informado não é bissexto.");
}
}
|
Mais Desafios de Programação e Exercícios e Algoritmos Resolvidos de Rust |
Veja mais Dicas e truques de Rust |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |





