SlideShare uma empresa Scribd logo
1 de 26
Baixar para ler offline
Desenvolvimento em .Net




    Conceitos Essenciais
Objectivos
    Tipos de Dados
●


        Comparação Progress vs .Net
    –

    Dimensionar Variáveis
●


    Âmbito (scope) das variáveis
●


    Conversões entre Tipos de Dados
●
Objectivos
    Estruturas Condicionais
●


    Estruturas de Ciclo
●


    Procedimentos e Funções
●


    Operadores e Funções Matemáticas
●


    Familiarização com o VStudio
●
Tipos de Dados (Progress vs .Net)


       Progress   .Net
       Char       Char, String
       Date       Date
       Decimal    Decimal
       Integer    Integer
       Logical    Boolean
Tipos de Dados
  VB6      .NET Framework VB.Net     C#  signed bytes valores
Boolean   System.Boolean Boolean    bool          1 true / false
  Byte     System.Byte      Byte    byte   sim    1 0 / 255
Integer    System.Int16    Short    short  sim    2 -32768 / 32767
 Long      System.Int32   Integer    int   sim    4 -2147483648 /
                                                      2147483647
  ---     System.Int64     Long    long    sim    8 -9223372036854775808 /
                                                      9223372036854775807
Single System.Single       Single  float   sim    4 precisão até 7 digitos
Double System.Double      Double double sim       8 precisão até 15 digitos
  ---  System.Decimal     Decimal decimal sim    12 precisão até 28 digitos
Declarar Variáveis
    Indicar tipo de dados de uma variável
–

    Declarar SEMPRE o tipo das variáveis
–

         Definir Option explicit On
     ●


              Project / Properties / Common Properties / Build
          –

              Tools / Options / Projects / VB Defaults
          –

         Evitamos
     ●


              gralhs gralhas
          –

         Beneficiamos
     ●


              intellisense
          –

              verificação no compilador
          –

              performance
          –
Instanciar Variáveis
    instanciar = criar um objecto concreto a partir de
–
    um molde (classe)
    Diferença entre Tipo de Dados e Objecto
–

         dim i as integer 'valor inicial = 0
     ●


         dim x as TextBox ' valor inicial = nothing
     ●


              x = New TextBox
          –

    Keyword – Is => comparações entre objectos
–

         object1 is object2
     ●


         object1 = object2
     ●



    Keyword – Nothing
–

         object1 is nothing
     ●
Âmbito (scope) das variáveis
    Bloco / Procedimento / Módulo
–
Exercicio 1
    Criar Projecto
●

    Visual Studio
        nome projecto
    –

             0201_variaveis
         ●



        testar âmbito das
    –
        variáveis
Exercicio 2
    Criar novo
●

    módulo
        declarar vs
    –
        instanciar
Conversões entre Tipos de Dados
     Cancelar SEMPRE conversão implicita de dados
 –

          Definir Option Strict On
      ●


               Project / Properties / Common Properties / Build
           –

               Tools / Options / Projects / VB Defaults
           –

          Option Strict Off = Option Slow On
      ●
                                                       ...He also calls this Option
          Beneficiamos                                 Slow, referring to the slow,
      ●
                                                       expensive IL that must be
               intellisense
           –                                           emitted behind the scenes
                                                       for this magical type
               verificação no compilador
           –
                                                       conversion scheme to
               performance
           –
                                                       work-- the source of
                                                       endless quot;VB.NET is slower
                                                       than C#quot; benchmarks.
Implicações
    Temos que conhecer as funções de conversão de
–
    dados
         .toString()
     ●


         Convert.To...
     ●


         Cint(), Cdbl(), ...
     ●


         Ctype(expressão, tipo de dados) => funciona desde que
     ●

         haja uma conversão válida.
         DirectCast(expressão, tipo de dados) => só funciona se o
     ●

         tipo de dados da expressão for igual ao tipo de dados
         especificado
Exercicio 3
    Criar novo módulo
●


        conversões de tipos
    –
        de dados
Constantes
    Constante => variável com valor imutável
–
    Beneficios
         Performance
     ●


         Legibilidade
     ●


              “Avoid using magic numbers and string literals in your code”
          –
Estruturas condicionais
Estruturas de ciclo
Procedimentos e Funções
Procedimentos e Funções
    Objectivos
●


        componentizar
    –

        dividir para conquistar
    –

        loosely coupled
    –

             independencia entre módulos.
         ●


             um módulo não precisa de saber os detalhes de
         ●

             implementação do outro
Procedimentos e Funções
Procedimentos e Funções
    Reduzir ao máximo / eliminar o acesso a variáveis
–
    que não tenham sido declaradas no procedimento
    ou função
         passar sempre essas variaveis como parâmetro
     ●
Procedimentos e Funções
    ByVal / ByRef
–

         By Value (ByVal)
     ●


              copia o valor da variável
          –

         By Reference (ByRef)
     ●


              copia a variável
          –
                ● menos performante

                ● causa alteração na variavel do módulo que chamou a função


         Enviar sempre valores ByVal
     ●
Exercicio 4
    Criar Projecto Visual
●

    Studio
        nome projecto
    –

             0202_procedimentos
         ●



        testar passagem de
    –
        parâmetros
Operadores
Aritméticos
Adição                            +          +
Subtração                         -          -
Multiplicação                     *          *
Divisão                           /          /
Exponencial                       ^         Exp
Resto da Divisão Inteira         mod       Modulo

Lógicos
E                                And        And
Negação                          Not        Not
Ou                                Or         Or
Ou Exclusivo                     Xor         ---
E Também                       AndAlso       ---
Ou Então                        OrElse       ---

Funções
Valor Absoluto                 Math.Abs     Abs
Arrendondamento               Math.Round   Round
Visual Studio
    Solução vs Projecto
●


        1 solução > 1 projecto
    –

             pode ter projectos em linguagens / plataformas
         ●

             diferentes (windows/web; vb.net/c#)
        Opção Set as Startup Project
    –

        Opção Startup Object
    –

        Opção Project Dependencies
    –

        Opção Find and Replace
    –
Objectivos
    Tipos de Dados
●


        Comparação Progress vs .Net
    –

    Dimensionar Variáveis
●


    Âmbito (scope) das variáveis
●


    Conversões entre Tipos de Dados
●
Objectivos
    Estruturas Condicionais
●


    Estruturas de Ciclo
●


    Procedimentos e Funções
●


    Operadores e Funções Matemáticas
●


    Familiarização com o VStudio
●

Mais conteúdo relacionado

Destaque

Teachers Of Government
Teachers Of GovernmentTeachers Of Government
Teachers Of GovernmentGary Purinton
 
Kuliah dengan Kuliax (AMIKOM)
Kuliah dengan Kuliax (AMIKOM)Kuliah dengan Kuliax (AMIKOM)
Kuliah dengan Kuliax (AMIKOM)Iwan stwn
 
Desenvolvimento em .Net - Introducao A Framework
Desenvolvimento em .Net - Introducao A FrameworkDesenvolvimento em .Net - Introducao A Framework
Desenvolvimento em .Net - Introducao A FrameworkVitor Silva
 
Compre Seu Carro
Compre Seu CarroCompre Seu Carro
Compre Seu Carroalex reges
 
Como Tener Canciones En Tu Ordenador Gratuitamente
Como Tener Canciones En Tu Ordenador GratuitamenteComo Tener Canciones En Tu Ordenador Gratuitamente
Como Tener Canciones En Tu Ordenador Gratuitamenteguestbcc7f
 
Um olhar sobre a liberdade
Um olhar sobre a liberdadeUm olhar sobre a liberdade
Um olhar sobre a liberdadenaliniram
 
Apresentação Oral 3º Período
Apresentação Oral 3º PeríodoApresentação Oral 3º Período
Apresentação Oral 3º PeríodoGnandes
 
Cristais De Agua
Cristais De AguaCristais De Agua
Cristais De Aguaalex reges
 
Projeto - No dia a dia com as Funções Afim e Quadrática
Projeto - No dia a dia com as Funções Afim e QuadráticaProjeto - No dia a dia com as Funções Afim e Quadrática
Projeto - No dia a dia com as Funções Afim e Quadráticawilliamcanellas
 
Velho, Rapaz E O Burro 2
Velho, Rapaz E O Burro 2Velho, Rapaz E O Burro 2
Velho, Rapaz E O Burro 2alvaro1
 
Arte Infentil De Donald Zolan
Arte Infentil De Donald ZolanArte Infentil De Donald Zolan
Arte Infentil De Donald Zolanalex reges
 
Desenvolvimento em .Net - Testes Unitários
Desenvolvimento em .Net - Testes UnitáriosDesenvolvimento em .Net - Testes Unitários
Desenvolvimento em .Net - Testes UnitáriosVitor Silva
 
Zoominyour Life
Zoominyour LifeZoominyour Life
Zoominyour Lifealex reges
 

Destaque (20)

Wow
WowWow
Wow
 
Teachers Of Government
Teachers Of GovernmentTeachers Of Government
Teachers Of Government
 
Kuliah dengan Kuliax (AMIKOM)
Kuliah dengan Kuliax (AMIKOM)Kuliah dengan Kuliax (AMIKOM)
Kuliah dengan Kuliax (AMIKOM)
 
HauptstäDte
HauptstäDteHauptstäDte
HauptstäDte
 
Desenvolvimento em .Net - Introducao A Framework
Desenvolvimento em .Net - Introducao A FrameworkDesenvolvimento em .Net - Introducao A Framework
Desenvolvimento em .Net - Introducao A Framework
 
Compre Seu Carro
Compre Seu CarroCompre Seu Carro
Compre Seu Carro
 
Como Tener Canciones En Tu Ordenador Gratuitamente
Como Tener Canciones En Tu Ordenador GratuitamenteComo Tener Canciones En Tu Ordenador Gratuitamente
Como Tener Canciones En Tu Ordenador Gratuitamente
 
Um olhar sobre a liberdade
Um olhar sobre a liberdadeUm olhar sobre a liberdade
Um olhar sobre a liberdade
 
Apresentação Oral 3º Período
Apresentação Oral 3º PeríodoApresentação Oral 3º Período
Apresentação Oral 3º Período
 
Cristais De Agua
Cristais De AguaCristais De Agua
Cristais De Agua
 
Projeto - No dia a dia com as Funções Afim e Quadrática
Projeto - No dia a dia com as Funções Afim e QuadráticaProjeto - No dia a dia com as Funções Afim e Quadrática
Projeto - No dia a dia com as Funções Afim e Quadrática
 
Apresentacao Movimento Esperança Portugal
Apresentacao Movimento Esperança PortugalApresentacao Movimento Esperança Portugal
Apresentacao Movimento Esperança Portugal
 
Velho, Rapaz E O Burro 2
Velho, Rapaz E O Burro 2Velho, Rapaz E O Burro 2
Velho, Rapaz E O Burro 2
 
Arte Infentil De Donald Zolan
Arte Infentil De Donald ZolanArte Infentil De Donald Zolan
Arte Infentil De Donald Zolan
 
Fotossintese
FotossinteseFotossintese
Fotossintese
 
Desenvolvimento em .Net - Testes Unitários
Desenvolvimento em .Net - Testes UnitáriosDesenvolvimento em .Net - Testes Unitários
Desenvolvimento em .Net - Testes Unitários
 
Noivos Mistos
Noivos MistosNoivos Mistos
Noivos Mistos
 
11701
1170111701
11701
 
Zoominyour Life
Zoominyour LifeZoominyour Life
Zoominyour Life
 
11692
1169211692
11692
 

Semelhante a Desenvolvimento em .Net - Estruturas Basicas

Palestra Testes Unidade Com JUnit
Palestra Testes Unidade Com JUnitPalestra Testes Unidade Com JUnit
Palestra Testes Unidade Com JUnitRobinson Castilho
 
Cucumber Best Practices
Cucumber Best PracticesCucumber Best Practices
Cucumber Best PracticesKaroline Leite
 
S2 b desenvolvimento de sistemas [reparado]
S2 b   desenvolvimento de sistemas [reparado]S2 b   desenvolvimento de sistemas [reparado]
S2 b desenvolvimento de sistemas [reparado]Milena Rebouças
 
Migrations for Java (QCONSP2013)
Migrations for Java (QCONSP2013)Migrations for Java (QCONSP2013)
Migrations for Java (QCONSP2013)Rafael Ponte
 
Ferramenta Flow - Análise estática de códigos javascript
Ferramenta Flow - Análise estática de códigos javascriptFerramenta Flow - Análise estática de códigos javascript
Ferramenta Flow - Análise estática de códigos javascriptRodrigo Ferreira
 
Linguagem de Programação Java para Iniciantes
Linguagem de Programação Java para IniciantesLinguagem de Programação Java para Iniciantes
Linguagem de Programação Java para IniciantesOziel Moreira Neto
 
Workshop Ruby on Rails dia 1 ruby-pt
Workshop Ruby on Rails dia 1 ruby-ptWorkshop Ruby on Rails dia 1 ruby-pt
Workshop Ruby on Rails dia 1 ruby-ptPedro Sousa
 
Domain Driven Design (DDD) - DevIsland, BH
Domain Driven Design (DDD) - DevIsland, BHDomain Driven Design (DDD) - DevIsland, BH
Domain Driven Design (DDD) - DevIsland, BHGiovanni Bassi
 
Palestra Desenvolvimento Ágil para Web com ROR UVA
Palestra Desenvolvimento Ágil para Web com ROR UVAPalestra Desenvolvimento Ágil para Web com ROR UVA
Palestra Desenvolvimento Ágil para Web com ROR UVAThiago Cifani
 
C#4 - Parte 1 - Dinamismo E Argumentos opcionais e nomeados
C#4 - Parte 1 - Dinamismo E Argumentos opcionais e nomeadosC#4 - Parte 1 - Dinamismo E Argumentos opcionais e nomeados
C#4 - Parte 1 - Dinamismo E Argumentos opcionais e nomeadosGiovanni Bassi
 
Praticando o Desapego: quando ignorar a dívida técnica
Praticando o Desapego: quando ignorar a dívida técnicaPraticando o Desapego: quando ignorar a dívida técnica
Praticando o Desapego: quando ignorar a dívida técnicaIvayr Farah Netto
 
Repensando padrões e boas práticas java ee
Repensando padrões e boas práticas java eeRepensando padrões e boas práticas java ee
Repensando padrões e boas práticas java eeAdriano Tavares
 

Semelhante a Desenvolvimento em .Net - Estruturas Basicas (20)

Palestra Testes Unidade Com JUnit
Palestra Testes Unidade Com JUnitPalestra Testes Unidade Com JUnit
Palestra Testes Unidade Com JUnit
 
Asp.Net Mvc Dev Days09 V3 Pt
Asp.Net Mvc Dev Days09 V3 PtAsp.Net Mvc Dev Days09 V3 Pt
Asp.Net Mvc Dev Days09 V3 Pt
 
Introdução ao C#
Introdução ao C#Introdução ao C#
Introdução ao C#
 
DDD > Experiências
DDD > ExperiênciasDDD > Experiências
DDD > Experiências
 
Cucumber Best Practices
Cucumber Best PracticesCucumber Best Practices
Cucumber Best Practices
 
S2 b desenvolvimento de sistemas [reparado]
S2 b   desenvolvimento de sistemas [reparado]S2 b   desenvolvimento de sistemas [reparado]
S2 b desenvolvimento de sistemas [reparado]
 
Migrations for Java (QCONSP2013)
Migrations for Java (QCONSP2013)Migrations for Java (QCONSP2013)
Migrations for Java (QCONSP2013)
 
Ferramenta Flow - Análise estática de códigos javascript
Ferramenta Flow - Análise estática de códigos javascriptFerramenta Flow - Análise estática de códigos javascript
Ferramenta Flow - Análise estática de códigos javascript
 
Visão Geral de EJB 3.0
Visão Geral de EJB 3.0Visão Geral de EJB 3.0
Visão Geral de EJB 3.0
 
Linguagem de Programação Java para Iniciantes
Linguagem de Programação Java para IniciantesLinguagem de Programação Java para Iniciantes
Linguagem de Programação Java para Iniciantes
 
Workshop Ruby on Rails dia 1 ruby-pt
Workshop Ruby on Rails dia 1 ruby-ptWorkshop Ruby on Rails dia 1 ruby-pt
Workshop Ruby on Rails dia 1 ruby-pt
 
04_Introducao_JavaScript.pdf
04_Introducao_JavaScript.pdf04_Introducao_JavaScript.pdf
04_Introducao_JavaScript.pdf
 
Domain Driven Design (DDD) - DevIsland, BH
Domain Driven Design (DDD) - DevIsland, BHDomain Driven Design (DDD) - DevIsland, BH
Domain Driven Design (DDD) - DevIsland, BH
 
Behaviour-Driven Development com Ruby
Behaviour-Driven Development com RubyBehaviour-Driven Development com Ruby
Behaviour-Driven Development com Ruby
 
Palestra Desenvolvimento Ágil para Web com ROR UVA
Palestra Desenvolvimento Ágil para Web com ROR UVAPalestra Desenvolvimento Ágil para Web com ROR UVA
Palestra Desenvolvimento Ágil para Web com ROR UVA
 
C#4 - Parte 1 - Dinamismo E Argumentos opcionais e nomeados
C#4 - Parte 1 - Dinamismo E Argumentos opcionais e nomeadosC#4 - Parte 1 - Dinamismo E Argumentos opcionais e nomeados
C#4 - Parte 1 - Dinamismo E Argumentos opcionais e nomeados
 
C# 4.0
C# 4.0C# 4.0
C# 4.0
 
Praticando o Desapego: quando ignorar a dívida técnica
Praticando o Desapego: quando ignorar a dívida técnicaPraticando o Desapego: quando ignorar a dívida técnica
Praticando o Desapego: quando ignorar a dívida técnica
 
Repensando padrões e boas práticas java ee
Repensando padrões e boas práticas java eeRepensando padrões e boas práticas java ee
Repensando padrões e boas práticas java ee
 
Ruby On Rails Regis
Ruby On Rails RegisRuby On Rails Regis
Ruby On Rails Regis
 

Mais de Vitor Silva

Forum Onde Vais Cidade - Habitação No Porto
Forum Onde Vais Cidade - Habitação No PortoForum Onde Vais Cidade - Habitação No Porto
Forum Onde Vais Cidade - Habitação No PortoVitor Silva
 
Desenvolvimento em .Net - Acesso a Dados
Desenvolvimento em .Net - Acesso a DadosDesenvolvimento em .Net - Acesso a Dados
Desenvolvimento em .Net - Acesso a DadosVitor Silva
 
Desenvolvimento em .Net - Deployment
Desenvolvimento em .Net - DeploymentDesenvolvimento em .Net - Deployment
Desenvolvimento em .Net - DeploymentVitor Silva
 
Desenvolvimento em .Net - nHibernate
Desenvolvimento em .Net - nHibernateDesenvolvimento em .Net - nHibernate
Desenvolvimento em .Net - nHibernateVitor Silva
 
Desenvolvimento em .Net - Dados vs Objectos
Desenvolvimento em .Net - Dados vs ObjectosDesenvolvimento em .Net - Dados vs Objectos
Desenvolvimento em .Net - Dados vs ObjectosVitor Silva
 
Desenvolvimento em .Net - Reflection
Desenvolvimento em .Net - ReflectionDesenvolvimento em .Net - Reflection
Desenvolvimento em .Net - ReflectionVitor Silva
 
Desenvolvimento em .Net - Databinding
Desenvolvimento em .Net - DatabindingDesenvolvimento em .Net - Databinding
Desenvolvimento em .Net - DatabindingVitor Silva
 
Desenvolvimento em .Net - Eventos
Desenvolvimento em .Net - EventosDesenvolvimento em .Net - Eventos
Desenvolvimento em .Net - EventosVitor Silva
 
Desenvolvimento em .Net - Excepções
Desenvolvimento em .Net - ExcepçõesDesenvolvimento em .Net - Excepções
Desenvolvimento em .Net - ExcepçõesVitor Silva
 
Desenvolvimento em .Net - User Interface
Desenvolvimento em .Net - User InterfaceDesenvolvimento em .Net - User Interface
Desenvolvimento em .Net - User InterfaceVitor Silva
 
Desenvolvimento em .Net - Programaçao Orientada a Objectos
Desenvolvimento em .Net - Programaçao Orientada a ObjectosDesenvolvimento em .Net - Programaçao Orientada a Objectos
Desenvolvimento em .Net - Programaçao Orientada a ObjectosVitor Silva
 
Desenvolvimento em .Net - Herança e Interfaces
Desenvolvimento em .Net - Herança e InterfacesDesenvolvimento em .Net - Herança e Interfaces
Desenvolvimento em .Net - Herança e InterfacesVitor Silva
 
Desenvolvimento em .Net - A Framework e o Visual Studio
Desenvolvimento em .Net - A Framework e o Visual StudioDesenvolvimento em .Net - A Framework e o Visual Studio
Desenvolvimento em .Net - A Framework e o Visual StudioVitor Silva
 

Mais de Vitor Silva (14)

Cidadania20
Cidadania20Cidadania20
Cidadania20
 
Forum Onde Vais Cidade - Habitação No Porto
Forum Onde Vais Cidade - Habitação No PortoForum Onde Vais Cidade - Habitação No Porto
Forum Onde Vais Cidade - Habitação No Porto
 
Desenvolvimento em .Net - Acesso a Dados
Desenvolvimento em .Net - Acesso a DadosDesenvolvimento em .Net - Acesso a Dados
Desenvolvimento em .Net - Acesso a Dados
 
Desenvolvimento em .Net - Deployment
Desenvolvimento em .Net - DeploymentDesenvolvimento em .Net - Deployment
Desenvolvimento em .Net - Deployment
 
Desenvolvimento em .Net - nHibernate
Desenvolvimento em .Net - nHibernateDesenvolvimento em .Net - nHibernate
Desenvolvimento em .Net - nHibernate
 
Desenvolvimento em .Net - Dados vs Objectos
Desenvolvimento em .Net - Dados vs ObjectosDesenvolvimento em .Net - Dados vs Objectos
Desenvolvimento em .Net - Dados vs Objectos
 
Desenvolvimento em .Net - Reflection
Desenvolvimento em .Net - ReflectionDesenvolvimento em .Net - Reflection
Desenvolvimento em .Net - Reflection
 
Desenvolvimento em .Net - Databinding
Desenvolvimento em .Net - DatabindingDesenvolvimento em .Net - Databinding
Desenvolvimento em .Net - Databinding
 
Desenvolvimento em .Net - Eventos
Desenvolvimento em .Net - EventosDesenvolvimento em .Net - Eventos
Desenvolvimento em .Net - Eventos
 
Desenvolvimento em .Net - Excepções
Desenvolvimento em .Net - ExcepçõesDesenvolvimento em .Net - Excepções
Desenvolvimento em .Net - Excepções
 
Desenvolvimento em .Net - User Interface
Desenvolvimento em .Net - User InterfaceDesenvolvimento em .Net - User Interface
Desenvolvimento em .Net - User Interface
 
Desenvolvimento em .Net - Programaçao Orientada a Objectos
Desenvolvimento em .Net - Programaçao Orientada a ObjectosDesenvolvimento em .Net - Programaçao Orientada a Objectos
Desenvolvimento em .Net - Programaçao Orientada a Objectos
 
Desenvolvimento em .Net - Herança e Interfaces
Desenvolvimento em .Net - Herança e InterfacesDesenvolvimento em .Net - Herança e Interfaces
Desenvolvimento em .Net - Herança e Interfaces
 
Desenvolvimento em .Net - A Framework e o Visual Studio
Desenvolvimento em .Net - A Framework e o Visual StudioDesenvolvimento em .Net - A Framework e o Visual Studio
Desenvolvimento em .Net - A Framework e o Visual Studio
 

Desenvolvimento em .Net - Estruturas Basicas

  • 1. Desenvolvimento em .Net Conceitos Essenciais
  • 2. Objectivos Tipos de Dados ● Comparação Progress vs .Net – Dimensionar Variáveis ● Âmbito (scope) das variáveis ● Conversões entre Tipos de Dados ●
  • 3. Objectivos Estruturas Condicionais ● Estruturas de Ciclo ● Procedimentos e Funções ● Operadores e Funções Matemáticas ● Familiarização com o VStudio ●
  • 4. Tipos de Dados (Progress vs .Net) Progress .Net Char Char, String Date Date Decimal Decimal Integer Integer Logical Boolean
  • 5. Tipos de Dados VB6 .NET Framework VB.Net C# signed bytes valores Boolean System.Boolean Boolean bool 1 true / false Byte System.Byte Byte byte sim 1 0 / 255 Integer System.Int16 Short short sim 2 -32768 / 32767 Long System.Int32 Integer int sim 4 -2147483648 / 2147483647 --- System.Int64 Long long sim 8 -9223372036854775808 / 9223372036854775807 Single System.Single Single float sim 4 precisão até 7 digitos Double System.Double Double double sim 8 precisão até 15 digitos --- System.Decimal Decimal decimal sim 12 precisão até 28 digitos
  • 6. Declarar Variáveis Indicar tipo de dados de uma variável – Declarar SEMPRE o tipo das variáveis – Definir Option explicit On ● Project / Properties / Common Properties / Build – Tools / Options / Projects / VB Defaults – Evitamos ● gralhs gralhas – Beneficiamos ● intellisense – verificação no compilador – performance –
  • 7. Instanciar Variáveis instanciar = criar um objecto concreto a partir de – um molde (classe) Diferença entre Tipo de Dados e Objecto – dim i as integer 'valor inicial = 0 ● dim x as TextBox ' valor inicial = nothing ● x = New TextBox – Keyword – Is => comparações entre objectos – object1 is object2 ● object1 = object2 ● Keyword – Nothing – object1 is nothing ●
  • 8. Âmbito (scope) das variáveis Bloco / Procedimento / Módulo –
  • 9. Exercicio 1 Criar Projecto ● Visual Studio nome projecto – 0201_variaveis ● testar âmbito das – variáveis
  • 10. Exercicio 2 Criar novo ● módulo declarar vs – instanciar
  • 11. Conversões entre Tipos de Dados Cancelar SEMPRE conversão implicita de dados – Definir Option Strict On ● Project / Properties / Common Properties / Build – Tools / Options / Projects / VB Defaults – Option Strict Off = Option Slow On ● ...He also calls this Option Beneficiamos Slow, referring to the slow, ● expensive IL that must be intellisense – emitted behind the scenes for this magical type verificação no compilador – conversion scheme to performance – work-- the source of endless quot;VB.NET is slower than C#quot; benchmarks.
  • 12. Implicações Temos que conhecer as funções de conversão de – dados .toString() ● Convert.To... ● Cint(), Cdbl(), ... ● Ctype(expressão, tipo de dados) => funciona desde que ● haja uma conversão válida. DirectCast(expressão, tipo de dados) => só funciona se o ● tipo de dados da expressão for igual ao tipo de dados especificado
  • 13. Exercicio 3 Criar novo módulo ● conversões de tipos – de dados
  • 14. Constantes Constante => variável com valor imutável – Beneficios Performance ● Legibilidade ● “Avoid using magic numbers and string literals in your code” –
  • 18. Procedimentos e Funções Objectivos ● componentizar – dividir para conquistar – loosely coupled – independencia entre módulos. ● um módulo não precisa de saber os detalhes de ● implementação do outro
  • 20. Procedimentos e Funções Reduzir ao máximo / eliminar o acesso a variáveis – que não tenham sido declaradas no procedimento ou função passar sempre essas variaveis como parâmetro ●
  • 21. Procedimentos e Funções ByVal / ByRef – By Value (ByVal) ● copia o valor da variável – By Reference (ByRef) ● copia a variável – ● menos performante ● causa alteração na variavel do módulo que chamou a função Enviar sempre valores ByVal ●
  • 22. Exercicio 4 Criar Projecto Visual ● Studio nome projecto – 0202_procedimentos ● testar passagem de – parâmetros
  • 23. Operadores Aritméticos Adição + + Subtração - - Multiplicação * * Divisão / / Exponencial ^ Exp Resto da Divisão Inteira mod Modulo Lógicos E And And Negação Not Not Ou Or Or Ou Exclusivo Xor --- E Também AndAlso --- Ou Então OrElse --- Funções Valor Absoluto Math.Abs Abs Arrendondamento Math.Round Round
  • 24. Visual Studio Solução vs Projecto ● 1 solução > 1 projecto – pode ter projectos em linguagens / plataformas ● diferentes (windows/web; vb.net/c#) Opção Set as Startup Project – Opção Startup Object – Opção Project Dependencies – Opção Find and Replace –
  • 25. Objectivos Tipos de Dados ● Comparação Progress vs .Net – Dimensionar Variáveis ● Âmbito (scope) das variáveis ● Conversões entre Tipos de Dados ●
  • 26. Objectivos Estruturas Condicionais ● Estruturas de Ciclo ● Procedimentos e Funções ● Operadores e Funções Matemáticas ● Familiarização com o VStudio ●