SlideShare una empresa de Scribd logo
PROGRAMACION MODULAR
FACULTAD DE INGENIERIAS
PROGRAMACION I
ING. XIOMARA SEGOVIA
• Es mas fácil resolver un problema complejo cuando se rompe
en piezas manejables.
¡Divide y Vencerás!
PROGRAMACION MODULAR
• Un módulo debe ofrecer un grupo de servicios diseñados para
que el resto del programa pueda interactuar con él.
Por ejemplo, en un procesador de texto se debe contar con
rutinas para:
• Cambiar la letra utilizada: cambiarEstilo()
• Cambiar el color: cambiarColorLetra()
• Etc.
MODULARIDAD: ACOPLAMIENTO
• Es un método de resolución de problemas que consiste en
resolver de forma independiente los sub-problemas que se
obtienen de una descomposición del problema general.
Siendo la base fundamental de este paradigma de programación
el MODULO.
Un modulo: es un conjunto de rutinas que prestan un servicio
específico.
Una rutina, sub-rutina o sub-programa: se presenta como un
algoritmo pequeño de datos separado del algoritmo principal, el
cual permite resolver una tarea especifica.
PROGRAMACION MODULAR
• Decimos que algo es modular si es construido de manera tal
que se facilite su ensamblaje, acomodación y reparación de
sus componentes.
PROGRAMACION MODULAR
• Así mismo la modularidad da
una mejor comprensión del
problema y reduce el
tamaño del código.
Generalmente se hace la
asociación de un módulo con
una caja negra, donde se sabe
que entra y que sale pero
como se procesa.
• En la programación modular se deben asegurar los siguientes
preceptos:
• Máxima cohesión
• Mínimo acoplamiento entre módulos
FUNCIONES Y PROCEDIMIENTOS
• Un módulo debe ofrecer un grupo de servicios que sin lugar a dudas
deben ir juntos, por ejemplo:
• Math.h (cabecera diseñada para operaciones matemáticas)
• Stdio.h (standard input-output header)
Por ejemplo en un procesador de texto , todos los módulos tienen
como objetivo cooperar para producir documentos con estilo y
formato definido (módulo de colores, módulo de tamaño, etc.)
Entonces la cohesión tiene que ver con que cada módulo del sistema
se refiera a un único proceso o entidad. A mayor cohesión, mejor: el
módulo en cuestión será más sencillo de diseñar, programar, probar y
mantener.
MODULARIDAD: COHESIÓN
• El acoplamiento mide el grado de relacionamiento de un
módulo con los demás.
A menor acoplamiento, mejor: el módulo en cuestión será más
sencillo de diseñar, programar, probar y mantener.
En el diseño estructurado, se logra bajo acoplamiento
reduciendo las interacciones entre procedimientos y funciones,
reduciendo la cantidad y complejidad de los parámetros y
disminuyendo al mínimo los parámetros por referencia y los
efectos colaterales.
MODULARIDAD: ACOMPLAMIENTO
VENTAJAS DE LOS MODULOS
Facilitan la escritura y depuración de un
programa
Localización rápida de errores
La modificación de un módulo no afecta a
los demás
Un grupo de instrucciones que se repite en
varias partes de un programa puede
incluirse en un módulo y llamarlo en el
programa
• Es un proceso de refinamiento por pasos, etapas o capas. Se
comienza desde lo más general hasta lo más especifico.
• En la solución de problemas grandes es conveniente dividirlos
en problemas más pequeños, los cuales a su vez pueden
dividirse en sub-problemas más pequeños.
PROGRAMACIONMODULAR
DISEÑODESCENDENTE
PROGRAMACIONMODULAR
DISEÑODESCENDENTE
Se inicia desde lo más general.
Asegurarse de las capacidades y
especificaciones del lenguaje.
Verificar cuidadosamente cada nivel
PROGRAMACIONMODULAR
DISEÑODESCENDENTE
PROGRAMACIONMODULAR
FUNCIONES
• En C los módulos se llaman funciones. (Unidad básica de los
programas).
• Una función se define una sola vez pero puede ser utilizada
tantas veces como sea necesario por medio de una llamada de
la función.
PROGRAMACIONMODULAR
Tarea I: TIPODE FUNCIONESENC
• Investigar cuales son los tipos de funciones en C, la sintaxis de
una función y ejemplos de como declara nuevas funciones.
• Elabore los módulos necesarios que involucra un procesador
de texto, y un registro de notas escolar.
Programación I
Fundamentos del Lenguaje C#
Ing. Xiomara Segovia
Facultad de Ingenierías
16
Objetivo
• Conocer los fundamentos de programación del
lenguaje C#.
Agenda
• Tipos
• Variables
• Constantes
• Operadores
• Entrada y Salida
Tipos
• C# es un lenguaje fuertemente tipificado
• Debe declararse el tipo de cada objeto que se crea
(enteros, puntos flotantes, cadenas, ventanas, botones,
etc.).
• Esta información ayuda al compilador a prevenir
defectos y a obligar que a estos objetos se asignen los
datos del tipo correcto.
• El tipo de un objeto le dice al compilador el tamaño del
objeto y sus capacidades.
• C# incluye dos conjuntos de tipos:
• Los tipos intrínsecos (o predefinidos), que el lenguaje ofrece.
• Los tipos definidos por el programador, denominados tipos definidos
por el usuario. 17
Tipos intrínsecos
Tipo Tamaño (en
bytes)
Tipo .Net Descripción
byte 1 Byte Sin signo (0 a 255).
char 2 Char Caracteres Unicode
bool 1 Boolean True o False
sbyte 1 SByte Con signo (-128 a 127)
short 2 Int16 Entero corto con signo (-
32,768 a 32,767)
ushort 2 UInt16 Entero corto sin signo (0 a
65,535)
int 4 Int32 Entero con signo
uint 4 UInt32 Entero sin signo 18
Tipos intrínsecos
Tipo Tamaño (en
bytes)
Tipo .Net Descripción
float 4 Single Número de punto flotante de
precisión sencilla.
double 8 Double Número de punto flotante de
precisión doble.
decimal 16 Decimal Precisión fija de hasta 28
dígitos y el punto decimal.
long 8 Int64 Entero largo con signo.
ulong 8 UInt64 Entero largo sin signo.
19
Tipos intrínsecos
• Cada tipo intrínseco está asociado con un tipo subyacente
soportado por el .NET CLS (Conjunto de características de
lenguaje básicas) .
• Esta asociación asegura que los objetos creados en C#
pueden ser intercambiados con objetos creados con otros
lenguajes que cumplen con .NET
20
El tipo char
• Representa un carácter Unicode.
• Las literales de tipo char pueden ser simple,
Unicode o secuencias escape, encerradas en
comillas simples.
• Literal simple: ‘A’, ‘1’, ‘-’
• Literal unicode: ‘u0041’
21
Secuencias escape más comunes
Char Significado
’ Comilla simple
” Comilla doble
 Diagonal invertida
0 Carácter nulo
a Alerta
b Backspace
f Alimentación de línea (Form Feed)
n Nueva línea (NewLine)
r Retorno de carro (Carriage return)
t Tabulación horizontal 22
Tipos
• C# también divide los tipos en:
• Tipos por valor
• Tipos por referencia
• La diferencia entre estas dos categorías es la manera
en la que sus valores son almacenados en memoria.
• Un tipo por valor almacena su valor actual en la
memoria localizada en la pila (stack) (o la localiza como
parte de un objeto de tipo de referencia más grande).
• La dirección de una variable asociada con un tipo de
referencia se ubica en la pila (stack), pero el objeto
real se almacena en el montículo (heap).
23
Tipos definidos por el programador
• C# permite al programador definir nuevos tipos declarando y
definiendo clases.
• Declaración básica de una clase.
class nombre_de_la_clase
{
…
}
24
Tipos definidos por el programador
• Una clase esencialmente se conforma de los siguientes
elementos:
• Campos de instancia
• Métodos o funciones de instancia, también conocidos como
funciones miembro.
25
Variables
• Una variable es una ubicación de almacenamiento que
tiene asociado un tipo.
• A las variables se les pueden asignar (almacenar)
valores, que pueden ser cambiados
programáticamente.
• Se declara una variable indicando el tipo asociado y el
nombre que se le da a la variable. Opcionalmente se le
puede asignar un valor inicial.
• Antes de utilizar una variables debe haber sido
inicializada en su declaración o, en caso contrario,
debió asignársele posteriormente un valor.
26
Constantes
• Una constante es una variable cuyo valor no puede ser
modificado.
• Las constantes pueden ser:
• Literales
• Constantes simbólicas
• Enumeraciones
27
Constantes literales
• Su valor se escribe literalmente en el código.
int x = 32;
El valor 32 es una constante literal, pues no puede ser
modificado.
28
Constantes simbólicas
• Las constantes simbólicas asignan un nombre a un
valor constante.
• Se declaran de manera similar a una variable
inicializada, pero poniendo como prefijo la palabra
reservada const.
• Su sintaxis es:
• const tipo identificador = valor;
• Ejemplo
• const double Pi = 3.1416;
29
Enumeraciones
• Una enumeración es un tipo de valores distintos, que
consiste de un conjunto de constantes con nombre
(denominado lista enumerador).
• Cada enumeración tiene un tipo subyacente, que
puede ser un tipo integral (entero, short, long, etc.),
con excepción de char.
30
Enumeraciones
• Suponga que quiere tener un conjunto de constantes
para las caras de una moneda. Es posible utilizar una
enumeración:
enum CarasDeMoneda {
Aguila,
Sol;
}
• El código puede ser utilizado de la siguiente manera:
CarasDeMoneda moneda = CarasDeMoneda.Aguila;
31
Enumeraciones
• Cada constante en una enumeración corresponde a un valor
numérico –en este caso un entero.
• Si no se especifica lo contrario, la enumeración siempre inicia
en 0 y cada valor subsecuente se incrementa en la unidad
con base en el valor previo.
32
Enumeraciones
• En la siguiente enumeración
enum AlgunosValores
{
Primero = 1,
Segundo,
Tercero = 10,
Cuarto;
}
• El valor Primero será 1, Segundo será 2, Tercero será
10 y Cuarto será 11.
• Las enumeraciones son tipos formales, por lo tanto se
requiere una conversión explícita para convertir entre
enumeraciones y un tipo entero.
33
Cadenas
• Un objeto cadena guarda una secuencia de caracteres.
• Una cadena literal se escribe encerrando entre comillas
una secuencia de caracteres: “Hola a todos”.
• Se declara una instancia de objeto cadena utilizando la
palabra reservada string:
String msg = “Hola a todos”;
34
Identificadores
• Son nombres que los programadores eligen para sus tipos
(clases), métodos, variables, constantes, objetos, etc.
• Microsoft sugiere una convención de nomenclatura utilizando
la notación camel (camello) para nombres de variables y
notación Pascal para nombres de métodos y la mayoría de los
identificadores.
• Notación camel: precioDeCompra
• Notación Pascal: PrecioDeCompra
• Los identificadores son sensibles a mayúsculas y minúsculas.
Así los dos identificadores anteriores son diferentes.
35
Operadores
• Un operador es un símbolo que causa que C# realice una
acción.
• Existen diversas clases de operadores:
• Asignación
• Aritméticos
• Incremento y decremento
• Relacionales
• Lógicos
36
Operador de asignación
• El operador de asignación (=) no evalúa la igualdad.
x = 5;
• Es una expresión causa que el lado derecho (5) se asigna
a lo que está del lado izquierdo, la variable x.
• Puesto que x = 5 es una expresión que evalúa a 5, por lo
que puede ser utilizado como parte de otro operador de
asignación:
y = x = 5;
37
Operadores aritméticos
38
Operación Operador Ejemplo Comentarios
Adición + sum = num1 + num2; sum = 13
Substracción - diff = num1 - num2; diff = 7
Multiplicación * prod = num1 * num2; prod = 30
División entera / quot = num1 / num2; quot = 3
La división da como resultado un
valor entero; sin residuo.
División
Modular
% mod = num1 % num2; mod = 1
Proporciona el residuo del primer
número dividido entre el segundo.
El signo del resultado es el mismo
signo del primer operando.
Sean num1 = 10 y num2 = 3.
Operadores de incremento y
decremento
39
Operador Propósito Ejemplo Notas
++ Pre-incremento
(++variable)
int i = 6;int j = ++i;
i es 7, j es 7
Post-incremento
(variable++)
int i = 6;int j = i++;
i es 7, j es 6
El valor de i se asigna a j
antes de incrementar i;
Por lo tanto se asigna 6 a
j.
-- Pre-decremento
(--variable)
int i = 6;int j = --i;
i es 5, j es 5
Post-decremento
(variable--)
int i = 6;int j = i--;
i es 5, j es 6
El valor de i se asigna a j
antes de decrementar i;
Por lo tanto se asigna 6 a
j.
Operadores de incremento y
decremento
• Se desea incrementar la variable miSalario por 5000. Se puede hacer de
la siguiente manera
miSalario = miSalario + 5000;
• Esta clase de asignación se puede realizar con los otros operadores
aritméticos:
miSalario = miSalario * 5000;
miSalario = miSalario - 5000;
• C# incluye operadores especiales para estas operaciones:
miSalario += 5000;
miSalario *= 5000;
miSalario -= 5000;
40
Operadores relacionales
• Los operadores relacionales se utilizan para comparar dos
valores y el resultado es un valor de tipo bool (true o false).
41
Operadores relacionales
42
Sean a = 3 y b = 5:
Operador Significado Ejemplo Resultado
== Igual que a == b false
!= Diferente a != b true
< Menor que a < b true
<= Menor o igual que a <= b true
> Mayor que a > b false
>= Mayor o igual que a >= b false
Operadores lógicos
43
Sean i = 2 y j = 8:
Operador Significado Ejemplo Resultado
&& AND lógico (i < 1) && (j > 6)
|| OR lógico (i < 1) || (j > 6)
! NOT lógico ! ( i < 3 )
Precedencia de operadores
• Las reglas de precedencia de operadores le dicen al
compilador que operadores evaluar primero.
• Sin embargo, es posible modificar estas reglas de precedencia,
encerrando entre paréntesis las operaciones que se evalúen
primero
44
Precedencia de operadores
Categoría Operadores
Primario (x) x.y x->y f(x) a[x] x++
Unario + - ! ++x --x (T)x *x &x
Multiplicativo * / %
Aditivo + -
Desplazamiento << >>
Relacional < > <= >= is as
Igualdad == !=
AND lógico &
XOR lógico ^
45
Precedencia de operadores
Categoría Operadores
OR lógico |
AND condicional &&
OR condicional ||
Condicional ?:
Asignación = *= /* %= += -= <<= >>= &= ^= |=
46
Entrada y salida de la Consola
estándar
• C# permite realizar operaciones de entrada y
salida de datos a través de un objeto
predefinido; Console.
• Este objeto está definido en el espacio de
nombres System.
• El objeto Console cuenta con un conjunto de
métodos para realizar operaciones de entrada y
salida de datos.
47
Salida de datos
• La manera más popular de realizar salida de datos hacia la
consola estándar del sistema de cómputo es mediante el
método System.Console.WriteLine().
• El método WriteLine() escribe una línea de texto en la
consola estándar de salida.
• System.Console.WriteLine(“Hola a todos”);
• Este método después de escribir la línea de texto coloca el
cursor en la primera columna de la siguiente línea.
48
Salida de datos
• Otro método popular para la salida de datos es
System.Console.Write().
• Write() también escribe texto en la consola de
salida estándar, pero no coloca al final un carácter
de fín de línea como lo hace WriteLine(),
dejando el cursor exactamente a la derecha del
último carácter escrito.
• System.Console.Write(“Hola a todos”);
49
Salida de datos
• Existe una variante para WriteLine() y Write(), conocida como
formato compuesto.
• En variante de formato compuesto, la cadena es conocida como
cadena de formato, pues incluye un conjunto de parámetros,
conocidos como elementos de formato, que serán sustituidos en la
operación de salida. Estos parámetros son números secuenciales,
iniciando con cero, encerrados dentro de llaves.
System.Console.WriteLine(“Mi nombre es {0} {1}”,
nombre, apellidos);
• En el ejemplo anterior el parámetro con índice 0 será sustituido por
el contenido de la variable nombre y el parámetro con índice 1 será
sustituido con la variable apellidos.
50
Salida de datos
• Los parámetros en la cadena de formato no requieren estar en
orden.
System.Console.WriteLine(“Mi nombre es {1}
{0}”, nombre, apellidos);
• El resultado de esta operación de salida será que primero
aparecerán los apellidos y después el nombre.
51
Entrada de datos
• Una de las formas de realizar entrada de datos es
mediante el método System.Console.ReadLine().
• Este método detiene la ejecución del programa para
permitir al usuario proporcionar una secuencia de
caracteres. Cuando el usuario presiona la tecla Enter,
creando una nueva línea, el programa continúa su
ejecución.
• El método ReadLine() devuelve en el programa una
cadena de caracteres.
52
Entrada de datos
• Read() y ReadLine() leen cadenas de caracteres. ¿Y si se
requiere leer un número entero?
• El método ToInt32() de la clase Convert permite convertir
una cadena de caracteres a un entero de 32 bits.
String str = Console.ReadLine();
Int n = Convert.ToInt32(str);
• La clase Convert permite la conversión entre la mayoría de
tipos de datos más utilizados.
53
DIOS LES BENDIGA
“Todo lo puedo en Cristo que me fortalece”
Filipenses 4:13

Más contenido relacionado

La actualidad más candente

Programacion
ProgramacionProgramacion
Estructura sintactica de los lenguajes de programacion y bases de datos
Estructura sintactica de los lenguajes de programacion y bases de datosEstructura sintactica de los lenguajes de programacion y bases de datos
Estructura sintactica de los lenguajes de programacion y bases de datos
spedy93
 
Introduccion Java
Introduccion JavaIntroduccion Java
Introduccion Java
svhurtado
 
Introducción
IntroducciónIntroducción
Introducción
jesus-agreda
 
3.3.- Operadores y Expresiones
3.3.- Operadores y Expresiones3.3.- Operadores y Expresiones
3.3.- Operadores y Expresiones
Yenny Salazar
 
Estructura sintactica de los lenguajes de programacion
Estructura sintactica de los lenguajes de programacionEstructura sintactica de los lenguajes de programacion
Estructura sintactica de los lenguajes de programacion
andreinagracielarojasadam
 
Identificadores, variables y constantes
Identificadores, variables y constantesIdentificadores, variables y constantes
Identificadores, variables y constantes
Carlos Pes
 
3.2.- Identificadores, Variables y Constantes
3.2.- Identificadores, Variables y Constantes3.2.- Identificadores, Variables y Constantes
3.2.- Identificadores, Variables y Constantes
Yenny Salazar
 
Presentación4 (2)
Presentación4 (2)Presentación4 (2)
Presentación4 (2)
jaky97
 
Transparencias4
Transparencias4Transparencias4
Transparencias4
karlalopezbello
 
TUTORIAL DE LENGUAJE C
TUTORIAL DE LENGUAJE CTUTORIAL DE LENGUAJE C
TUTORIAL DE LENGUAJE C
Jesus Agreda
 
TUTORIAL LENGUAJE C
TUTORIAL LENGUAJE CTUTORIAL LENGUAJE C
TUTORIAL LENGUAJE C
Jesus Agreda
 
Algoritmo y mas teoria logica
Algoritmo y mas teoria logicaAlgoritmo y mas teoria logica
Algoritmo y mas teoria logica
srblack13
 
Introducci _ã_n a c - unidad 02 - elementos del lenguaje
Introducci  _ã_n a c - unidad 02 - elementos del lenguajeIntroducci  _ã_n a c - unidad 02 - elementos del lenguaje
Introducci _ã_n a c - unidad 02 - elementos del lenguaje
Abraham Marcos Garrido
 
Diapositivas curso programación orientada a objetos en Java
Diapositivas curso programación orientada a objetos en JavaDiapositivas curso programación orientada a objetos en Java
Diapositivas curso programación orientada a objetos en Java
Jose Perez
 

La actualidad más candente (15)

Programacion
ProgramacionProgramacion
Programacion
 
Estructura sintactica de los lenguajes de programacion y bases de datos
Estructura sintactica de los lenguajes de programacion y bases de datosEstructura sintactica de los lenguajes de programacion y bases de datos
Estructura sintactica de los lenguajes de programacion y bases de datos
 
Introduccion Java
Introduccion JavaIntroduccion Java
Introduccion Java
 
Introducción
IntroducciónIntroducción
Introducción
 
3.3.- Operadores y Expresiones
3.3.- Operadores y Expresiones3.3.- Operadores y Expresiones
3.3.- Operadores y Expresiones
 
Estructura sintactica de los lenguajes de programacion
Estructura sintactica de los lenguajes de programacionEstructura sintactica de los lenguajes de programacion
Estructura sintactica de los lenguajes de programacion
 
Identificadores, variables y constantes
Identificadores, variables y constantesIdentificadores, variables y constantes
Identificadores, variables y constantes
 
3.2.- Identificadores, Variables y Constantes
3.2.- Identificadores, Variables y Constantes3.2.- Identificadores, Variables y Constantes
3.2.- Identificadores, Variables y Constantes
 
Presentación4 (2)
Presentación4 (2)Presentación4 (2)
Presentación4 (2)
 
Transparencias4
Transparencias4Transparencias4
Transparencias4
 
TUTORIAL DE LENGUAJE C
TUTORIAL DE LENGUAJE CTUTORIAL DE LENGUAJE C
TUTORIAL DE LENGUAJE C
 
TUTORIAL LENGUAJE C
TUTORIAL LENGUAJE CTUTORIAL LENGUAJE C
TUTORIAL LENGUAJE C
 
Algoritmo y mas teoria logica
Algoritmo y mas teoria logicaAlgoritmo y mas teoria logica
Algoritmo y mas teoria logica
 
Introducci _ã_n a c - unidad 02 - elementos del lenguaje
Introducci  _ã_n a c - unidad 02 - elementos del lenguajeIntroducci  _ã_n a c - unidad 02 - elementos del lenguaje
Introducci _ã_n a c - unidad 02 - elementos del lenguaje
 
Diapositivas curso programación orientada a objetos en Java
Diapositivas curso programación orientada a objetos en JavaDiapositivas curso programación orientada a objetos en Java
Diapositivas curso programación orientada a objetos en Java
 

Similar a Clase 01 290615

Introduccion del Lenguaje C
Introduccion del Lenguaje CIntroduccion del Lenguaje C
Introduccion del Lenguaje C
Universidad de Guayaquil
 
Desarrollo aplicaciones visuales
Desarrollo aplicaciones visualesDesarrollo aplicaciones visuales
Desarrollo aplicaciones visuales
AlejandroADelaCruzMn
 
Desarrollo aplicaciones visuales
Desarrollo aplicaciones visualesDesarrollo aplicaciones visuales
Desarrollo aplicaciones visuales
AlejandroADelaCruzMn
 
Desarrollo aplicaciones visuales
Desarrollo aplicaciones visualesDesarrollo aplicaciones visuales
Desarrollo aplicaciones visuales
AlejandroADelaCruzMn
 
conceptos basicos lenguajes de programacion.pdf
conceptos basicos lenguajes de programacion.pdfconceptos basicos lenguajes de programacion.pdf
conceptos basicos lenguajes de programacion.pdf
carlosquiza2
 
Pascal [modo de compatibilidad]
Pascal [modo de compatibilidad]Pascal [modo de compatibilidad]
Pascal [modo de compatibilidad]
Zamantha Gonzalez Universidad Nacional Abierta
 
Trabajo de estructura de datos
Trabajo de estructura de datosTrabajo de estructura de datos
Trabajo de estructura de datos
Victor Marquez Hakuna Matata
 
Trabajo de estructura de datos
Trabajo de estructura de datosTrabajo de estructura de datos
Trabajo de estructura de datos
Victor Marquez Hakuna Matata
 
Algoritmos TECNICO EN DESARROLLO DE SOFTWARE
Algoritmos TECNICO EN DESARROLLO DE SOFTWAREAlgoritmos TECNICO EN DESARROLLO DE SOFTWARE
Algoritmos TECNICO EN DESARROLLO DE SOFTWARE
Pedro Alvarez
 
Tutorial C++
Tutorial C++Tutorial C++
Tutorial C++
ValeriaBerrones
 
tutorial de c++
tutorial de c++tutorial de c++
tutorial de c++
Jesus22barrera
 
Tipos de datos_para_c_
Tipos de datos_para_c_Tipos de datos_para_c_
Tipos de datos_para_c_
Jesus22barrera
 
Presentación de Tipos de datos para c++ de programacion
Presentación de Tipos de datos para c++ de programacionPresentación de Tipos de datos para c++ de programacion
Presentación de Tipos de datos para c++ de programacion
ValeriaBerrones
 
Cursode c
Cursode cCursode c
Cursode c
jbersosa
 
Curso lenguaje c_segundo_modulo_
Curso lenguaje c_segundo_modulo_Curso lenguaje c_segundo_modulo_
Curso lenguaje c_segundo_modulo_
Jennybeatriz1
 
Tipos de datos para C++
Tipos de datos para C++Tipos de datos para C++
Tipos de datos para C++
juliancetis109
 
Tipos de datos_para_c_
Tipos de datos_para_c_Tipos de datos_para_c_
Tipos de datos_para_c_
oscar020615
 
ELEMENTOS DE PROGRA 30-05.pdf
ELEMENTOS DE PROGRA 30-05.pdfELEMENTOS DE PROGRA 30-05.pdf
ELEMENTOS DE PROGRA 30-05.pdf
Rosmary Delgado Sola Delgado
 
Fundamentos de programación en diseño web
Fundamentos de programación en diseño webFundamentos de programación en diseño web
Fundamentos de programación en diseño web
karenJulieth04
 
Fundamentos de programación en diseño web
Fundamentos de programación en diseño webFundamentos de programación en diseño web
Fundamentos de programación en diseño web
DayraNieto9807
 

Similar a Clase 01 290615 (20)

Introduccion del Lenguaje C
Introduccion del Lenguaje CIntroduccion del Lenguaje C
Introduccion del Lenguaje C
 
Desarrollo aplicaciones visuales
Desarrollo aplicaciones visualesDesarrollo aplicaciones visuales
Desarrollo aplicaciones visuales
 
Desarrollo aplicaciones visuales
Desarrollo aplicaciones visualesDesarrollo aplicaciones visuales
Desarrollo aplicaciones visuales
 
Desarrollo aplicaciones visuales
Desarrollo aplicaciones visualesDesarrollo aplicaciones visuales
Desarrollo aplicaciones visuales
 
conceptos basicos lenguajes de programacion.pdf
conceptos basicos lenguajes de programacion.pdfconceptos basicos lenguajes de programacion.pdf
conceptos basicos lenguajes de programacion.pdf
 
Pascal [modo de compatibilidad]
Pascal [modo de compatibilidad]Pascal [modo de compatibilidad]
Pascal [modo de compatibilidad]
 
Trabajo de estructura de datos
Trabajo de estructura de datosTrabajo de estructura de datos
Trabajo de estructura de datos
 
Trabajo de estructura de datos
Trabajo de estructura de datosTrabajo de estructura de datos
Trabajo de estructura de datos
 
Algoritmos TECNICO EN DESARROLLO DE SOFTWARE
Algoritmos TECNICO EN DESARROLLO DE SOFTWAREAlgoritmos TECNICO EN DESARROLLO DE SOFTWARE
Algoritmos TECNICO EN DESARROLLO DE SOFTWARE
 
Tutorial C++
Tutorial C++Tutorial C++
Tutorial C++
 
tutorial de c++
tutorial de c++tutorial de c++
tutorial de c++
 
Tipos de datos_para_c_
Tipos de datos_para_c_Tipos de datos_para_c_
Tipos de datos_para_c_
 
Presentación de Tipos de datos para c++ de programacion
Presentación de Tipos de datos para c++ de programacionPresentación de Tipos de datos para c++ de programacion
Presentación de Tipos de datos para c++ de programacion
 
Cursode c
Cursode cCursode c
Cursode c
 
Curso lenguaje c_segundo_modulo_
Curso lenguaje c_segundo_modulo_Curso lenguaje c_segundo_modulo_
Curso lenguaje c_segundo_modulo_
 
Tipos de datos para C++
Tipos de datos para C++Tipos de datos para C++
Tipos de datos para C++
 
Tipos de datos_para_c_
Tipos de datos_para_c_Tipos de datos_para_c_
Tipos de datos_para_c_
 
ELEMENTOS DE PROGRA 30-05.pdf
ELEMENTOS DE PROGRA 30-05.pdfELEMENTOS DE PROGRA 30-05.pdf
ELEMENTOS DE PROGRA 30-05.pdf
 
Fundamentos de programación en diseño web
Fundamentos de programación en diseño webFundamentos de programación en diseño web
Fundamentos de programación en diseño web
 
Fundamentos de programación en diseño web
Fundamentos de programación en diseño webFundamentos de programación en diseño web
Fundamentos de programación en diseño web
 

Último

Lecciones 10 Esc. Sabática. El espiritismo desenmascarado docx
Lecciones 10 Esc. Sabática. El espiritismo desenmascarado docxLecciones 10 Esc. Sabática. El espiritismo desenmascarado docx
Lecciones 10 Esc. Sabática. El espiritismo desenmascarado docx
Alejandrino Halire Ccahuana
 
El Cerebro se Cambia a si Mismo-Norman Doidge.pdf
El Cerebro se Cambia a si Mismo-Norman Doidge.pdfEl Cerebro se Cambia a si Mismo-Norman Doidge.pdf
El Cerebro se Cambia a si Mismo-Norman Doidge.pdf
Robert Zuñiga Vargas
 
PPT_Servicio de Bandeja a Paciente Hospitalizado.pptx
PPT_Servicio de Bandeja a Paciente Hospitalizado.pptxPPT_Servicio de Bandeja a Paciente Hospitalizado.pptx
PPT_Servicio de Bandeja a Paciente Hospitalizado.pptx
gamcoaquera
 
Las Tecnologias Digitales en los Aprendizajesdel Siglo XXI UNESCO Ccesa007.pdf
Las Tecnologias Digitales en los Aprendizajesdel Siglo XXI  UNESCO Ccesa007.pdfLas Tecnologias Digitales en los Aprendizajesdel Siglo XXI  UNESCO Ccesa007.pdf
Las Tecnologias Digitales en los Aprendizajesdel Siglo XXI UNESCO Ccesa007.pdf
Demetrio Ccesa Rayme
 
p4s.co Ecosistema de Ecosistemas - Diagrama.pdf
p4s.co Ecosistema de Ecosistemas - Diagrama.pdfp4s.co Ecosistema de Ecosistemas - Diagrama.pdf
p4s.co Ecosistema de Ecosistemas - Diagrama.pdf
DavidCamiloMosquera
 
Manual de procedimiento para gráficos HC
Manual de procedimiento para gráficos HCManual de procedimiento para gráficos HC
Manual de procedimiento para gráficos HC
josseanlo1581
 
Liturgia día del Padre del siguiente domingo.pptx
Liturgia día del Padre del siguiente domingo.pptxLiturgia día del Padre del siguiente domingo.pptx
Liturgia día del Padre del siguiente domingo.pptx
YeniferGarcia36
 
FEEDBACK DE LA ESTRUCTURA CURRICULAR- 2024.pdf
FEEDBACK DE LA ESTRUCTURA CURRICULAR- 2024.pdfFEEDBACK DE LA ESTRUCTURA CURRICULAR- 2024.pdf
FEEDBACK DE LA ESTRUCTURA CURRICULAR- 2024.pdf
Jose Luis Jimenez Rodriguez
 
La necesidad de bienestar y el uso de la naturaleza.pdf
La necesidad de bienestar y el uso de la naturaleza.pdfLa necesidad de bienestar y el uso de la naturaleza.pdf
La necesidad de bienestar y el uso de la naturaleza.pdf
JonathanCovena1
 
tema 7. Los siglos XVI y XVII ( resumen)
tema 7. Los siglos XVI y XVII ( resumen)tema 7. Los siglos XVI y XVII ( resumen)
tema 7. Los siglos XVI y XVII ( resumen)
saradocente
 
Blogs_y_Educacion_Por Zaracho Lautaro_.pdf
Blogs_y_Educacion_Por Zaracho Lautaro_.pdfBlogs_y_Educacion_Por Zaracho Lautaro_.pdf
Blogs_y_Educacion_Por Zaracho Lautaro_.pdf
lautyzaracho4
 
Nuevos espacios,nuevos tiempos,nuevas practica.pptx
Nuevos espacios,nuevos tiempos,nuevas practica.pptxNuevos espacios,nuevos tiempos,nuevas practica.pptx
Nuevos espacios,nuevos tiempos,nuevas practica.pptx
lautyzaracho4
 
2° año LA VESTIMENTA-ciencias sociales 2 grado
2° año LA VESTIMENTA-ciencias sociales 2 grado2° año LA VESTIMENTA-ciencias sociales 2 grado
2° año LA VESTIMENTA-ciencias sociales 2 grado
GiselaBerrios3
 
Libro Integrado 8vo egb len-mat-ccnn-eess
Libro Integrado 8vo egb len-mat-ccnn-eessLibro Integrado 8vo egb len-mat-ccnn-eess
Libro Integrado 8vo egb len-mat-ccnn-eess
maxgamesofficial15
 
PANDERETAS DECORADAS CON MOTIVOS DE LA RIOJA
PANDERETAS DECORADAS CON MOTIVOS DE LA RIOJAPANDERETAS DECORADAS CON MOTIVOS DE LA RIOJA
PANDERETAS DECORADAS CON MOTIVOS DE LA RIOJA
estroba5
 
Evaluacion del tercer trimestre del 2023-2024
Evaluacion del tercer trimestre del 2023-2024Evaluacion del tercer trimestre del 2023-2024
Evaluacion del tercer trimestre del 2023-2024
israelsouza67
 
CORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZA
CORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZACORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZA
CORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZA
Sandra Mariela Ballón Aguedo
 
CONTENIDOS Y PDA DE LA FASE 3,4 Y 5 EN NIVEL PRIMARIA
CONTENIDOS Y PDA DE LA FASE 3,4 Y 5 EN NIVEL PRIMARIACONTENIDOS Y PDA DE LA FASE 3,4 Y 5 EN NIVEL PRIMARIA
CONTENIDOS Y PDA DE LA FASE 3,4 Y 5 EN NIVEL PRIMARIA
ginnazamudio
 
Inteligencia Artificial para Docentes HIA Ccesa007.pdf
Inteligencia Artificial para Docentes  HIA  Ccesa007.pdfInteligencia Artificial para Docentes  HIA  Ccesa007.pdf
Inteligencia Artificial para Docentes HIA Ccesa007.pdf
Demetrio Ccesa Rayme
 

Último (20)

Lecciones 10 Esc. Sabática. El espiritismo desenmascarado docx
Lecciones 10 Esc. Sabática. El espiritismo desenmascarado docxLecciones 10 Esc. Sabática. El espiritismo desenmascarado docx
Lecciones 10 Esc. Sabática. El espiritismo desenmascarado docx
 
El Cerebro se Cambia a si Mismo-Norman Doidge.pdf
El Cerebro se Cambia a si Mismo-Norman Doidge.pdfEl Cerebro se Cambia a si Mismo-Norman Doidge.pdf
El Cerebro se Cambia a si Mismo-Norman Doidge.pdf
 
PPT_Servicio de Bandeja a Paciente Hospitalizado.pptx
PPT_Servicio de Bandeja a Paciente Hospitalizado.pptxPPT_Servicio de Bandeja a Paciente Hospitalizado.pptx
PPT_Servicio de Bandeja a Paciente Hospitalizado.pptx
 
Las Tecnologias Digitales en los Aprendizajesdel Siglo XXI UNESCO Ccesa007.pdf
Las Tecnologias Digitales en los Aprendizajesdel Siglo XXI  UNESCO Ccesa007.pdfLas Tecnologias Digitales en los Aprendizajesdel Siglo XXI  UNESCO Ccesa007.pdf
Las Tecnologias Digitales en los Aprendizajesdel Siglo XXI UNESCO Ccesa007.pdf
 
p4s.co Ecosistema de Ecosistemas - Diagrama.pdf
p4s.co Ecosistema de Ecosistemas - Diagrama.pdfp4s.co Ecosistema de Ecosistemas - Diagrama.pdf
p4s.co Ecosistema de Ecosistemas - Diagrama.pdf
 
Manual de procedimiento para gráficos HC
Manual de procedimiento para gráficos HCManual de procedimiento para gráficos HC
Manual de procedimiento para gráficos HC
 
Liturgia día del Padre del siguiente domingo.pptx
Liturgia día del Padre del siguiente domingo.pptxLiturgia día del Padre del siguiente domingo.pptx
Liturgia día del Padre del siguiente domingo.pptx
 
FEEDBACK DE LA ESTRUCTURA CURRICULAR- 2024.pdf
FEEDBACK DE LA ESTRUCTURA CURRICULAR- 2024.pdfFEEDBACK DE LA ESTRUCTURA CURRICULAR- 2024.pdf
FEEDBACK DE LA ESTRUCTURA CURRICULAR- 2024.pdf
 
La necesidad de bienestar y el uso de la naturaleza.pdf
La necesidad de bienestar y el uso de la naturaleza.pdfLa necesidad de bienestar y el uso de la naturaleza.pdf
La necesidad de bienestar y el uso de la naturaleza.pdf
 
tema 7. Los siglos XVI y XVII ( resumen)
tema 7. Los siglos XVI y XVII ( resumen)tema 7. Los siglos XVI y XVII ( resumen)
tema 7. Los siglos XVI y XVII ( resumen)
 
Blogs_y_Educacion_Por Zaracho Lautaro_.pdf
Blogs_y_Educacion_Por Zaracho Lautaro_.pdfBlogs_y_Educacion_Por Zaracho Lautaro_.pdf
Blogs_y_Educacion_Por Zaracho Lautaro_.pdf
 
A VISITA DO SENHOR BISPO .
A VISITA DO SENHOR BISPO                .A VISITA DO SENHOR BISPO                .
A VISITA DO SENHOR BISPO .
 
Nuevos espacios,nuevos tiempos,nuevas practica.pptx
Nuevos espacios,nuevos tiempos,nuevas practica.pptxNuevos espacios,nuevos tiempos,nuevas practica.pptx
Nuevos espacios,nuevos tiempos,nuevas practica.pptx
 
2° año LA VESTIMENTA-ciencias sociales 2 grado
2° año LA VESTIMENTA-ciencias sociales 2 grado2° año LA VESTIMENTA-ciencias sociales 2 grado
2° año LA VESTIMENTA-ciencias sociales 2 grado
 
Libro Integrado 8vo egb len-mat-ccnn-eess
Libro Integrado 8vo egb len-mat-ccnn-eessLibro Integrado 8vo egb len-mat-ccnn-eess
Libro Integrado 8vo egb len-mat-ccnn-eess
 
PANDERETAS DECORADAS CON MOTIVOS DE LA RIOJA
PANDERETAS DECORADAS CON MOTIVOS DE LA RIOJAPANDERETAS DECORADAS CON MOTIVOS DE LA RIOJA
PANDERETAS DECORADAS CON MOTIVOS DE LA RIOJA
 
Evaluacion del tercer trimestre del 2023-2024
Evaluacion del tercer trimestre del 2023-2024Evaluacion del tercer trimestre del 2023-2024
Evaluacion del tercer trimestre del 2023-2024
 
CORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZA
CORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZACORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZA
CORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZA
 
CONTENIDOS Y PDA DE LA FASE 3,4 Y 5 EN NIVEL PRIMARIA
CONTENIDOS Y PDA DE LA FASE 3,4 Y 5 EN NIVEL PRIMARIACONTENIDOS Y PDA DE LA FASE 3,4 Y 5 EN NIVEL PRIMARIA
CONTENIDOS Y PDA DE LA FASE 3,4 Y 5 EN NIVEL PRIMARIA
 
Inteligencia Artificial para Docentes HIA Ccesa007.pdf
Inteligencia Artificial para Docentes  HIA  Ccesa007.pdfInteligencia Artificial para Docentes  HIA  Ccesa007.pdf
Inteligencia Artificial para Docentes HIA Ccesa007.pdf
 

Clase 01 290615

  • 1. PROGRAMACION MODULAR FACULTAD DE INGENIERIAS PROGRAMACION I ING. XIOMARA SEGOVIA
  • 2. • Es mas fácil resolver un problema complejo cuando se rompe en piezas manejables. ¡Divide y Vencerás! PROGRAMACION MODULAR
  • 3. • Un módulo debe ofrecer un grupo de servicios diseñados para que el resto del programa pueda interactuar con él. Por ejemplo, en un procesador de texto se debe contar con rutinas para: • Cambiar la letra utilizada: cambiarEstilo() • Cambiar el color: cambiarColorLetra() • Etc. MODULARIDAD: ACOPLAMIENTO
  • 4. • Es un método de resolución de problemas que consiste en resolver de forma independiente los sub-problemas que se obtienen de una descomposición del problema general. Siendo la base fundamental de este paradigma de programación el MODULO. Un modulo: es un conjunto de rutinas que prestan un servicio específico. Una rutina, sub-rutina o sub-programa: se presenta como un algoritmo pequeño de datos separado del algoritmo principal, el cual permite resolver una tarea especifica. PROGRAMACION MODULAR
  • 5. • Decimos que algo es modular si es construido de manera tal que se facilite su ensamblaje, acomodación y reparación de sus componentes. PROGRAMACION MODULAR • Así mismo la modularidad da una mejor comprensión del problema y reduce el tamaño del código. Generalmente se hace la asociación de un módulo con una caja negra, donde se sabe que entra y que sale pero como se procesa.
  • 6. • En la programación modular se deben asegurar los siguientes preceptos: • Máxima cohesión • Mínimo acoplamiento entre módulos FUNCIONES Y PROCEDIMIENTOS
  • 7. • Un módulo debe ofrecer un grupo de servicios que sin lugar a dudas deben ir juntos, por ejemplo: • Math.h (cabecera diseñada para operaciones matemáticas) • Stdio.h (standard input-output header) Por ejemplo en un procesador de texto , todos los módulos tienen como objetivo cooperar para producir documentos con estilo y formato definido (módulo de colores, módulo de tamaño, etc.) Entonces la cohesión tiene que ver con que cada módulo del sistema se refiera a un único proceso o entidad. A mayor cohesión, mejor: el módulo en cuestión será más sencillo de diseñar, programar, probar y mantener. MODULARIDAD: COHESIÓN
  • 8. • El acoplamiento mide el grado de relacionamiento de un módulo con los demás. A menor acoplamiento, mejor: el módulo en cuestión será más sencillo de diseñar, programar, probar y mantener. En el diseño estructurado, se logra bajo acoplamiento reduciendo las interacciones entre procedimientos y funciones, reduciendo la cantidad y complejidad de los parámetros y disminuyendo al mínimo los parámetros por referencia y los efectos colaterales. MODULARIDAD: ACOMPLAMIENTO
  • 9. VENTAJAS DE LOS MODULOS Facilitan la escritura y depuración de un programa Localización rápida de errores La modificación de un módulo no afecta a los demás Un grupo de instrucciones que se repite en varias partes de un programa puede incluirse en un módulo y llamarlo en el programa
  • 10. • Es un proceso de refinamiento por pasos, etapas o capas. Se comienza desde lo más general hasta lo más especifico. • En la solución de problemas grandes es conveniente dividirlos en problemas más pequeños, los cuales a su vez pueden dividirse en sub-problemas más pequeños. PROGRAMACIONMODULAR DISEÑODESCENDENTE
  • 11. PROGRAMACIONMODULAR DISEÑODESCENDENTE Se inicia desde lo más general. Asegurarse de las capacidades y especificaciones del lenguaje. Verificar cuidadosamente cada nivel
  • 13. PROGRAMACIONMODULAR FUNCIONES • En C los módulos se llaman funciones. (Unidad básica de los programas). • Una función se define una sola vez pero puede ser utilizada tantas veces como sea necesario por medio de una llamada de la función.
  • 14. PROGRAMACIONMODULAR Tarea I: TIPODE FUNCIONESENC • Investigar cuales son los tipos de funciones en C, la sintaxis de una función y ejemplos de como declara nuevas funciones. • Elabore los módulos necesarios que involucra un procesador de texto, y un registro de notas escolar.
  • 15. Programación I Fundamentos del Lenguaje C# Ing. Xiomara Segovia Facultad de Ingenierías
  • 16. 16 Objetivo • Conocer los fundamentos de programación del lenguaje C#. Agenda • Tipos • Variables • Constantes • Operadores • Entrada y Salida
  • 17. Tipos • C# es un lenguaje fuertemente tipificado • Debe declararse el tipo de cada objeto que se crea (enteros, puntos flotantes, cadenas, ventanas, botones, etc.). • Esta información ayuda al compilador a prevenir defectos y a obligar que a estos objetos se asignen los datos del tipo correcto. • El tipo de un objeto le dice al compilador el tamaño del objeto y sus capacidades. • C# incluye dos conjuntos de tipos: • Los tipos intrínsecos (o predefinidos), que el lenguaje ofrece. • Los tipos definidos por el programador, denominados tipos definidos por el usuario. 17
  • 18. Tipos intrínsecos Tipo Tamaño (en bytes) Tipo .Net Descripción byte 1 Byte Sin signo (0 a 255). char 2 Char Caracteres Unicode bool 1 Boolean True o False sbyte 1 SByte Con signo (-128 a 127) short 2 Int16 Entero corto con signo (- 32,768 a 32,767) ushort 2 UInt16 Entero corto sin signo (0 a 65,535) int 4 Int32 Entero con signo uint 4 UInt32 Entero sin signo 18
  • 19. Tipos intrínsecos Tipo Tamaño (en bytes) Tipo .Net Descripción float 4 Single Número de punto flotante de precisión sencilla. double 8 Double Número de punto flotante de precisión doble. decimal 16 Decimal Precisión fija de hasta 28 dígitos y el punto decimal. long 8 Int64 Entero largo con signo. ulong 8 UInt64 Entero largo sin signo. 19
  • 20. Tipos intrínsecos • Cada tipo intrínseco está asociado con un tipo subyacente soportado por el .NET CLS (Conjunto de características de lenguaje básicas) . • Esta asociación asegura que los objetos creados en C# pueden ser intercambiados con objetos creados con otros lenguajes que cumplen con .NET 20
  • 21. El tipo char • Representa un carácter Unicode. • Las literales de tipo char pueden ser simple, Unicode o secuencias escape, encerradas en comillas simples. • Literal simple: ‘A’, ‘1’, ‘-’ • Literal unicode: ‘u0041’ 21
  • 22. Secuencias escape más comunes Char Significado ’ Comilla simple ” Comilla doble Diagonal invertida 0 Carácter nulo a Alerta b Backspace f Alimentación de línea (Form Feed) n Nueva línea (NewLine) r Retorno de carro (Carriage return) t Tabulación horizontal 22
  • 23. Tipos • C# también divide los tipos en: • Tipos por valor • Tipos por referencia • La diferencia entre estas dos categorías es la manera en la que sus valores son almacenados en memoria. • Un tipo por valor almacena su valor actual en la memoria localizada en la pila (stack) (o la localiza como parte de un objeto de tipo de referencia más grande). • La dirección de una variable asociada con un tipo de referencia se ubica en la pila (stack), pero el objeto real se almacena en el montículo (heap). 23
  • 24. Tipos definidos por el programador • C# permite al programador definir nuevos tipos declarando y definiendo clases. • Declaración básica de una clase. class nombre_de_la_clase { … } 24
  • 25. Tipos definidos por el programador • Una clase esencialmente se conforma de los siguientes elementos: • Campos de instancia • Métodos o funciones de instancia, también conocidos como funciones miembro. 25
  • 26. Variables • Una variable es una ubicación de almacenamiento que tiene asociado un tipo. • A las variables se les pueden asignar (almacenar) valores, que pueden ser cambiados programáticamente. • Se declara una variable indicando el tipo asociado y el nombre que se le da a la variable. Opcionalmente se le puede asignar un valor inicial. • Antes de utilizar una variables debe haber sido inicializada en su declaración o, en caso contrario, debió asignársele posteriormente un valor. 26
  • 27. Constantes • Una constante es una variable cuyo valor no puede ser modificado. • Las constantes pueden ser: • Literales • Constantes simbólicas • Enumeraciones 27
  • 28. Constantes literales • Su valor se escribe literalmente en el código. int x = 32; El valor 32 es una constante literal, pues no puede ser modificado. 28
  • 29. Constantes simbólicas • Las constantes simbólicas asignan un nombre a un valor constante. • Se declaran de manera similar a una variable inicializada, pero poniendo como prefijo la palabra reservada const. • Su sintaxis es: • const tipo identificador = valor; • Ejemplo • const double Pi = 3.1416; 29
  • 30. Enumeraciones • Una enumeración es un tipo de valores distintos, que consiste de un conjunto de constantes con nombre (denominado lista enumerador). • Cada enumeración tiene un tipo subyacente, que puede ser un tipo integral (entero, short, long, etc.), con excepción de char. 30
  • 31. Enumeraciones • Suponga que quiere tener un conjunto de constantes para las caras de una moneda. Es posible utilizar una enumeración: enum CarasDeMoneda { Aguila, Sol; } • El código puede ser utilizado de la siguiente manera: CarasDeMoneda moneda = CarasDeMoneda.Aguila; 31
  • 32. Enumeraciones • Cada constante en una enumeración corresponde a un valor numérico –en este caso un entero. • Si no se especifica lo contrario, la enumeración siempre inicia en 0 y cada valor subsecuente se incrementa en la unidad con base en el valor previo. 32
  • 33. Enumeraciones • En la siguiente enumeración enum AlgunosValores { Primero = 1, Segundo, Tercero = 10, Cuarto; } • El valor Primero será 1, Segundo será 2, Tercero será 10 y Cuarto será 11. • Las enumeraciones son tipos formales, por lo tanto se requiere una conversión explícita para convertir entre enumeraciones y un tipo entero. 33
  • 34. Cadenas • Un objeto cadena guarda una secuencia de caracteres. • Una cadena literal se escribe encerrando entre comillas una secuencia de caracteres: “Hola a todos”. • Se declara una instancia de objeto cadena utilizando la palabra reservada string: String msg = “Hola a todos”; 34
  • 35. Identificadores • Son nombres que los programadores eligen para sus tipos (clases), métodos, variables, constantes, objetos, etc. • Microsoft sugiere una convención de nomenclatura utilizando la notación camel (camello) para nombres de variables y notación Pascal para nombres de métodos y la mayoría de los identificadores. • Notación camel: precioDeCompra • Notación Pascal: PrecioDeCompra • Los identificadores son sensibles a mayúsculas y minúsculas. Así los dos identificadores anteriores son diferentes. 35
  • 36. Operadores • Un operador es un símbolo que causa que C# realice una acción. • Existen diversas clases de operadores: • Asignación • Aritméticos • Incremento y decremento • Relacionales • Lógicos 36
  • 37. Operador de asignación • El operador de asignación (=) no evalúa la igualdad. x = 5; • Es una expresión causa que el lado derecho (5) se asigna a lo que está del lado izquierdo, la variable x. • Puesto que x = 5 es una expresión que evalúa a 5, por lo que puede ser utilizado como parte de otro operador de asignación: y = x = 5; 37
  • 38. Operadores aritméticos 38 Operación Operador Ejemplo Comentarios Adición + sum = num1 + num2; sum = 13 Substracción - diff = num1 - num2; diff = 7 Multiplicación * prod = num1 * num2; prod = 30 División entera / quot = num1 / num2; quot = 3 La división da como resultado un valor entero; sin residuo. División Modular % mod = num1 % num2; mod = 1 Proporciona el residuo del primer número dividido entre el segundo. El signo del resultado es el mismo signo del primer operando. Sean num1 = 10 y num2 = 3.
  • 39. Operadores de incremento y decremento 39 Operador Propósito Ejemplo Notas ++ Pre-incremento (++variable) int i = 6;int j = ++i; i es 7, j es 7 Post-incremento (variable++) int i = 6;int j = i++; i es 7, j es 6 El valor de i se asigna a j antes de incrementar i; Por lo tanto se asigna 6 a j. -- Pre-decremento (--variable) int i = 6;int j = --i; i es 5, j es 5 Post-decremento (variable--) int i = 6;int j = i--; i es 5, j es 6 El valor de i se asigna a j antes de decrementar i; Por lo tanto se asigna 6 a j.
  • 40. Operadores de incremento y decremento • Se desea incrementar la variable miSalario por 5000. Se puede hacer de la siguiente manera miSalario = miSalario + 5000; • Esta clase de asignación se puede realizar con los otros operadores aritméticos: miSalario = miSalario * 5000; miSalario = miSalario - 5000; • C# incluye operadores especiales para estas operaciones: miSalario += 5000; miSalario *= 5000; miSalario -= 5000; 40
  • 41. Operadores relacionales • Los operadores relacionales se utilizan para comparar dos valores y el resultado es un valor de tipo bool (true o false). 41
  • 42. Operadores relacionales 42 Sean a = 3 y b = 5: Operador Significado Ejemplo Resultado == Igual que a == b false != Diferente a != b true < Menor que a < b true <= Menor o igual que a <= b true > Mayor que a > b false >= Mayor o igual que a >= b false
  • 43. Operadores lógicos 43 Sean i = 2 y j = 8: Operador Significado Ejemplo Resultado && AND lógico (i < 1) && (j > 6) || OR lógico (i < 1) || (j > 6) ! NOT lógico ! ( i < 3 )
  • 44. Precedencia de operadores • Las reglas de precedencia de operadores le dicen al compilador que operadores evaluar primero. • Sin embargo, es posible modificar estas reglas de precedencia, encerrando entre paréntesis las operaciones que se evalúen primero 44
  • 45. Precedencia de operadores Categoría Operadores Primario (x) x.y x->y f(x) a[x] x++ Unario + - ! ++x --x (T)x *x &x Multiplicativo * / % Aditivo + - Desplazamiento << >> Relacional < > <= >= is as Igualdad == != AND lógico & XOR lógico ^ 45
  • 46. Precedencia de operadores Categoría Operadores OR lógico | AND condicional && OR condicional || Condicional ?: Asignación = *= /* %= += -= <<= >>= &= ^= |= 46
  • 47. Entrada y salida de la Consola estándar • C# permite realizar operaciones de entrada y salida de datos a través de un objeto predefinido; Console. • Este objeto está definido en el espacio de nombres System. • El objeto Console cuenta con un conjunto de métodos para realizar operaciones de entrada y salida de datos. 47
  • 48. Salida de datos • La manera más popular de realizar salida de datos hacia la consola estándar del sistema de cómputo es mediante el método System.Console.WriteLine(). • El método WriteLine() escribe una línea de texto en la consola estándar de salida. • System.Console.WriteLine(“Hola a todos”); • Este método después de escribir la línea de texto coloca el cursor en la primera columna de la siguiente línea. 48
  • 49. Salida de datos • Otro método popular para la salida de datos es System.Console.Write(). • Write() también escribe texto en la consola de salida estándar, pero no coloca al final un carácter de fín de línea como lo hace WriteLine(), dejando el cursor exactamente a la derecha del último carácter escrito. • System.Console.Write(“Hola a todos”); 49
  • 50. Salida de datos • Existe una variante para WriteLine() y Write(), conocida como formato compuesto. • En variante de formato compuesto, la cadena es conocida como cadena de formato, pues incluye un conjunto de parámetros, conocidos como elementos de formato, que serán sustituidos en la operación de salida. Estos parámetros son números secuenciales, iniciando con cero, encerrados dentro de llaves. System.Console.WriteLine(“Mi nombre es {0} {1}”, nombre, apellidos); • En el ejemplo anterior el parámetro con índice 0 será sustituido por el contenido de la variable nombre y el parámetro con índice 1 será sustituido con la variable apellidos. 50
  • 51. Salida de datos • Los parámetros en la cadena de formato no requieren estar en orden. System.Console.WriteLine(“Mi nombre es {1} {0}”, nombre, apellidos); • El resultado de esta operación de salida será que primero aparecerán los apellidos y después el nombre. 51
  • 52. Entrada de datos • Una de las formas de realizar entrada de datos es mediante el método System.Console.ReadLine(). • Este método detiene la ejecución del programa para permitir al usuario proporcionar una secuencia de caracteres. Cuando el usuario presiona la tecla Enter, creando una nueva línea, el programa continúa su ejecución. • El método ReadLine() devuelve en el programa una cadena de caracteres. 52
  • 53. Entrada de datos • Read() y ReadLine() leen cadenas de caracteres. ¿Y si se requiere leer un número entero? • El método ToInt32() de la clase Convert permite convertir una cadena de caracteres a un entero de 32 bits. String str = Console.ReadLine(); Int n = Convert.ToInt32(str); • La clase Convert permite la conversión entre la mayoría de tipos de datos más utilizados. 53
  • 54. DIOS LES BENDIGA “Todo lo puedo en Cristo que me fortalece” Filipenses 4:13