Você está aqui: Cards de Engenharia Civil - Estruturas de Concreto Armado |
||
|
||
|
|
||
Dart ::: Desafios e Lista de Exercícios Resolvidos ::: Laços de Repetição |
Exercício Resolvido de Dart - Escreva um programa Dart que usa o laço for para desenhar um padrão de diamante de estrelasQuantidade de visualizações: 1554 vezes |
|
Pergunta/Tarefa: Neste exercício para a prática da linguagem Dart você deverá usar o laço for para desenhar o famoso padrão de diamante de estrelas. Você pode também usar o laço while, se assim você o desejar. O programa deverá pedir que o usuário informe a quantidade de linhas que marcará a metade do diamante. Seu programa deve apresentar a seguinte saída:
Informe a quantidade de linhas: 5
*
***
*****
*******
*********
*******
*****
***
*
Veja a resolução comentada deste exercício em Dart:
// Vamos importar a biblioteca dart:io
import "dart:io";
void main(){
// variáveis que vamos usar na resolução do problema
int linhas, estrelas, espacos;
// vamos pedir a quantidade de linhas
stdout.write("Informe a quantidade de linhas: ");
// vamos ler a entrada do usuário
linhas = int.parse(stdin.readLineSync());
estrelas = 1; // começamos com uma estrela (no topo do diamante)
// se linhas for igual a 5 nós começamos com 4 espaços
espacos = linhas - 1;
// repete duas vezes a quantidade de linhas informadas
for(int i = 1; i < linhas * 2; i++){
// vamos imprimir os espaços
for(int j = 1; j <= espacos; j++){
stdout.write(" ");
}
// agora vamos imprimir estrelas
for(int j = 1; j < estrelas * 2; j++){
stdout.write("*");
}
// passamos para a próxima linha
stdout.write("\n");
if(i < linhas){ // é a parte superior do diamante
espacos--; // diminui os espaços
estrelas++; // e aumenta as estrelas
}
else{ // é a parte inferior do diamente
espacos++; // aumenta os espaços
estrelas--; // e diminui as estrelas
}
}
}
|
Java ::: Java + MySQL ::: Metadados da Base de Dados (Database Metadata) |
Java MySQL - Como obter os tipos de tabelas suportados pelo MySQL usando o método getTableTypes() da classe DatabaseMetaDataQuantidade de visualizações: 5667 vezes |
|
Em algumas situações precisamos obter os tipos de tabelas suportados por uma determinada versão do MySQL. Isso pode ser feito com uma chamada ao método getTableTypes() da classe com.mysql.jdbc.DatabaseMetaData. Um objeto desta classe é obtido a partir do método getMetaData() da interface Connection (para o driver com.mysql.jdbc.Driver, é claro). A assinatura do método getTableTypes() é: public ResultSet getTableTypes() throws SQLException Vamos ver um exemplo? Veja um trecho de código que usei para listar os tipos de tabelas disponíveis no MySQL 5.0:
package estudosbancodados;
import java.sql.*;
public class EstudosBancoDados{
public static void main(String[] args) {
// strings de conexão
String databaseURL = "jdbc:mysql://localhost/estudos";
String usuario = "root";
String senha = "osmar1234";
String driverName = "com.mysql.jdbc.Driver";
try {
Class.forName(driverName).newInstance();
Connection conn = DriverManager.getConnection(databaseURL, usuario, senha);
// vamos obter um objeto da classe com.mysql.jdbc.DatabaseMetaData
DatabaseMetaData dbmd = conn.getMetaData();
// vamos obter os tipos de tabelas suportadas por esta versão do MySQL
ResultSet tiposTabelas = dbmd.getTableTypes();
while(tiposTabelas.next()){
System.out.println(tiposTabelas.getString("TABLE_TYPE"));
}
// vamos fechar o ResultSet
tiposTabelas.close();
}
catch (SQLException ex) {
System.out.println("SQLException: " + ex.getMessage());
System.out.println("SQLState: " + ex.getSQLState());
System.out.println("VendorError: " + ex.getErrorCode());
}
catch (Exception e) {
System.out.println("Problemas ao tentar conectar com o banco de dados: " + e);
}
}
}
O resultado da execução deste código foi: TABLE VIEW LOCAL TEMPORARY |
Python ::: Python para Engenharia ::: Geometria Analítica e Álgebra Linear |
Como calcular vetor unitário em Python - Python para Física e EngenhariaQuantidade de visualizações: 1070 vezes |
|
Um vetor unitário ou versor num espaço vetorial normado é um vetor (mais comumente um vetor espacial) cujo comprimento ou magnitude é 1. Em geral um vetor unitário é representado por um "circunflexo", assim: __$\hat{i}__$. O vetor normalizado __$\hat{u}__$ de um vetor não zero __$\vec{u}__$ é o vetor unitário codirecional com __$\vec{u}__$. O termo vetor normalizado é algumas vezes utilizado simplesmente como sinônimo para vetor unitário. Dessa forma, o vetor unitário de um vetor __$\vec{u}__$ possui a mesma direção e sentido, mas magnitude 1. Por magnitude entendemos o módulo, a norma ou comprimento do vetor. Então, vejamos a fórmula para a obtenção do vetor unitário: \[\hat{u} = \dfrac{\vec{v}}{\left|\vec{v}\right|}\] Note que nós temos que dividir as componentes do vetor pelo seu módulo de forma a obter o seu vetor unitário. Por essa razão o vetor nulo não possui vetor unitário, pois o seu módulo é zero, e, como sabemos, uma divisão por zero não é possível. Veja agora o código Python que pede as coordenadas x e y de um vetor 2D ou R2 e retorna o seu vetor unitário:
# vamos precisar do módulo Math
import math
# função principal do programa
def main():
# vamos ler os valores x e y
x = float(input("Informe o valor de x: "))
y = float(input("Informe o valor de y: "))
# o primeiro passo é calcular a norma do vetor
norma = math.sqrt(math.pow(x, 2) + math.pow(y, 2))
# agora obtemos as componentes x e y do vetor unitário
u_x = x / norma
u_y = y / norma
# mostra o resultado
print("O vetor unitário é: (x = {0}; y = {1})".format(u_x, u_y))
if __name__== "__main__":
main()
Ao executar este código Python nós teremos o seguinte resultado: Informe o valor de x: -4 Informe o valor de y: 6 O vetor unitário é: (x = -0.5547001962252291; y = 0.8320502943378437) Veja agora uma modificação deste código para retornarmos o vetor unitário de um vetor 3D ou R3, ou seja, um vetor no espaço:
# vamos precisar do módulo Math
import math
# função principal do programa
def main():
# vamos ler os valores x, y e z
x = float(input("Informe o valor de x: "))
y = float(input("Informe o valor de y: "))
z = float(input("Informe o valor de z: "))
# o primeiro passo é calcular a norma do vetor
norma = math.sqrt(math.pow(x, 2) + math.pow(y, 2) + math.pow(z, 2))
# agora obtemos as componentes x, y e z do vetor unitário
u_x = x / norma
u_y = y / norma
u_z = z / norma
# mostra o resultado
print("O vetor unitário é: (x = {0}; y = {1}; z = {2})".format(
u_x, u_y, u_z))
if __name__== "__main__":
main()
Ao executarmos este novo código nós teremos o seguinte resultado: Informe o valor de x: 3 Informe o valor de y: 7 Informe o valor de z: 5 O vetor unitário é: (x = 0.329292779969071; y = 0.7683498199278324; z = 0.5488212999484517) |
Java ::: Classes, Controles e Componentes ::: JSplitPane |
Java Swing - Como usar a classe JSplitPane para dividir o espaço ocupado pelos componentes de suas aplicações Java SwingQuantidade de visualizações: 10931 vezes |
A classe JSplitPane é usada quando precisamos controlar o espaço ocupado por dois ou mais componentes. Objetos desta classe podem ser redimensionados, de modo a aumentar ou diminuir a área ocupada por um dos componentes. Veja a posição desta classe na hierarquia de classes Java:
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JSplitPane
No trecho de código abaixo você verá como é possível dividir a área ocupada por duas áreas de texto (JTextArea). Execute a aplicação e experimente aumentar ou diminuir o espaço ocupado pelos componentes:
import javax.swing.*;
import java.awt.*;
public class Estudos extends JFrame{
public Estudos(){
super("Como usar a classe JSplitPane");
// primeira área de texto
JTextArea textArea1 = new JTextArea(5, 30);
textArea1.setText("Sou a área de texto 1.");
JScrollPane sPane1 = new JScrollPane(textArea1);
// segunda área de texto
JTextArea textArea2 = new JTextArea(5, 30);
textArea2.setText("Sou a área de texto 2.");
JScrollPane sPane2 = new JScrollPane(textArea2);
// Cria o JSplitPane
JSplitPane splitPane = new JSplitPane(
JSplitPane.HORIZONTAL_SPLIT, sPane1, sPane2);
add(splitPane, BorderLayout.CENTER);
setSize(300, 150);
setVisible(true);
}
public static void main(String args[]){
Estudos app = new Estudos();
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
Ao executar esta aplicação Java Swing nós teremos o seguinte resultado: ![]() |
C++ ::: Dicas & Truques ::: Strings e Caracteres |
Como retornar uma substring de uma string em C++ usando a função substr()Quantidade de visualizações: 10559 vezes |
Este exemplo usa a função substr() para obter uma substring a partir de uma string. A assinatura para essa função é:string substr(size_t pos = 0, size_t n = npos) const; Se a posição inicial da substring for maior que o tamanho da string, uma exceção do tipo out_of_range será atirada. Nenhum erro é indicado se o tamanho da substring exceder o tamanho da string. Veja o código C++ completo para o exemplo:
#include <string>
#include <iostream>
using namespace std;
int main(int argc, char *argv[]){
// vamos criar uma string
string frase = "Gosto de Java e C++";
cout << "A frase e: " << frase << endl;
// agora vamos obter uma parte da frase
string sub = frase.substr(9, 4);
// e mostramos o resultado
cout << "A substring retornada e: " << sub << endl; // retorna "Java"
system("PAUSE"); // pausa o programa
return EXIT_SUCCESS;
}
Ao executar este código C++ nós teremos o seguinte resultado: A frase é: Gosto de Java e C++ A substring retornada é: Java |
Desafios, Exercícios e Algoritmos Resolvidos de C++ |
Veja mais Dicas e truques de C++ |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |







