Você está aqui: Cards de AutoCAD Civil 3D |
||
|
||
|
|
||
VB.NET ::: Desafios e Lista de Exercícios Resolvidos ::: VB.NET Básico |
Exercício Resolvido de VB.NET - Como ler um número inteiro e imprimir seu sucessor e seu antecessor em VB.NETQuantidade de visualizações: 916 vezes |
|
Pergunta/Tarefa: Escreva um programa VB.NET 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 VB.NET:
Imports System
Module Program
Sub Main(args As String())
' vamos pedir ao usuário que informe um número inteiro
Console.Write("Informe um número inteiro: ")
Dim numero As Integer = Integer.Parse(Console.ReadLine())
' vamos calcular o sucessor do número informado
Dim sucessor As Integer = numero + 1
' vamos calcular o antecessor do número informado
Dim antecessor As Integer = numero - 1
' e agora mostramos os resultados
Console.WriteLine("O número informado foi: {0}", numero)
Console.WriteLine("O antecessor é {0}", antecessor)
Console.WriteLine("O sucessor é: {0}", sucessor)
Console.WriteLine(vbCrLf & "Pressione qualquer tecla para sair...")
' pausa o programa
Console.ReadKey()
End Sub
End Module
|
Delphi ::: Dicas & Truques ::: Aplicativos e Outros |
Como calcular a distância entre dois pontos na terra em DelphiQuantidade de visualizações: 1840 vezes |
|
Nesta dica mostrarei como calcular a distância em quilômetros entre dois pontos na terra dadas suas latitudes e longitudes. Neste exemplo eu coloquei o valor de 6378.137 para o raio da terra, mas você pode definir para o valor que achar mais adequado. O cálculo usado neste código se baseia na Fórmula de Haversine, que determina a distância do grande círculo entre dois pontos em uma esfera, dadas suas longitudes e latitudes. Veja o código Delphi completo:
// função que recebe dois pontos na terra e retorna a distância
// entre eles em quilômetros
function CalcularDistancia(lat1: double; lat2: double; lon1: double;
lon2: double): double;
var
raio_terra, dlon, dlat, a, c: double;
begin
raio_terra := 6378.137; // raio da terra em quilômetros
// o primeiro passo é converter as latitudes e longitudes
// para radianos
// não esqueça de adicionar a unit Math
lon1 := DegToRad(lon1);
lon2 := DegToRad(lon2);
lat1 := DegToRad(lat1);
lat2 := DegToRad(lat2);
// agora aplicamos a Fórmula de Haversine
dlon := lon2 - lon1;
dlat := lat2 - lat1;
a := Power(Sin(dlat / 2), 2) + Cos(lat1) * Cos(lat2)
* Power(Sin(dlon / 2),2);
c := 2 * ArcSin(Sqrt(a));
// e retornamos a distância
Result := (c * raio_terra);
end;
procedure TForm5.Button1Click(Sender: TObject);
var
lat1, lon1, lat2, lon2, distancia: double;
begin
// obtém as coordenadas vindas dos campos de texto
lat1 := StrToFloat(txtPrimeiraLatitude.Text);
lon1 := StrToFloat(txtPrimeiraLongitude.Text);
lat2 := StrToFloat(txtSegundaLatitude.Text);
lon2 := StrToFloat(txtSegundaLongitude.Text);
// vamos calcular a distância entre os dois pontos em Kms
distancia := CalcularDistancia(lat1, lat2, lon1, lon2);
// e mostramos o resultado
txtDistancia.Text := FormatFloat('#.0', distancia) + ' kms';
end;
Ao executar este código Delphi nós teremos o seguinte resultado: Informe a primeira latitude: -16,674551 Informe a primeira longitude: -49,303598 Informe a segunda latitude: -15,579321 Informe a segunda longitude: -56,10009 A distância entre os dois pontos é: 736,9 kms Aqui as informações sobre as latitudes e longitudes vieram de campos de texto TEdit, e o código foi disparado a partir do clique de um botão TButton. Neste exemplo eu calculei a distância entre as cidades de Goiânia-GO e Cuiabá-MT. A latitude é a distância ao Equador medida ao longo do meridiano de Greenwich. Esta distância mede-se em graus, podendo variar entre 0o e 90o para Norte(N) ou para Sul(S). A longitude é a distância ao meridiano de Greenwich medida ao longo do Equador. |
C ::: Dicas & Truques ::: Ordenação e Pesquisa (Busca) |
C para iniciantes - Como ordenar os elementos de um vetor de inteiros usando a ordenação da bolha (Bubble Sort) na linguagem CQuantidade de visualizações: 10161 vezes |
|
O método ou algorítmo de ordenação da bolha é uma das técnicas mais simples de ordenação. No entanto, este método não é eficiente, visto que o tempo despendido para sua execução é muito elevado se comparado à outros métodos existentes. Geralmente usamos este método quando queremos ordenar 50 elementos ou menos. O entendimento deste método é fácil. Se estivermos ordenandos os valores do menor para o maior, o método da bolha percorre os elementos do vetor (array), comparando e movendo o menor valor para a primeira posição do vetor, tal qual bolhas indo para a superfície. Veja um exemplo completo:
#include <stdio.h>
#include <stdlib.h>
void bubble_sort(int matriz[], int tam){
int temp, i, j;
for(i = 0; i < tam; i++){
for(j = 0; j < tam; j++){
if(matriz[i] < matriz[j]){
temp = matriz[i];
matriz[i] = matriz[j];
matriz[j] = temp;
}
}
}
}
int main(int argc, char *argv[])
{
int valores[] = {4, 6, 2, 8, 1, 9, 3, 0, 11};
int i, tamanho = 9;
// imprime a matriz sem a ordenação
for(i = 0; i < 9; i++){
printf("%d ", valores[i]);
}
// vamos ordenar a matriz
bubble_sort(valores, tamanho);
// imprime a matriz ordenada
puts("\n");
for(i = 0; i < 9; i++){
printf("%d ", valores[i]);
}
puts("\n");
system("pause");
return 0;
}
Ao executar este código nós teremos o seguinte resultado: Sem ordenação: 4, 6, 2, 8, 1, 9, 3, 0, 11 Ordenados: 0, 1, 2, 3, 4, 6, 8, 9, 11 |
C ::: Dicas & Truques ::: Strings e Caracteres |
Como escrever uma função na linguagem C que verifica se duas strings são iguais ou diferentesQuantidade de visualizações: 9901 vezes |
|
Esta dica mostra como escrever uma função em C que verifica se duas strings são iguais ou diferentes. O nome da função é str_equal(). Esta função aceita duas strings como argumentos e retorna 1 se estas forem iguais e 0 em caso contrário. Experimente, faça as devidas alterações e adicione mais esta função ao seu repertório de códigos C. Veja o código completo para o exemplo:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// função personalizada que permite verificar
// se duas strings são iguais ou diferentes
int str_equal(const char *str1, const char *str2){
while((*str1 == *str2) && (*str1)){
str1++;
str2++;
}
return((*str1 == 0) && (*str2 == 0));
}
int main(int argc, char *argv[]){
char palavra1[] = "Java";
char palavra2[] = "Java";
if(str_equal(palavra1, palavra2) == 1)
printf("As palavras sao iguais");
else
printf("As palavras sao diferentes");
puts("\n\n");
system("PAUSE");
return 0;
}
Ao executar este código nós teremos o seguinte resultado: As palavras são iguais |
C ::: Fundamentos da Linguagem ::: Estruturas de Controle |
Apostila C para iniciantes - Como usar o laço for em CQuantidade de visualizações: 39313 vezes |
O laço for é usado quando queremos executar um bloco de instruções um determinado número de vezes. Este laço é composto de três partes:
for(inicialização; teste; incremento/decremento){
bloco de instruções
}
Na parte inicialização nós definimos o valor inicial da variável de controle. Na parte teste nós usamos o valor da variável de controle para testar a continuidade ou interrupção do laço. Finalmente, na parte incremento/decremento nós alteramos o valor da variável de controle para cima ou para baixo. Veja um exemplo:
int main(int argc, char *argv[])
{
int i;
for(i = 1; i <= 10; i++){
printf("%d ", i);
}
printf("\n\n");
system("PAUSE");
return 0;
}
O incremento/decremento da variável de controle não precisa ser necessariamente em 1. Podemos usar qualquer expressão. Veja um trecho de código que exibe os números pares de 0 à 10:
int main(int argc, char *argv[])
{
int i;
for(i = 0; i <= 10; i += 2){
printf("%d ", i);
}
printf("\n\n");
system("PAUSE");
return 0;
}
Observe que "i += 2" é o mesmo que "i = i + 2". Com exceção da parte de testes, podemos inserir múltiplas expressões nas demais partes de um laço for. Veja:
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
int i, x;
for(i = 0, x = 2; i <= 10; printf("%d ", i * x), i++);
printf("\n\n");
system("PAUSE");
return 0;
}
Este último código é um pouco exótico, mas muito fácil de ser encontrado por aí. |
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 |






