Você está aqui: Cards de Engenharia Civil - Estruturas de Aço e Madeira |
||
|
||
|
|
||
Python ::: Dicas & Truques ::: Geometria, Trigonometria e Figuras Geométricas |
Como calcular o diâmetro, a circunferência e a área de um círculo dado o raio em Python - Python para GeometriaQuantidade de visualizações: 5318 vezes |
|
O círculo é uma figura geométrica plana e que possui quatro características: seu raio, seu diâmetro, sua circunferência e sua área. Aqui já podemos aproveitar e relembrar a diferença entre o círculo e a circunferência. O círculo é o conjunto de pontos resultantes da união entre uma circunferência e seus pontos internos, ou seja, o círculo é a área cuja delimitação é uma circunferência. É importante observar que alguns autores tratam o círculo como uma circunferência. Assim, para estes autores, calcular a circunferência de um círculo equivale a calcular o perímetro da circunferência. Veja a figura a seguir para relembrar o que é o raio de um círculo: ![]() Nesta dica mostrarei como podemos usar Python para calcular o diâmetro, a circunferência e a área de um círculo tendo apenas o raio como informação. Antes, porém, vamos às formulas. Sabendo que r é o raio, temos: \[\text{Diâmetro d} = 2 \times r \] \[\text{Circunferência C} = 2 \times \pi \times r \] \[\text{Área A} = \pi \times r^2 \] Agora vamos ver o código Python que solicita ao usuário que informe o raio do círculo e mostra o diâmetro, a circunferência e a área:
import math as math
def main():
# vamos ler o raio do círculo
raio = float(input("Informe o raio do círculo: "))
# vamos achar o diâmetro do círculo
diametro = 2 * raio
# agora calculamos a circunferência
circunferencia = 2 * math.pi * raio
# finalmente calculamos a área do círculo
area = math.pi * math.pow(raio, 2)
# vamos mostrar os resultados
print("O diâmetro do círculo é:", diametro)
print("A circunferência do círculo é:", circunferencia)
print("A área do círculo é:", area)
if __name__== "__main__":
main()
Ao executar este código Python nós teremos o seguinte resultado: Informe o raio do círculo: 10 O diâmetro do círculo é: 20.0 A circunferência do círculo é: 62.83185307179586 A área do círculo é: 314.1592653589793 Lembre-se de que a área é em centímetros quadrados, metros quadrados, etc. |
C++ ::: Win32 API (Windows API) ::: Processos |
Como usar a função EnumProcesses() da WinAPI em seus códigos C++ para obter os identificadores de cada processo ativo no WindowsQuantidade de visualizações: 8650 vezes |
A função EnumProcesses() pode ser usada quando queremos obter os ids de todos os processos sendo executados no momento no Windows. Veja o protótipo desta função:BOOL WINAPI EnumProcesses( DWORD* pProcessIds, DWORD cb, DWORD* pBytesReturned ); Esta função possui três parâmetros: a) DWORD* pProcessIds - Um ponteiro para uma matriz que receberá a lista de identificadores dos processos. É importante definir uma matriz um pouco grande, visto que não sabemos de antemão quantos processos serão retornados. b) DWORD cb - O tamanho da matriz pProcessIds em bytes. c) DWORD* pBytesReturned - O números de bytes retornados na matriz pProcessIds. Podemos facilmente saber quantos processos foram encontrados simplesmente dividindo o número de bytes retornados pela quantidade de bytes em um DWORD. Veja um trecho de código no qual listamos os ids de todos os processos sendo executados atualmente.
#include <cstdlib>
#include <iostream>
#include <windows.h>
#include <psapi.h>
/*
Este exemplo usa o header <psapi.h>
É necessário fazer uma referência à psapi.lib
*/
using namespace std;
int main(int argc, char *argv[]){
DWORD processos[1024]; // vamos listar até 1024 processos
DWORD pBytesReturned; // bytes retornados pela função EnumProcesses()
// vamos listar os processos
EnumProcesses(processos, sizeof(processos), &pBytesReturned);
// quantidade de processos retornados
int retornados = pBytesReturned / sizeof(DWORD);
// agora vamos listar os ids dos processos retornados
for(int i = 0; i < retornados; i++){
if(!processos[i] == 0){
cout << "Processo " << (i + 1) << ": " << processos[i] << endl;
}
}
system("PAUSE");
return EXIT_SUCCESS;
}
O id de um processo pode ser fornecido para muitas funções úteis do Windows, entre elas OpenProcess(). Veja um trecho de código no qual fechamos (forçadamente) um processo mediante o fornecimento de seu id:
#include <cstdlib>
#include <iostream>
#include <windows.h>
using namespace std;
int main(int argc, char *argv[]){
// vamos fechar o processo com o id 3040
// CUIDADO: Verifique o id do processo antes de fechá-lo
// pode ser que você esteja fechando processos essenciais
// para o bom funcionamento do Windows
// vamos abrir o processo desejado
// vai retornar ERROR_INVALID_HANDLE se o processo não
// puder ser aberto
HANDLE hProcesso = OpenProcess(PROCESS_TERMINATE, 0, 3040);
// vamos fechar o processo
if(TerminateProcess(hProcesso, 0)){
cout << "Processo finalizado com sucesso." << endl;
}
else{
cout << "Erro ao finalizar o processo: " <<
GetLastError() << endl;
}
// vamos fechar o handle do processo
CloseHandle(hProcesso);
system("PAUSE");
return EXIT_SUCCESS;
}
|
C++ ::: Desafios e Lista de Exercícios Resolvidos ::: Métodos, Procedimentos e Funções |
Exercício Resolvido de C++ - Escreva uma função C++ que recebe três números inteiros e retorna o menor delesQuantidade de visualizações: 618 vezes |
|
Pergunta/Tarefa: Escreva um programa C++ que contenha uma função, método ou procedimento que recebe três números inteiros e retorne o menor deles como um inteiro. Seu método não deve produzir nenhuma saída, apenas retornar o menor número entre os três argumentos fornecidos. Sua saída deverá ser parecida com: Informe o primeiro número: 8 Informe o segundo número: 10 Informe o terceiro número: 7 O menor número é: 7 Veja a resolução comentada deste exercício em C++:
#include <iostream>
#include <algorithm>
using namespace std;
// função que recebe três números e retorna o menor deles
int menor(int a, int b, int c){
return min(min(a, b), c);
}
// função principal do programa
int main(int argc, char *argv[]){
int n1, n2, n3, menor_numero;
// vamos pedir para o usuário informar três
// números inteiros
cout << "Informe o primeiro número: ";
cin >> n1;
cout << "Informe o segundo número: ";
cin >> n2;
cout << "Informe o terceiro número: ";
cin >> n3;
// agora vamos calcular o menor número
menor_numero = menor(n1, n2, n3);
// e mostramos o resultado
cout << "O menor numero é: " << menor_numero << endl;
cout << "\n" << endl;
system("PAUSE"); // pausa o programa
return EXIT_SUCCESS;
}
|
Java ::: Dicas & Truques ::: Arquivos e Diretórios |
Manipulação de arquivos em Java - Como ler o conteúdo de um arquivo um byte de cada vezQuantidade de visualizações: 1 vezes |
|
Nesta dica mostrarei como ler texto de um arquivo um byte de cada vez. Para isso vamos usar o método readByte() da classe DataInputStream, do pacote java.io. Note que este método retorna um inteiro com sinal na faixa de -128 até 127. Neste exemplo faremos um cast do byte lido para um char, já que estaremos lendo um arquivo de texto. Sim, é isso mesmo que você pensou. Se houver caracteres acentuados no arquivo texto, os mesmo não serão exibidos corretamente. A idéia do exemplo é mostrar o funcionamento do método readByte(). Veja o código Java completo:
package arquivodecodigos;
import java.io.*;
public class Estudos{
public static void main(String[] args){
try {
DataInputStream in = new DataInputStream(new BufferedInputStream(
new FileInputStream("C:\\java\\conteudo.txt")));
while (in.available() != 0){
System.out.print((char) in.readByte());
}
}
catch (IOException e){
System.out.println("Erro: " + e.getMessage());
}
System.exit(0);
}
}
Ao executarmos este código nós teremos o seguinte resultado: Primeira linha do arquivo Segunda linha do arquivo Terceira linha do arquivo |
Portugol ::: Dicas & Truques ::: Matemática e Estatística |
Como resolver uma equação do segundo grau em Portugol - Como calcular Bhaskara em PortugolQuantidade de visualizações: 3085 vezes |
|
Como resolver uma equação do 2º grau usando Portugol Nesta dica mostrarei como encontrar as raízes de uma equação quadrática, ou seja, uma equação do 2º usando um algoritmo escrito na ferramenta Portugol Studio, uma das preferidas para o aprendizado de algoritmos e lógica de programação. Definimos como equação do 2º grau ou equações quadráticas qualquer equação do tipo ax² + bx + c = 0 em que a, b e c são números reais e a ≠ 0. Ela recebe esse nome porque, no primeiro membro da igualdade, há um polinômio de grau dois com uma única incógnita. Note que, dos coeficientes a, b e c, somente o a é diferente de zero, pois, caso ele fosse igual a zero, o termo ax² seria igual a zero, logo a equação se tornaria uma equação do primeiro grau: bx + c = 0. Independentemente da ordem da equação, o coeficiente a sempre acompanha o termo x², o coeficiente b sempre acompanha o termo x, e o coeficiente c é sempre o termo independente. Como resolver uma equação do 2º grau Conhecemos como soluções ou raízes da equação ax² + bx + c = 0 os valores de x que fazem com que essa equação seja verdadeira. Uma equação do 2º grau pode ter no máximo dois números reais que sejam raízes dela. Para resolver equações do 2º grau completas, existem dois métodos mais comuns: a) Fórmula de Bhaskara; b) Soma e produto. O primeiro método é bastante mecânico, o que faz com que muitos o prefiram. Já para utilizar o segundo, é necessário o conhecimento de múltiplos e divisores. Além disso, quando as soluções da equação são números quebrados, soma e produto não é uma alternativa boa. Como resolver uma equação do 2º grau usando Bhaskara Como nosso algoritmo Portugol vai resolver a equação quadrática usando a Fórmula de Bhaskara, o primeiro passo é encontrar o determinante. Veja: \[\Delta =b^2-4ac\] Nem sempre a equação possui solução real. O valor do determinante é que nos indica isso, existindo três possibilidades: a) Se determinante > 0, então a equação possui duas soluções reais. b) Se determinante = 0, então a equação possui uma única solução real. c) Se determinante < 0, então a equação não possui solução real. Encontrado o determinante, só precisamos substituir os valores, incluindo o determinante, na Fórmula de Bhaskara: \[x = \dfrac{- b\pm\sqrt{b^2- 4ac}}{2a}\] Vamos agora ao código Portugol (escrevi e testei no Portugol Webstudio). Nossa aplicação vai pedir para o usuário informar os valores dos três coeficientes a, b e c e, em seguida, vai apresentar as raizes da equação:
// "Como resolver uma equação do 2º grau usando Portugol
programa {
// inclui a biblioteca Matematica
inclua biblioteca Matematica --> mat
// função principal do programa
funcao inicio() {
// variáveis usadas na resolução do problema
// os coeficientes
real a, b, c
// as duas raizes, a imaginaria e o discriminante
real raiz1, raiz2, imaginaria, discriminante
// vamos pedir para o usuário informar os valores dos coeficientes
escreva("Valor do coeficiente a: ")
leia(a)
escreva("Valor do coeficiente b: ")
leia(b)
escreva("Valor do coeficiente c: ")
leia(c)
// vamos calcular o discriminante
discriminante = (b * b) - (4 * a * c)
// a equação possui duas soluções reais?
se (discriminante > 0) {
raiz1 = ((b * -1) + mat.raiz(discriminante, 2.0)) / (2 * a)
raiz2 = ((b * -1) - mat.raiz(discriminante, 2.0)) / (2 * a)
escreva("Duas raizes: x1 = ", raiz1, " e x2 = ", raiz2)
}
// a equação possui uma única solução real?
senao se (discriminante == 0){
raiz1 = (b * -1) / (2 * a)
raiz2 = (b * -1) / (2 * a)
escreva("Duas raizes iguais: x1 = ", raiz1, " e x2 = ", raiz2)
}
// a equação não possui solução real?
senao{
raiz1 = (b * -1) / (2 * a)
raiz2 = (b * -1) / (2 * a)
imaginaria = mat.raiz((discriminante * -1), 2.0) / (2 * a)
escreva("Existem duas raízes complexas: ")
escreva("x1 = ", raiz1, " + " ,imaginaria, " e x2 = ", raiz2, " - ", imaginaria)
}
}
}
Ao executar este código Portugol nós teremos o seguinte resultado: Valor do coeficiente a: 1 Valor do coeficiente b: 2 Valor do coeficiente c: -3 Existem duas raizes: x1 = 1.0 e x2 = -3.0 |
Desafios, Exercícios e Algoritmos Resolvidos de Portugol |
Veja mais Dicas e truques de Portugol |
Dicas e truques de outras linguagens |
|
JavaScript - Como usar objetos Set em seus códigos JavaScript |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |






