Post on 06-Jul-2015
Clase IIClase II[nombre instructor][nombre instructor]
[fecha][fecha]
AgendaAgenda
IDE Visual Studio 2005IDE Visual Studio 2005Administrando 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 lenguajesLó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
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 lenguajesLó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
Visual Studio .NET Visual Studio .NET
VS.NET simplifica el desarrollo de aplicaciones VS.NET simplifica el desarrollo de aplicaciones basadas en .NET proporcionando un entorno de basadas en .NET proporcionando un entorno de desarrollo simple y unificadodesarrollo simple y unificadoCaracterísticasCaracterísticasUn solo IDE (Integrated Development Environment)Un solo IDE (Integrated Development Environment)Soporte para varios lenguajes .NET (VB.NET, C#,...)Soporte para varios lenguajes .NET (VB.NET, C#,...)Desarrollo de múltiples tipos de proyectosDesarrollo de múltiples tipos de proyectosExplorador Web integrado (basado en IE)Explorador Web integrado (basado en IE)Interfase personalizableInterfase personalizablePosee varias utilidades adicionales: Acceso a datos SQL Posee varias utilidades adicionales: Acceso a datos SQL Server, Depurador, Intellisense, Emuladores para Server, Depurador, Intellisense, Emuladores para móviles, etc.móviles, etc.
Vis
ua
l Stu
dio
IDE
Vis
ua
l Stu
dio
IDE
Proyectos en Visual Studio .NETProyectos en Visual Studio .NET
Los proyectos son contenedores que se ubican Los proyectos son contenedores que se ubican en una solución, para facilitar la administración, en una solución, para facilitar la administración, compilación y almacenado de los ítemscompilación y almacenado de los ítems
Plantillas de ProyectosPlantillas de ProyectosPermiten la generación automática de módulos que serán Permiten la generación automática de módulos que serán administrados fácilmente, de manera tal que el administrados fácilmente, de manera tal que el desarrollador solo tenga que ocuparse de la desarrollador solo tenga que ocuparse de la funcionalidad específica.funcionalidad específica.
Archivos de definición de proyectosArchivos de definición de proyectosContienen metadata del proyectoContienen metadata del proyectoUbicació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
Soluciones en Visual Studio .NETSoluciones en Visual Studio .NET
Archivos o ítems relacionados se agrupan, Archivos o ítems relacionados se agrupan, a nivel lógico, en un proyectoa 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 mismo Se pueden abrir, cerrar y guardar todos al mismo tiempo.tiempo.
La relación lógica entre solución y La relación lógica entre solución y proyectos no refleja necesariamente una proyectos no refleja necesariamente una relación física.relación física.
Vis
ua
l Stu
dio
IDE
Vis
ua
l Stu
dio
IDE
Visual Studio .NET IDEVisual Studio .NET IDEV
isu
al S
tud
io ID
EV
isu
al S
tud
io ID
E
Plantilla de ProyectosPlantilla de ProyectosV
isu
al S
tud
io ID
EV
isu
al S
tud
io ID
E
Solution ExplorerSolution Explorer
Muestra los archivos de/los Muestra los archivos de/los proyectos de la soluciónproyectos de la solución
Permite eliminar y mover Permite eliminar y mover los archivos del proyectolos archivos del proyecto
Permite agregar nuevos Permite agregar nuevos elementos al proyectoelementos al proyecto
Establecer referencias a Establecer referencias a asemblies y servicios webasemblies y servicios web
Crear carpetasCrear carpetas
Etc.Etc.
Vis
ua
l Stu
dio
IDE
Vis
ua
l Stu
dio
IDE
Server ExplorerServer Explorer
Permite crear y Permite crear y manipular conexiones a manipular conexiones a bases de datosbases de datos
Conectarse a servers y Conectarse a servers y explorar su contenidoexplorar su contenido
Vis
ua
l Stu
dio
IDE
Vis
ua
l Stu
dio
IDE
ToolBoxToolBox
Muestra ítems para utilizar Muestra ítems para utilizar en los distintos proyectos en los distintos proyectos de Visual Studiode Visual Studio
Los ítems cambian Los ítems cambian dependiendo del proyectodependiendo del proyectoComponentes .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
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 simpleAgrega elementos para crear una aplicación en Agrega elementos para crear una aplicación en modo textomodo texto
Típicamente son las aplicaciones que se Típicamente son las aplicaciones que se diseñan sin interfaz de usuario gráfica y se diseñan sin interfaz de usuario gráfica y se compilan en un único ejecutablecompilan 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 nuevas Buena herramienta para el estudio de nuevas técnicas de desarrollo de aplicaciones, sin técnicas de desarrollo de aplicaciones, sin preocuparse por la UIpreocuparse por la UI
Vis
ua
l Stu
dio
IDE
Vis
ua
l Stu
dio
IDE
DemoDemoPrimera Aplicación Modo ConsolaPrimera Aplicación Modo Consola
Vis
ua
l Stu
dio
IDE
Vis
ua
l Stu
dio
IDE
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
AgendaAgenda
IDE Visual Studio 2005IDE Visual Studio 2005Administrando 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
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
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
Visual Basic .NET y C#Visual Basic .NET y C#
HerenciaHerenciaSobrecargaSobrecargaConstructoresConstructoresAdministración Administración estructurada de estructurada de excepcionesexcepcionesComprobación de TiposComprobación de TiposMiembros 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++, JSintaxis similar a C++, J
Tipos segurosTipos seguros
Case-sensitiveCase-sensitive
Atributos accedidos por un puntoAtributos accedidos por un punto
Todo es tratado como objetosTodo es tratado como objetos
Fue un lenguaje creado especialmente para .NET. Totalmente OO.
Sin
taxi
sS
inta
xis
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
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 .NETDeclaradas 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 de El contenido de la variable tiene que estar de acuerdo con su definiciónacuerdo con su definición
Sin
taxi
sS
inta
xis
Variables - DeclaraciónVariables - Declaración
C#:C#: el tipo de variable precede al identificador el tipo de variable precede al identificador
comienza con Dim o algun modificador de acceso (Public, Private, etc.) + identificador de la variable + As Tipo de Variable comienza con Dim o algun modificador de acceso (Public, Private, etc.) + identificador de 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
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 variables en CERO o en NothingVB.NET: inicializa automáticamente las variables 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
Variables - NomenclaturasVariables - Nomenclaturas
¿Cómo declarar una variable?¿Cómo declarar una variable?
Nomenclaturas y convencionesNomenclaturas y convencionesNotación HúngaraNotación Húngara
Sin
taxi
sS
inta
xis
Variables - TiposVariables - Tipos
Tipos de variablesTipos de variables
Sin
taxi
sS
inta
xis
Variables - TiposVariables - Tipos
Tipos de variablesTipos de variables
Sin
taxi
sS
inta
xis
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
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
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
ComentariosComentarios
C# soporta dos tipos de comentariosC# soporta dos tipos de comentarios
VB.NET solo soporta comentarios de una lineaVB.NET solo soporta comentarios de una 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
LaboratorioLaboratorioPrimera aplicación de consolaPrimera aplicación de consola
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
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
!=!= <><> DistintoDistintoEn 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 OrElseEn VB.NET se debe utilizar los operadores AndAlso y OrElse
‘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 If
Sin
taxi
sS
inta
xis
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 palabra ThenVB.NET: la sentencia If requiere de la palabra 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
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
LaboratorioLaboratorioEstructura de decisiónEstructura de decisión
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-evaluar) { switch (expresion-a-evaluar) {
case valor: case valor:
statementsstatements
break;break;
default:default:
statements statements
break; } break; }
Sin
taxi
sS
inta
xis
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
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;S
inta
xis
Sin
taxi
s
LaboratorioLaboratorioEstructura de decisión IIEstructura de decisión II
ArreglosArreglosC# utiliza corchetes [ ] para definición de C# utiliza corchetes [ ] para definición de arraysarrays
VB.NET permite definir arrays de varias formas con ()VB.NET permite definir arrays de 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”}S
inta
xis
Sin
taxi
s
Estructuras de iteración – ForEstructuras de iteración – ForC#: la sentencia for consta de tres partesC#: la sentencia for consta de tres partes
VB.NET usa las palabras claves For, To, Next y StepVB.NET usa las palabras claves For, To, 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
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)
NextSin
taxi
sS
inta
xis
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
LaboratorioLaboratorioEstructura de IteraciónEstructura de Iteración
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 coleccionesFor/Each permite recorrer arreglos y colecciones
Sin
taxi
sS
inta
xis
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
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
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
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
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