terça-feira, 11 de janeiro de 2011

visual Basic VS linguagem C

Hoje, decidi postar as diferenças encontradas entre a linguagem C e o VB no modo de consola, para melhor entender como funciona.
Antes de mais tenho aqui os diferentes modos de iniciar...

Modo de iniciar da linguagem C

Modo de iniciar do Visual Basic

OK.
Agora vamos ver as diferenças entre um programa para escrever na consola a seguinte frase: "Bem_Vindo ao Visual Basic 2008".

C:
 #include <stdio.h>
main(){
            printf("Bem_Vindo ao Visual Basic 2008\n ");
            system("pause");
            return;
}

VB:
Module Module1
            Sub Main()
                           Console.WriteLine("Bem_Vindo ao Visual Basic 2008")
                           Console.ReadLine()
            End Sub Module
End Module

Ou seja, aqui poderemos ver que em vez de utilizar bibliotecas, utiliza-se "Module Module 1", ou seja Module + nome de Module utilizados, ex: Module1; 
E como é POO em vez de main tem "SubMain", em que chama a subrutina;
Para escrever utiliza-se Console.WriteLine(), pois é no modo de consola e escreve por linha, em vez de printf(" \n "); ;
O nosso "Console.ReadLine()", serve como system("pause"), para parar a consola e vermos o obtido do nosso código, mas este é a leitura de uma linha no modo de consola, ou seja, vai esperar ate ler uma linha para terminar;
EndSub para terminar o SubMain e EndModule para terminar o Module, enquanto, em C utilizava return; para terminar e {} para iniciar e terminar o código do main.

Depois de escrever, vamos ver como se calcula dois números pedidos pelo utilizador e visualizar na consola o resultado das operações da calculadora (+, -, /, *)

C:

#include <stdio.h>
main(){

       int val1, val2;
       printf("Introduza um valor: ");
       scanf("%d", & val1);
       printf("Introduza outro valor: ");
       scanf("%d", & val2);
      
       printf("%d + %d = %d\n", val1, val2, val1 + val2);
       printf("%d - %d = %d\n", val1, val2, val1 - val2);
       printf("%d * %d = %d\n", val1, val2, val1 * val2);
       printf("%d / %d = %d\n", val1, val2, val1 / val2);
      
       system("pause");
       return;
}

VB:
Module Module1
    Sub Main()

        Console.Write("Introduza um valor: ")
        Dim val1 As Integer = CDbl(Console.ReadLine)
        Console.Write("Introduza outro valor: ")
        Dim val2 As Integer = CDbl(Console.ReadLine)
        Console.WriteLine()

        Console.WriteLine(val1 & " + " & val2 & " = " & val1 + val2)
        Console.WriteLine(val1 & " - " & val2 & " = " & val1 - val2)
        Console.WriteLine(val1 & " * " & val2 & " = " & val1 * val2)
        Console.WriteLine(val1 & " / " & val2 & " = " & val1 / val2)
        Console.ReadLine()
       
        End Sub

End Module

 

Aqui podemos ver várias diferenças.
1. Variáveis:
No VB as variáveis não necessitam de ser definidas no inicio do programa com o C.
Dim val1 As Integer --> int val1;
Dim é para dizer a dimensão da variável
val1 é o nome
As Integer é para dizer a dimensão da variável ou o "tipo", neste caso, inteiro.
Nota: As variáveis em C são como em Vb mas estas tem de ser escritas por extenso.

2. Dim val1 As Integer = CDbl(Console.ReadLine)
No VB poderemos definir as variáveis quando necessitamos, neste caso lemos as variáveis enquanto define-se. Em vez de:  scanf("%d",&val1); --> CDbl(Console.ReadLine)
CDbl (Console.ReadLine) converte uma string para um número decimal, ou seja, converte os algarismos que o utilizador pede da variável, para inteiros, lendo por linha.

3.  Console.WriteLine(val1 & " + " & val2 & " = " & val1 + val2)
Console.WriteLine, como já disse em cima, serve para escrever.
(val1 & " + " & val2 & " = " & val1 + val2) --> printf("%d + %d = %d\n", val1, val2, val1 + val2);
Em VB utilizamos, nome_da_variavel &, quando queremos ver o valor de uma variável, enquanto em C, o & seria para o endereço da memória, em VB é apenas para refere-se ao valor atribuído pelas variáveis.
" " será o que ira ser apresentado no ecrã.


Agora vamos ver qual é a diferença na "estrutura If"

Em C:
if(«condição»){
«instruções»
}
else{
«instruções»
}

Em VB:
If («condição») Then
«instruções»
Else
«intruções»
End If

Neste caso, podemos verificar que no VB em relação ao C é muito parecido.
Apenas é obrigado a colocar <Then> depois da condição, e para terminar EndIf em {} no inicio e no fim.


Agora vamos ver qual é a diferença na "estrutura de repetição (ciclos) - For"

Em C:
for(i=0;i<x;i++){   ou seja, for(inicialização; valor_terminar; actualizar)
«instruções»
}

Em VB:
For i=1 To x   ou seja, For inicialização To valor_terminar
«instruções»
Next
No VB não actualiza a variável i, pois este actualiza automaticamente de um em um.
Portanto é de um valor inicializado ate ao que se deseja terminar
E no final «Next» que significa que ira para o próximo ponto do código em vez {}


Ciclo While:

Em c:
while(«condição») //enquanto a condição for verdadeira
{
«instruções»
}

Em vb:
Do While «condição»
     <instruções> ‘(O ciclo mantêm-se enquanto se verificar a condição)
Loop


Ciclo  Do:

Em c:

do
{
«instruções» // é sempre executado 1 vez
}
while(«condição»); // repetir enquanto a condição é verdadeira
{
«instruções»
}


Vb:
Do Until «condição»
       «instrução» ‘( O ciclo mantêm-se até que se verifique a condição )
Loop


Case:

Em C:
switch(x) // Executa um dos vários grupos de instruções, dependendo do valor destas.
{ case 1:
{ instrução1 }
break;
case 1:
{ instrução2 }
break;

}

Em VB:
Select Case «expressão»  ‘Executa um dos vários grupos de instruções, dependendo do valor destas.
          Case  «expressão1»
            «instruções»
         Case « expressão2»
            «instruções»
         ...
End Select


Os comentários:

Em c:
// Comentário por linha
/* e */ comentário no inicio ate ao fim

Em Vb:
' Comentário por linha


Operador Descrição:

Em c à vb
== Igualdade à  =
!= Diferente à <>
< Menor à <
<= Menor ou igual à <=
> Maior à >
>= Maior ou igual à >=
|| "ou" lógico à Or
&& "e" lógico à And
...

Entre outros, estes são algumas das principais diferenças entres a Linguagem C e o Visual Basic …

Sem comentários:

Enviar um comentário