Você está aqui: Cards de Ética e Legislação Profissional |
||
|
||
|
|
||
Python ::: Desafios e Lista de Exercícios Resolvidos ::: Ordenação e Pesquisa (Busca) |
Exercícios Resolvidos de Python - Como usar a Ordenação da Bolha em Python para ordenar os valores de um vetor em ordem crescente ou decrescenteQuantidade de visualizações: 957 vezes |
|
Pergunta/Tarefa: A Ordenação da Bolha, ou ordenação por flutuação (literalmente "por bolha"), também chamada de Bubble Sort, é um algoritmo de ordenação dos mais simples. A ideia é percorrer o array diversas vezes, a cada passagem fazendo flutuar para o topo o maior elemento da sequência. Essa movimentação lembra a forma como as bolhas em um tanque de água procuram seu próprio nível, e disso vem o nome do algoritmo. No melhor caso, o algoritmo executa n operações relevantes, onde n representa o número de elementos do vetor. No pior caso, são feitas n2 operações. A complexidade desse algoritmo é de ordem quadrática. Por isso, ele não é recomendado para programas que precisem de velocidade e operem com quantidade elevada de dados. Escreva um programa Python que declara, constrói um vetor de 10 inteiros e peça para o usuário informar os valores de seus elementos. Em seguida use a ordenação da bolha para ordenar os elementos em ordem crescente. Sua saída deverá ser parecida com: Informe o valor para o índice 0: 84 Informe o valor para o índice 1: 23 Informe o valor para o índice 2: 9 Informe o valor para o índice 3: 5 Informe o valor para o índice 4: 11 Informe o valor para o índice 5: 3 Informe o valor para o índice 6: 50 Informe o valor para o índice 7: 7 Informe o valor para o índice 8: 2 Informe o valor para o índice 9: 73 O array informado foi: 84 23 9 5 11 3 50 7 2 73 O array ordenado é: 2 3 5 7 9 11 23 50 73 84 Veja a resolução comentada deste exercício usando Python:
# função principal do programa
def main():
# vamos declarar e construir um vetor de 10 elementos
valores = [0 for x in range(10)]
# vamos pedir que o usuário informe os valores
for i in range(0, len(valores)):
valores[i] = int(input("Informe o valor para o índice {0}: ".format(i)))
# vamos mostrar o vetor informado
print("\nO array informado foi:\n\n")
for i in range(0, len(valores)):
print(valores[i], end=" ")
# vamos ordenar os elementos do vetor usando a ordenação da bolha
# laço externo de trás para frente
for i in range(len(valores) - 1, 0, -1):
for j in range(0, i): # laço interno vai no fluxo normal
if valores[j] > valores[j + 1]: # temos que trocá-los de lugar
temp = valores[j]
valores[j] = valores[j + 1]
valores[j + 1] = temp
# vamos exibir o vetor já ordenado
print("\n\nO array ordenado é:\n\n")
for i in range(0, len(valores)):
print(valores[i], end=" ")
print("\n")
if __name__== "__main__":
main()
|
jQuery ::: Dicas & Truques ::: Atributos ou Propriedades HTML |
Como remover atributos dos elementos HTML usando a função removeAttr() do jQueryQuantidade de visualizações: 17598 vezes |
O método removeAttr() da biblioteca jQuery nos permite remover um determinado atributo dos elementos HTML retornados sob uma determinada condição. Veja um trecho de código que remove o atributo disabled de uma caixa de texto com o id nome:
<script type="text/javascript">
<!--
function removerAtributo(){
// remove o atributo disabled da
// caixa de texto com id "nome"
$('#nome').removeAttr("disabled");
}
//-->
</script>
O retorno deste método é um objeto jQuery que poderá ser usado para fins de encadeamento de chamadas de métodos. |
C ::: Dicas & Truques ::: Geometria, Trigonometria e Figuras Geométricas |
Como calcular o coeficiente angular de uma reta em C dados dois pontos no plano cartesianoQuantidade de visualizações: 3793 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 C 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:
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[]){
// coordenadas dos dois pontos
float x1, y1, x2, y2;
// guarda o coeficiente angular
float m;
// x e y do primeiro ponto
printf("Coordenada x do primeiro ponto: ");
scanf("%f", &x1);
printf("Coordenada y do primeiro ponto: ");
scanf("%f", &y1);
// x e y do segundo ponto
printf("Coordenada x do segundo ponto: ");
scanf("%f", &x2);
printf("Coordenada y do segundo ponto: ");
scanf("%f", &y2);
// vamos calcular o coeficiente angular
m = (y2 - y1) / (x2 - x1);
// mostramos o resultado
printf("O coeficiente angular é: %f", m);
printf("\n\n");
system("PAUSE");
return 0;
}
Ao executar este código C 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.666667 Pressione qualquer tecla para continuar... Veja agora como podemos calcular o coeficiente angular da reta que passa pelos dois pontos usando o Teorema de Pitágoras. Note que agora nós estamos tirando proveito da tangente do ângulo Theta (__$\theta__$), também chamado de ângulo Alfa ou Alpha (__$\alpha__$):
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[]){
// coordenadas dos dois pontos
float x1, y1, x2, y2;
// guarda os comprimentos dos catetos oposto e adjascente
float cateto_oposto, cateto_adjascente;
// guarda o ângulo tetha (em radianos) e a tangente
float tetha, tangente;
// x e y do primeiro ponto
printf("Coordenada x do primeiro ponto: ");
scanf("%f", &x1);
printf("Coordenada y do primeiro ponto: ");
scanf("%f", &y1);
// x e y do segundo ponto
printf("Coordenada x do segundo ponto: ");
scanf("%f", &x2);
printf("Coordenada y do segundo ponto: ");
scanf("%f", &y2);
// vamos obter o comprimento do cateto oposto
cateto_oposto = y2 - y1;
// e agora o cateto adjascente
cateto_adjascente = x2 - x1;
// vamos obter o ângulo tetha, ou seja, a inclinação da hipetunesa
// (em radianos, não se esqueça)
tetha = atan2(cateto_oposto, cateto_adjascente);
// e finalmente usamos a tangente desse ângulo para calcular
// o coeficiente angular
tangente = tan(tetha);
// mostramos o resultado
printf("O coeficiente angular é: %f", tangente);
printf("\n\n");
system("PAUSE");
return 0;
}
Ao executar este código você verá que o resultado é o mesmo. 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. |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Java Básico |
Exercícios Resolvidos de Java - Um programa que lê um salário e concede um aumento de 20% para os salários inferiores a R$ 800,00Quantidade de visualizações: 5112 vezes |
|
Exercícios Resolvidos de Java - Um programa que lê um salário e concede um aumento de 20% para os salários inferiores a R$ 800,00 Pergunta/Tarefa: A empresa XYZ decidiu conceder um aumento de 20% aos funcionários com salários inferiores a R$ 800,00. Faça um programa Java que solicita o salário do funcionário e mostre o valor do salário reajustado ou uma mensagem, caso o funcionário não tenha direito ao aumento. Sua saída deverá ser parecida com: Informe o salário: 520 O salário informado foi: 520.0 O salário reajustado é: 530.4 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) {
Scanner entrada = new Scanner(System.in);
// vamos solicitar o salário do funcionário
System.out.print("Informe o salário: ");
double salario = Double.parseDouble(entrada.nextLine());
System.out.println("O salário informado foi: " + salario);
// vamos conceder o aumento ao salário inferior a 800,00
if(salario < 800.00){
double novoSalario = salario + (salario * (2.0 / 100.00));
System.out.println("O salário reajustado é: " + novoSalario);
}
else{
System.out.println("Não tem direito ao reajuste.");
}
System.out.println("\n");
}
}
|
C++ ::: Desafios e Lista de Exercícios Resolvidos ::: C++ Básico |
Exercício Resolvido de C++ - Como ler um número inteiro e imprimir seu sucessor e seu antecessor em C++Quantidade de visualizações: 2018 vezes |
|
Pergunta/Tarefa: Escreva um programa C++ para ler um número inteiro e imprimir seu sucessor e seu antecessor. O usuário poderá informar um valor positivo ou negativo. Sua saída deverá ser parecida com: Informe um número inteiro: 16 O número informado foi: 16 O antecessor é 15 O sucessor é: 17 Veja a resolução comentada deste exercício usando C++:
#include <string>
#include <iostream>
using namespace std;
int main(int argc, char *argv[]){
// variáveis usadas na resolução do problema
int numero, sucessor, antecessor;
// vamos pedir para o usuário informar um número inteiro
cout << "Informe um número inteiro: ";
cin >> numero;
// vamos calcular o sucessor do número informado
sucessor = numero + 1;
// vamos calcular o antecessor do número informado
antecessor = numero - 1;
// e agora mostramos os resultados
cout << "O número informado foi: " << numero << endl;
cout << "O antecessor é " << antecessor << endl;
cout << "O sucessor é: " << sucessor << endl;
system("PAUSE"); // pausa o programa
return EXIT_SUCCESS;
}
|
Mais Desafios de Programação e 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 |





