Top Banner
Clase II Clase II [nombre instructor] [nombre instructor] [fecha] [fecha]
50
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Clase ii

Clase IIClase II•[nombre instructor][nombre instructor]

•[fecha][fecha]

Page 2: Clase ii

AgendaAgenda

IDE Visual Studio 2005IDE Visual Studio 2005 Administrando Proyectos y SolucionesAdministrando Proyectos y Soluciones HerramientasHerramientas Creación de la primera aplicaciónCreación de la primera aplicación

Sintaxis de los lenguajesSintaxis de los lenguajes Lógica de programaciónLógica de programación Elección del lenguajeElección del lenguaje Variables y tipos de datosVariables y tipos de datos Estructuras lógicasEstructuras lógicas

Page 3: Clase ii

AgendaAgenda

IDE Visual Studio 2005IDE Visual Studio 2005 Administrando Proyectos y Administrando Proyectos y

SolucionesSoluciones HerramientasHerramientas Creación de la primera aplicaciónCreación de la primera aplicación

Sintaxis de los lenguajesSintaxis de los lenguajes Lógica de programaciónLógica de programación Elección del lenguajeElección del lenguaje Variables y tipos de datosVariables y tipos de datos Estructuras lógicasEstructuras lógicas

Page 4: Clase ii

Visual Studio .NET Visual Studio .NET

VS.NET simplifica el desarrollo de VS.NET simplifica el desarrollo de aplicaciones basadas en .NET aplicaciones basadas en .NET proporcionando un entorno de desarrollo proporcionando un entorno de desarrollo simple y unificadosimple y unificado

CaracterísticasCaracterísticas Un solo IDE (Integrated Development Un solo IDE (Integrated Development

Environment)Environment) Soporte para varios lenguajes .NET (VB.NET, Soporte para varios lenguajes .NET (VB.NET,

C#,...)C#,...) Desarrollo de múltiples tipos de proyectosDesarrollo de múltiples tipos de proyectos Explorador Web integrado (basado en IE)Explorador Web integrado (basado en IE) Interfase personalizableInterfase personalizable Posee varias utilidades adicionales: Acceso a Posee varias utilidades adicionales: Acceso a

datos SQL Server, Depurador, Intellisense, datos SQL Server, Depurador, Intellisense, Emuladores para móviles, etc.Emuladores para móviles, etc.

Vis

ua

l Stu

dio

IDE

Vis

ua

l Stu

dio

IDE

Page 5: Clase ii

Proyectos en Visual Studio .NETProyectos en Visual Studio .NET Los proyectos son contenedores que se Los proyectos son contenedores que se

ubican en una solución, para facilitar la ubican en una solución, para facilitar la administración, compilación y almacenado de administración, compilación y almacenado de los ítemslos ítems

Plantillas de ProyectosPlantillas de Proyectos Permiten la generación automática de módulos Permiten la generación automática de módulos

que serán administrados fácilmente, de manera tal que serán administrados fácilmente, de manera tal que el desarrollador solo tenga que ocuparse de la que el desarrollador solo tenga que ocuparse de la funcionalidad específica.funcionalidad específica.

Archivos de definición de proyectosArchivos de definición de proyectos Contienen metadata del proyectoContienen metadata del proyecto

Ubicación física de los ítemsUbicación física de los ítems Forma de compilaciónForma de compilación Archivos asociadosArchivos asociados

Vis

ua

l Stu

dio

IDE

Vis

ua

l Stu

dio

IDE

Page 6: Clase ii

Soluciones en Visual Studio .NETSoluciones en Visual Studio .NET

Archivos o ítems relacionados se Archivos o ítems relacionados se agrupan, a nivel lógico, en un proyectoagrupan, a nivel lógico, en un proyecto

Una solución puede contener varios Una solución puede contener varios proyectos. proyectos. Se pueden abrir, cerrar y guardar todos al Se pueden abrir, cerrar y guardar todos al

mismo tiempo.mismo tiempo.

La relación lógica entre solución y La relación lógica entre solución y proyectos no refleja necesariamente proyectos no refleja necesariamente una relación física.una relación física.

Vis

ua

l Stu

dio

IDE

Vis

ua

l Stu

dio

IDE

Page 7: Clase ii

Visual Studio .NET IDEVisual Studio .NET IDEV

isu

al S

tud

io ID

EV

isu

al S

tud

io ID

E

Page 8: Clase ii

Plantilla de ProyectosPlantilla de ProyectosV

isu

al S

tud

io ID

EV

isu

al S

tud

io ID

E

Page 9: Clase ii

Solution ExplorerSolution Explorer

Muestra los archivos Muestra los archivos de/los proyectos de la de/los proyectos de la soluciónsolución

Permite eliminar y Permite eliminar y mover los archivos del mover los archivos del proyectoproyecto

Permite agregar nuevos Permite agregar nuevos elementos al proyectoelementos al proyecto

Establecer referencias Establecer referencias a asemblies y servicios a asemblies y servicios webweb

Crear carpetasCrear carpetas Etc.Etc.

Vis

ua

l Stu

dio

IDE

Vis

ua

l Stu

dio

IDE

Page 10: Clase ii

Server ExplorerServer Explorer

Permite crear y Permite crear y manipular manipular conexiones a bases conexiones a bases de datosde datos

Conectarse a Conectarse a servers y explorar servers y explorar su contenidosu contenido

Vis

ua

l Stu

dio

IDE

Vis

ua

l Stu

dio

IDE

Page 11: Clase ii

ToolBoxToolBox

Muestra ítems para Muestra ítems para utilizar en los distintos utilizar en los distintos proyectos de Visual proyectos de Visual StudioStudio

Los ítems cambian Los ítems cambian dependiendo del dependiendo del proyectoproyecto Componentes .NETComponentes .NET Componentes COMComponentes COM Objetos HTMLObjetos HTML Fragmentos de CódigoFragmentos de Código

Vis

ua

l Stu

dio

IDE

Vis

ua

l Stu

dio

IDE

Page 12: Clase ii

Creando la primera aplicación de Creando la primera aplicación de consola con Visual Studio 2005 IDEconsola con Visual Studio 2005 IDE El template de proyecto mas simpleEl template de proyecto mas simple

Agrega elementos para crear una Agrega elementos para crear una aplicación en modo textoaplicación en modo texto

Típicamente son las aplicaciones que se Típicamente son las aplicaciones que se diseñan sin interfaz de usuario gráfica y diseñan sin interfaz de usuario gráfica y se compilan en un único ejecutablese compilan en un único ejecutable

Se ejecutan desde la línea de comandoSe ejecutan desde la línea de comando Buena herramienta para el estudio de Buena herramienta para el estudio de

nuevas técnicas de desarrollo de nuevas técnicas de desarrollo de aplicaciones, sin preocuparse por la UIaplicaciones, sin preocuparse por la UI

Vis

ua

l Stu

dio

IDE

Vis

ua

l Stu

dio

IDE

Page 13: Clase ii

DemoDemo•Primera Aplicación Modo ConsolaPrimera Aplicación Modo Consola

Vis

ua

l Stu

dio

IDE

Vis

ua

l Stu

dio

IDE

Page 14: Clase ii

ResumenResumen

Herramienta de desarrolloHerramienta de desarrollo Proyectos y SolucionesProyectos y Soluciones Creación de aplicación en modo Creación de aplicación en modo

consolaconsola

Vis

ua

l Stu

dio

IDE

Vis

ua

l Stu

dio

IDE

Page 15: Clase ii

AgendaAgenda

IDE Visual Studio 2005IDE Visual Studio 2005 Administrando Proyectos y SolucionesAdministrando Proyectos y Soluciones HerramientasHerramientas Creación de la primera aplicaciónCreación de la primera aplicación

Sintaxis de los lenguajesSintaxis de los lenguajes Lógica de programaciónLógica de programación Elección del lenguajeElección del lenguaje Variables y tipos de datosVariables y tipos de datos Estructuras lógicasEstructuras lógicas

Page 16: Clase ii

Lógica de ProgramaciónLógica de Programación

ProcesoProceso

EntradaEntrada

SalidaSalida

Prueba ok?Prueba ok?

EntradaEntrada

SalidaSalida

SiSi

NoNo

Sin

taxi

sS

inta

xis

Page 17: Clase ii

Lógica de ProgramaciónLógica de Programación

Base de DatosBase de Datos

ProcesoProceso

EntradaEntrada

SalidaSalida

Biblioteca deBiblioteca declasesclases

Servicio WebServicio Web

Sin

taxi

sS

inta

xis

Page 18: Clase ii

Visual Basic .NET y C#Visual Basic .NET y C#

HerenciaHerencia SobrecargaSobrecarga ConstructoresConstructores Administración Administración

estructurada de estructurada de excepcionesexcepciones

Comprobación de Comprobación de TiposTipos

Miembros SharedMiembros Shared

Re-escrito desde cero para trabajar bajo .NET. Ahora totalmente OO. Mejoras s/VB6:

VB .NETVB .NET Visual C#Visual C#

Sintaxis similar a C++, Sintaxis similar a C++, JJ

Tipos segurosTipos seguros Case-sensitiveCase-sensitive Atributos accedidos Atributos accedidos

por un puntopor un punto Todo es tratado como Todo es tratado como

objetosobjetos

Fue un lenguaje creado especialmente para .NET. Totalmente OO.

Sin

taxi

sS

inta

xis

Page 19: Clase ii

Elección del lenguajeElección del lenguaje

.NET.NET utiliza UN solo runtime (el utiliza UN solo runtime (el CLRCLR) y TODO ) y TODO

lenguaje para .NET compila a lenguaje para .NET compila a MSILMSIL

Prácticamente no hay diferencias de Prácticamente no hay diferencias de

performance entre VB.NET y C#.performance entre VB.NET y C#.

Cual lenguaje usar, en gral. dependerá de su Cual lenguaje usar, en gral. dependerá de su

experiencia previa con otros lenguajes o experiencia previa con otros lenguajes o

decisión personal.decisión personal.

Si conoce Java, C++, etc. >> C#Si conoce Java, C++, etc. >> C#

Si conoce VB o VBScript >> VB.NETSi conoce VB o VBScript >> VB.NET

Sin

taxi

sS

inta

xis

Page 20: Clase ii

VariablesVariables ¿Qué es una variable?¿Qué es una variable? ¿En qué situación se usa una variable?¿En qué situación se usa una variable? Variables en .NETVariables en .NET

Declaradas en cualquier lugar del lugar del Declaradas en cualquier lugar del lugar del códigocódigo

Todas deben tener un tipoTodas deben tener un tipo El contenido de la variable tiene que estar El contenido de la variable tiene que estar

de acuerdo con su definiciónde acuerdo con su definición

Sin

taxi

sS

inta

xis

Page 21: Clase ii

Variables - DeclaraciónVariables - Declaración

C#:C#: el tipo de variable precede al identificador el tipo de variable precede al identificador

VB.NET:VB.NET: comienza con Dim o algun modificador comienza con Dim o algun modificador de acceso (Public, Private, etc.) + identificador de acceso (Public, Private, etc.) + identificador de la variable + As Tipo de Variablede la variable + As Tipo de Variable

int x;decimal y;rectangle z;Cliente cli;

Dim x As Integer ‘Dim es = a Private por defectoDim y As DecimalDim z As RectangleDim cli As Cliente

Sin

taxi

sS

inta

xis

Page 22: Clase ii

Variables - InicializaciónVariables - Inicialización

C#: toda variable debe ser inicializada C#: toda variable debe ser inicializada EXPLICITAMENTE antes de ser usadaEXPLICITAMENTE antes de ser usada

VB.NET: inicializa automáticamente las VB.NET: inicializa automáticamente las variables en CERO o en Nothingvariables en CERO o en Nothing

int tempBalance; //variable local//ERROR: tempBalance NO ha sido inicializadaSystem.Console.WriteLine(tempBalance);

Dim tempBalance As Integer'SIN ERROR: tempBalance vale CEROSystem.Console.WriteLine(tempBalance)

Sin

taxi

sS

inta

xis

Page 23: Clase ii

Variables - NomenclaturasVariables - Nomenclaturas ¿Cómo declarar una variable?¿Cómo declarar una variable? Nomenclaturas y convencionesNomenclaturas y convenciones

Notación HúngaraNotación Húngara

Sin

taxi

sS

inta

xis

Page 24: Clase ii

Variables - TiposVariables - Tipos

Tipos de variablesTipos de variables

Sin

taxi

sS

inta

xis

Page 25: Clase ii

Variables - TiposVariables - Tipos

Tipos de variablesTipos de variables

Sin

taxi

sS

inta

xis

Page 26: Clase ii

Variables – AlcanceVariables – Alcance Tiempo de vida de una variableTiempo de vida de una variable

string fuera = “Declarada fuera”string temp = “”If ( mostrarValores ){

string dentro = “Mostrada Dentro”temp = dentro

}else{

temp = fuera}

Sin

taxi

sS

inta

xis

Page 27: Clase ii

Case SensitiveCase Sensitive

C# es case-sensitivityC# es case-sensitivity

VB.NET no es case-sensitivityVB.NET no es case-sensitivity

system.console.writeline(“HOLA”); INCORRECTO

System.Console.WriteLine(“HOLA”); CORRECTO

system.console.writeline(“HOLA”) CORRECTO

System.Console.WriteLine(“HOLA”) CORRECTO

Sin

taxi

sS

inta

xis

Page 28: Clase ii

Terminaciones de líneaTerminaciones de línea

C# la línea finaliza con un ;C# la línea finaliza con un ;

VB.NET la línea finaliza con un CRLFVB.NET la línea finaliza con un CRLF

//Una linea con mas de un renglonstring sName = sFirstName + sLastName; //El punto y coma indica FINAL de linea

'Una linea con mas de un renglonDim sName As String = sFirstName & _ sLastName

Sin

taxi

sS

inta

xis

Page 29: Clase ii

ComentariosComentarios

C# soporta dos tipos de comentariosC# soporta dos tipos de comentarios

VB.NET solo soporta comentarios de VB.NET solo soporta comentarios de una lineauna linea

// Comentario de una sola lineastring sName = “Juan”; /* Comentario con mas de un renglon */

'Comentario simpleDim sName As String = “Juan”

Sin

taxi

sS

inta

xis

Page 30: Clase ii

LaboratorioLaboratorio•Primera aplicación de consolaPrimera aplicación de consola

Page 31: Clase ii

Estructuras de Decisión - IFEstructuras de Decisión - IF

IF - VB.NETIF - VB.NET

If condición ThenIf condición Then

statementsstatements

ElseIf condición ThenElseIf condición Then

elseif statementselseif statements

Else Else

else statementselse statements

End IfEnd If

IF - C#IF - C#

if if ((condicióncondición))

statementsstatements

else if else if ((condicióncondición))

statementsstatements

elseelse

statementsstatements

Sin

taxi

sS

inta

xis

Page 32: Clase ii

Operadores LogicosOperadores LogicosC#C# VB.NETVB.NET OperadorOperador

&&&& AndAnd Operador logico YOperador logico Y

llll OrOr Operador logico OOperador logico O

!! NotNot Negacion logicaNegacion logica

==== == IgualIgual

!=!= <><> DistintoDistinto

En En C#C# todas las evaluaciones se hacen por todas las evaluaciones se hacen por ““cortocircuitocortocircuito””

//Si Hacer1() es True, entonces //Si Hacer1() es False, entonces//NO se evalua Hacer2() //NO se evalua Hacer2()if (Hacer1() || Hacer2()) if (Hacer1() && Hacer2()){ {} }

En VB.NET se debe utilizar los operadores AndAlso y En VB.NET se debe utilizar los operadores AndAlso y OrElseOrElse

‘Si Hacer1() es True, entonces ‘Si Hacer1() es False, entonces‘NO se evalua Hacer2() ‘NO se evalua Hacer2()If Hacer1() OrElse Hacer2() Then If Hacer1() AndAlso Hacer2() Then ... ...End If End IfS

inta

xis

Sin

taxi

s

Page 33: Clase ii

If Else – Ejemplo IIf Else – Ejemplo I

if (x > 10) if (x < 10) if (x < 10) if (x < 10) HacerAlgo(); { { { Hacer1(); Hacer1(); Hacer1(); Hacer2(); } } } else else if (x > 20) { { Hacer2(); Hacer2(); } } else { Hacer3(); }

C#: sentencia if con varios formatosC#: sentencia if con varios formatos

VB.NET: la sentencia If requiere de la VB.NET: la sentencia If requiere de la palabra Thenpalabra Then

If x > 10 Then Hacer() If x < 10 Then If x < 10 Then If x < 10 Then Hacer1() Hacer1() Hacer1() Hacer2() Else ElseIf x > 20 Then End If Hacer2() Hacer2() End If Else Hacer3() End If

Sin

taxi

sS

inta

xis

Page 34: Clase ii

If Else – Ejemplo IIIf Else – Ejemplo II

if (nombre ==“Juan”) if (nombre != “Carlos”) if ( nombre==“Juan” || HacerAlgo(); { nombre==“Carlos) Hacer1(); { Hacer2(); Hacer1(); } }

C#: condiciones con stringsC#: condiciones con strings

VB.NET: condiciones con strings. VB.NET: condiciones con strings.

If nombre = “Carlos” Then If nombre <> “Carlos” Or nombre <> “Juan” Then Hacer() Hacer1()

Hacer2() End If

Sin

taxi

sS

inta

xis

Page 35: Clase ii

LaboratorioLaboratorio•Estructura de decisiónEstructura de decisión

Page 36: Clase ii

Estructuras de decisión - CaseEstructuras de decisión - Case

Select Case – VB.NETSelect Case – VB.NET

Select Case expresion-a-Select Case expresion-a-evaluar evaluar

Case valor Case valor

statements statements

Case Else Case Else

else statementselse statements

End SelectEnd Select

switch – C#switch – C#

switch (expresion-a-switch (expresion-a-evaluar) { evaluar) {

case valor: case valor:

statementsstatements

break;break;

default:default:

statements statements

break; } break; }

Sin

taxi

sS

inta

xis

Page 37: Clase ii

Select Case – VB.NETSelect Case – VB.NET

Dim Pais As String = valorDim Deporte As StringSelect Case Pais

Case “Brasil” Or “Argentina”Deporte = “Futbol”

Case “USA”Deporte = “Basquet”

Case ElseDeporte = “Tenis”

End Select

Dim DiaSemana As Integer = DateTime.Now.DayOfWeekDim Dia As StringSelect Case DiaSemana

Case 0,6Dia = “Fin de Semana”

Case 1,2,3,4,5Dia = “Entre Semana”

End Select

Sin

taxi

sS

inta

xis

Page 38: Clase ii

switch – C#switch – C#

string Pais = valor;string Deporte = “”; swktch (Pais)

case “Brasil”: Deporte = “Futbol”;break;case “USA”: Deporte = “Basquet”;default: Deporte = “Tenis”break;

int opcion = valor;string Deporte = “”; swktch (opcion)

case 1: Deporte = “Futbol”;break;case 2: Deporte = “Basquet”;default: Deporte = “Tenis”break;

Sin

taxi

sS

inta

xis

Page 39: Clase ii

LaboratorioLaboratorio•Estructura de decisión IIEstructura de decisión II

Page 40: Clase ii

ArreglosArreglos C# utiliza corchetes [ ] para definición C# utiliza corchetes [ ] para definición

de arraysde arrays

VB.NET permite definir arrays de VB.NET permite definir arrays de varias formas con ()varias formas con ()

string[] telefonos; //Definicion de un Arreglo de stringstelefonos = new string[3]; //De 3 elementostelefonos[0] = “1245”; //Seteo del 1er elemento del arreglo

//Definicion y asignacion de una veztelefonos = new string[] {“1”,“2”,“3”};

Dim telefonos As String() ó Dim telefonos() As StringDim telefonos(3) As String ‘Crea un array de 4 elementos telefonos(0) = “1245” ‘Seteo del 1er elemento del arreglo

‘Definicion y asignacion de una vezDim telefonos() As String = {“1”,“2”,“3”}

Sin

taxi

sS

inta

xis

Page 41: Clase ii

Estructuras de iteración – ForEstructuras de iteración – For C#: la sentencia for consta de tres C#: la sentencia for consta de tres

partespartes

VB.NET usa las palabras claves For, VB.NET usa las palabras claves For, To, Next y StepTo, Next y Step

//Partes: declaración, prueba, acciónfor (int i=1; i < 10; i++){}

Dim i As Integer For i = 1 To 100 For i = 1 To 100 Step 2 ‘i se incrementa en 1 ‘i se incrementa en 2Next Next

Sin

taxi

sS

inta

xis

Page 42: Clase ii

For Next – VB.NETFor Next – VB.NET

ForFor contadorcontador == inicioinicio ToTo finfin [ [Step Step incrementoincremento]]

statementsstatements

Exit ForExit For

NextNext

Dim item As IntegerFor item = 1 To 20

Console.WriteLine(item)Next

For item As Integer = 20 To 1 Step -1Console.WriteLine(item)

Next

Sin

taxi

sS

inta

xis

Page 43: Clase ii

For – C#For – C#

for (contador; expresion; incremento)for (contador; expresion; incremento)

{{

statements statements

}}

for (int item = 1; i<=10; i++) Console.WriteLine(i);

for (int item = 1; i<=10; i++){

Console.WriteLine(i);}

Sin

taxi

sS

inta

xis

Page 44: Clase ii

LaboratorioLaboratorio•Estructura de IteraciónEstructura de Iteración

Page 45: Clase ii

Estructuras de Iteración – for / eachEstructuras de Iteración – for / each

C#: usa la palabra foreachC#: usa la palabra foreach

VB.NET usa las palabra ForEachVB.NET usa las palabra ForEach

string[] nombres = new string[5];foreach(string auxNombre in nombres){ //auxNombre es de SOLO LECTURA}

Dim nombres(5) As StringDim auxNombre As StringFor Each auxNombre In nombres ‘auxNombre NO es de SOLO LECTURA Next

For/Each permite recorrer arreglos y For/Each permite recorrer arreglos y coleccionescolecciones

Sin

taxi

sS

inta

xis

Page 46: Clase ii

For Each – VB.NETFor Each – VB.NET

For Each elemento In grupoFor Each elemento In grupo

statements statements

Exit For Exit For

NextNext

Dim multDos As Integer = 0Dim noMult As Integer = 0Dim arrayData() As Integer = {1, 5, 8, 45, 25}Dim numero As IntegerFor Each numero In arrayData

If numero MOD 2 = 0 Then multDos += 1

Else noMult +=1

End IfNext

Sin

taxi

sS

inta

xis

Page 47: Clase ii

foreach – C#foreach – C#

foreach (elemento in grupo){foreach (elemento in grupo){

statements }statements }

int multDos = 0;int noMult = 0;int[] arrayData = {1, 5, 8, 45, 25};foreach (int numero In arrayData){

if (numero MOD 2 == 0) multDos += 1;

else noMult +=1;

}

Sin

taxi

sS

inta

xis

Page 48: Clase ii

Estructuras de Iteración – While Estructuras de Iteración – While

C#: usa las palabras while o do - whileC#: usa las palabras while o do - while

VB.NET while, do o loopVB.NET while, do o loop

bool condicion = true;while (condicion){ //codigo que haga que cambie la condicion}

Dim i As Integer = 0While i >= 20 ‘codigo que entre otras cosas, incrementara i End While

Sin

taxi

sS

inta

xis

Page 49: Clase ii

While - Todas las opcionesWhile - Todas las opciones

VB.NETVB.NETWhile condicion While condicion

statements statements

End While End While

Do { While | Until } condicionDo { While | Until } condicion

statementsstatements

Exit DoExit Do

Loop Loop

Do Do

statementsstatements

Exit DoExit Do

Loop { While | Until } condicionLoop { While | Until } condicion

C#C#while (expresion){ statements } while (expresion){ statements }

do{ statements } while (expresion); do{ statements } while (expresion);

Sin

taxi

sS

inta

xis

Page 50: Clase ii

ResumenResumen

Lógica de programaciónLógica de programación Elección del lenguajeElección del lenguaje VariablesVariables Estructuras de decisión e iteraciónEstructuras de decisión e iteración

Sin

taxi

sS

inta

xis