Subido por Leunam Solrac Apmac Nirtselec

Conf 05#

Anuncio
Asignatura: Programación 1 Curso:
1
Facultad: Ciencias Empresariales.
Especialidad: Ingeniería Industrial
Año: 2do
Semestre: 1ero
Disciplina: Procesos de Información.
Asignatura: Programación I
Tema III: Estructuras de control: Estructuras condicionales e iterativas, en el lenguaje C#.
Profesor: M.Sc. Carlos Manuel Celestrín Campa.
Fecha:
Grupo: I-21
Actividad No. 13
Tipo de clase: Conferencia (Conferencia 5)
Temática: Estructuras condicionales en el lenguaje C#.
Objetivos:

Identificar la sintaxis relacionada con las estructuras condicionales en el lenguaje de programación C#.

Aplicar las estructuras de selección simple if…else, las de selección múltiple swich…case, en el
lenguaje de programación C#, para la resolución de problemas, utilizando el paradigma orientada a
objetos.
Sistema de Contenidos:
-
Cocimientos: Las estructuras condicionales simples y múltiples en el lenguaje C#.
-
Habilidades: Solucionar problemas utilizando las estructuras de selección simple y múltiple en el
lenguaje de programación C#.
-
Valores: Responsabilidad, creatividad.
-
Experiencia de la Actividad creadora: Independencia y motivación (dimensiones de la creatividad).
Sistema de Métodos: Elaboración Conjunta, explicativo-ilustrativo, resolución de problemas, mapa conceptual.
Sistema de Medios: Pizarra, PC, presentación digital con Prezzi
Sistema de evaluación: Sistemática mediante las respuestas y la participación durante la clase.
Forma de organización de la enseñanza: Conferencia
Profesor: M.Sc. Carlos Manuel Celestrín Campa
UM
Asignatura: Programación 1 Curso:
2
Organización de la clase:
1. Introducción
2. Estructura de control alternativa simple (if).
3. Estructura de control alternativa simple (if else)
4. Estructura de control alternativa múltiple (switch case)
5. Caso de estudio (ejemplo1): Clasificación de números.
6. Caso de estudio (ejemplo2): Calculadora.
7. Caso de estudio (ejemplo3): Facultad de Informática.
8. Conclusiones.
Profesor: M.Sc. Carlos Manuel Celestrín Campa
UM
Asignatura: Programación 1 Curso:
3
Escojan
hoy a quien quieren servir, si a los dioses que sirvieron sus
antepasados. o a los dioses en cuyas tierras están morando.
Pero en cuanto a mí y a mi casa, nosotros serviremos a Jehová.
-Josuéi 1473-c.1450 a. E.C
Introducción:
1. Se les realiza la bienvenida a los estudiantes al aula y se pasa la asistencia.
2. Se les explica a los estudiantes que a partir de esa semana se adentrarán aún más en el paradigma de
la programación orientada a objetos, profundizando en la sintaxis del lenguaje C# a partir de comenzar
a estudiar un nuevo tema de la asignatura, el Tema 3, orientado a aplicar a la resolución de problemas
las estructuras de control: las estructuras de control alternativas o condicionales y las estructuras de
control iterativas o repetitivas, permitiéndoles utilizar este nuevo contenido en el desarrollo de las
soluciones vinculados a sus proyectos de curso.
1. Se les explica a los estudiantes como pueden encontrar los recursos del nuevo tema a tratarse en la
plataforma MOODLE, así como las páginas a leer de cada una de las bibliografías orientadas para la
asignatura: Colectivos de autores; Programación orientada objetos en C#, Universidad de Ciencias
Informáticas. Universidad de Matanzas, 2003. Pág. 83-99.
3. Se les recuerda a los estudiantes la estructura del nuevo tema: 2 conferencias, 5 clases prácticas, 4
laboratorios.
4. Motivación: Se les comenta a los estudiantes que continuamente, en nuestra vida cotidiana, debemos
solucionar problemáticas en las cuales tenemos que elegir caminos diferentes en concordancia a las
condiciones que se nos presentan y que algunas de esas decisiones pueden marcar nuestro devenir en
la vida, marcar nuestra existencia determinantemente. Se les menciona a los estudiantes la frase
seleccionada y que caracteriza la nueva temática de estudio, y se explica que en esta primera
conferencia aprenderan a desarrollar soluciones utilizando las estructuras de control condicionales
simples y múltiples en el lenguaje C#.
Desarrollo:
1. Se les explica a los estudiantes que las soluciones que se han desarrollado hasta el momento utilizando
el lenguaje de programación C# se despliegan a través de un flujo secuencial, o sea, las instrucciones
se ejecutan una a continuación de la otra en el mismo orden que son escritas, pero que, con mucha
frecuencia, en la solución de los problemas aparecen situaciones en que la ejecución de una instrucción
depende de si se cumple o no una condición.
2. Se explica a los estudiantes que es por ello que en los lenguajes de programación aparecen las
estructuras de control alternativas o condicionales.
Profesor: M.Sc. Carlos Manuel Celestrín Campa
UM
Asignatura: Programación 1 Curso:
4
3. Se les recuerda a los estudiantes que, en el tema 1 de la asignatura, estudiaron los algoritmos en
diagrama de flujo y en seudocódigo representativos de las estructuras de selección simple y múltiple.
Teniendo en cuenta la orientación de estudiarlos para este nuevo tema se pide a los estudiantes que
levantando la mano y pasando a la pizarra describan algunos ejemplos (se evalúa su participación).
4. Se les explica a los estudiantes que el lenguaje C# cuenta con tres tipos de estructuras de selección: la
instrucción if que realiza (selecciona) una acción si una condición es verdadera, o ignora la acción si la
condición es falsa; la instrucción if…else que realiza una acción si una condición es verdadera o realiza
una acción distinta si la condición es falsa; la instrucción switch…case que realiza una de varias
acciones distintas, dependiendo del valor de una expresión (expresión de control).
5. Se les explica a los estudiantes que a la instrucción if se le llama instrucción de selección simple,
debido a que selecciona o ignora una acción individual. A la instrucción if...else se le llama instrucción
de selección doble, debido a que selecciona una de dos acciones distintas (o grupos de acciones). A la
instrucción switch…case se le llama instrucción de selección múltiple, debido a que selecciona una de
varias acciones distintas (o grupo de acciones).
6. Se les explica a los estudiantes la sintaxis general de una estructura condicional:
if (expresión booleana)
{
Instrucción(es) de condición verdadera.
}
7. Se explica que las llaves son opcionales si hay una sola acción y que normalmente es aconsejable
añadirlas de todas formas, pues su omisión puede ser causa de fallos inesperados.
8. Se explica a los estudiantes que la instrucción if solo garantiza la ejecución de determinadas acciones
basándose en una condición verdadera (true) se ejecuten o no, por lo que para controlar tanto la
condición verdadera como la falsa (false) es necesario utilizar la instrucción if…else.
9. Se explica a los estudiantes que la sintaxis es:
if (expresión booleana)
{
Instrucción(es) de condición verdadera.
}
else
{
Instrucción(es) de condición falsa.
}
10. Se les alerta a los estudiantes que la condición siempre se evalúa en el if, por lo que nunca se evaluará
una condición después de la sentencia else.
Profesor: M.Sc. Carlos Manuel Celestrín Campa
UM
Asignatura: Programación 1 Curso:
5
11. Se explica a los estudiantes que muchas veces vamos a necesitar evaluar más de dos condiciones, por
lo que nos podemos encontrar con la siguiente sintaxis e interpretación:
if (condicion1)
{
Bloque de instrucciones que se ejecutan si la condición 1 es verdadera.
}
else if (condicion2)
{
Bloque de código que se ejecuta si la condición 2 es verdadera.
}
else if (condición n)
{
Bloque de código se la siguiente condición n es verdadera.
}
else
{
Bloque de código que se ejecuta si ninguna de las condiciones previas fue verdadera.
}
12. Se recuerda a los estudiantes el uso de los operadores lógicos estudiados en las conferencias
correspondientes al tema 1 de la asignatura y el resultado booleano (verdadero o falso) que estos
producen, así como sus operandos.
13. Se recuerda que los operadores lógicos nos permiten formular condiciones complejas a partir de
condiciones simples.
14. Se les recuerda a continuación la tabla con las tres compuertas lógicas básicas que les sirven como
operadores lógicos:
15.
OPERADOR
AND
C#
&&
SINTAXIS
Exp_Lógica &&
COMENTARIO
Devuelve verdaderos si se cumplen ambas condiciones.
Exp_Lógica
OR
NOT
II
!
Exp_Lógica ||
Devuelve verdaderos si se cumple al menos una de las
Exp_Lógica
condiciones.
!
Profesor: M.Sc. Carlos Manuel Celestrín Campa
Niega la condición.
UM
Asignatura: Programación 1 Curso:
6
La operación x && y corresponde a la operación x & y, excepto que y se evalúa solamente si x es true.
La operación x || y corresponde a la operación x | y, excepto que y se evalúa solamente si x es false.
14. Se les explica a los estudiantes que a continuación se analizarán varios ejemplos en los cuales se
aplican las estructuras condicionales simples estudiadas:
Ejemplo 1: Desarrollar un programa que solicite al usuario un número y determine si dicha cantidad es par
o impar, en caso de que el número sea par, el programa deberá verificar si el número está entre el rango
[10 - 100].
Solución: Etapa de algoritmización.
Solución: Etapa de codificación.
(…)
Console.WriteLine ("Ingrese un número:");
int numero = int.Parse (Console.ReadLine());
if (numero < 0)
{ Console.WriteLine ("Ingrese un número positivo");}
else
if (numero % 2 == 0)
{Console.WriteLine("El número es par.");
if (numero >= 10 && numero <= 100)
{Console.WriteLine("El número pertenece al rango [10-100]");}
else
{Console.WriteLine("El número no pertenece al rango [10-100]");}}
Profesor: M.Sc. Carlos Manuel Celestrín Campa
UM
Asignatura: Programación 1 Curso:
7
else
{
Console.WriteLine("El número no es par");}
Console.ReadKey();
}
(…)
15. A continuación, se les explica a los estudiantes que cuando hay muchas condiciones a evaluar, la
instrucción if…else puede resultar demasiado compleja de manejar, por lo que una solución mucho
más limpia en estos casos consiste en usar la instrucción switch…case.
16. Se explica que la instrucción switch…case permite cualquier valor entero o de cadena con múltiples
valores.
17. Se explica que cuando se produce una coincidencia se ejecutan todas las instrucciones asociadas con
ella y que esta estructura es muy utilizada a la hora de trabajar con menú dentro de las aplicaciones.
18. Se explica a los estudiantes que la sintaxis es:
switch(expresión_de_control)
{
case<literal-1>:
Instrucción(es)
break;
...
case<literal-n>:
Instrucción(es)
break;
default:
Instrucción(es)
}
19. Se propone a los estudiantes el siguiente ejercicio.
Ejemplo 2
Se necesita un programa que muestre un menú con las siguientes opciones: 1-Suma, 2-Multiplicación, 3Raíz Cuadrada, 4-Potenciación, 5-Salir del programa. El programa permitirá realizar cada una de las
operaciónes matemáticas expresadas y mostrarlas.
Solución: Etapa de algoritmización.
Profesor: M.Sc. Carlos Manuel Celestrín Campa
UM
Asignatura: Programación 1 Curso:
8
Solución: Etapa de codificación.
(…)
int op;
double numero1,numero2;
Console.WriteLine("OPERACIONES MATEMÁTICAS");
Console.WriteLine("1. SUMAR");
Console.WriteLine("2. MULTIPLICAR");
Console.WriteLine("3. RAÍZ CUADRADA");
Console.WriteLine("4. POTENCIACIÓN");
numero2= double.Parse(Console.ReadLine());
Console.WriteLine("Digitar el primer número:");
numero1 = double.Parse(Console.ReadLine());
Console.WriteLine("Digitar el segundo número:");
Console.WriteLine("Digite su opción: ");
op = int.Parse(Console.ReadLine());
switch (op)
{
case 1:
Console.WriteLine("El resultado de la suma es: " + numero1+numero2);
break;
case 2:
Console.WriteLine("El resultado de la multiplicación es: " + numero1*numero2);
Profesor: M.Sc. Carlos Manuel Celestrín Campa
UM
Asignatura: Programación 1 Curso:
9
break;
case 3:
Console.WriteLine("La raíz cuadrada del primer número es " + Math.Sqrt(numero1));
Console.WriteLine("La raíz cuadrada del segundo número es" +Math.Sqrt(numero2));
break;
case 4:
Console.WriteLine("El cuadrado del primer número es " + Math.Pow(numero1,2));
Console.WriteLine("El cuadrado del segundo número es " + Math.Pow(numero2,2));
break;
default:
Console.WriteLine ("Opción no definida, intente de nuevo");
break;
}
Console.ReadKey();
}
}
(…)
20.Se les explica a los alumnos que por último para concluir se les propone un ejemplo que no solo incluye
las nuevas estructuras de código estudiadas en C#, o sea las estructuras condicionales simples y
múltiples, sino que a su vez utiliza el paradigma orientada objetos, la metodología orientada a objetos.
21.Se les propone entonces continuar desarrollando el caso de estudio Universidad presentado en las
conferencias anteriores:
Ejemplo 3
Próximo al mediodía el decano del Departamento de Informática llama por teléfono a la secretaria
docente y le pregunta si el estudiante Manuel Octavio Celestrin Hernández cumplen con los requisitos
docentes para pertenecer al Cuadro de Honor de la facultad. Poco después la secretaria docente se
encarga de actualizar el índice académico de este estudiante y verificar si posee un índice académico
mayor que 4.8. Minutos después la secretaria docente llama por teléfono al decano para comunicarle si el
estudiante consultado puede pertenecer o no al Cuadro de Honor de la Facultad de Informática.
Profesor: M.Sc. Carlos Manuel Celestrín Campa
UM
Asignatura: Programación 1 Curso:
10
Solución: Etapa de UML (Diagrama de Clases).
Secretaria Docente
Estudiante
cadena nombre
cadena nombres, apellidos
entero nota1, nota2, nota3
void PuedePertenecerCuadroDeHonor ()
real Calcular Promedio ()
Existe una relación de dependencia, relación de uso, entre la clase SecretariaDocente y la clase
Estudiante.
Clase Estudiante
(….)
public class Estudiante
{ string nombres, apellidos;
double nota1,nota2,nota3;
public Estudiante(string nombres,string apellidos, double nota1, double nota2, double nota3)
{
this.nombres=nombres;
this.apellidos=apellidos;
this.nota1=nota1;
this.nota2=nota2;
this.nota3=nota3;
}
public double PromedioNotas()
{ return (nota1+nota2+nota3)/3;
}
}
(…)
Clase Secretaria Docente
(…)
public class SecretariaDocente
{
public SecretariaDocente()
{
}
Profesor: M.Sc. Carlos Manuel Celestrín Campa
UM
Asignatura: Programación 1 Curso:
11
public string PerteneceCuadroHonor (Estudiante e)
{
if(e.PromedioNotas()>4.85)
{return " pertenece al cuadro de honor de la universidad");}
else
return " no pertenece al cuadro de honor de la universidad"); } }
(…)
Clase Principal
(…)
class Program
{
public static void Main(string[] args)
{ SecretariaDocente s= new SecretariaDocente();
Estudiante e=new Estudiante(“Carlos Manuel”,”Celestrin Hernandez”,4.3,4,5);
Console.WriteLine(“El estudiante ”+e.nombres+””+e.apellidos+””+ s.PerteneceCuadroHonor(e));
Console.Write(“Press any key to continue . . . “);
Console.ReadKey(true); } }
(…)
Conclusiones:
1. Se concluye la clase realizando un resumen de los temas tratados construyendo con los estudiantes un
mapa conceptual (se evalúan a los estudiantes que participan.)
Profesor: M.Sc. Carlos Manuel Celestrín Campa
UM
Asignatura: Programación 1 Curso:
12
2. Se recuerda como encontrar el tema impartido, clase, bibliografía orientada y los ejercicios de estudio
independiente con carácter evaluativo en la plataforma MODDLE, así como se realiza una breve
descripción de la temática a tratar en el próximo encuentro: Las estructuras iterativas.
Bibliografía:
2. Colectivos de autores; Programación orientada objetos en C#, Universidad de Ciencias Informáticas.
Universidad de Matanzas, 2003. Pág. 83-99.
3. Mayo Joseph; C# al descubierto, Editorial Félix Valera La Habana, 2010.
Anotaciones
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
_______________________________________________________________
i
Según las Escrituras Sagradas Hebreas Arameas, hijo de Nun; efraimita que sirvió a Moisés y más
tarde fue nombrado su sucesor. (Éx 33:11; Dt 34:9; Jos 1:1, 2.) Las Escrituras describen a Josué como un
caudillo denodado e impávido, convencido de la veracidad de las promesas de Jehová, obediente a la dirección
divina y resuelto a servir fielmente a Jehová.
Profesor: M.Sc. Carlos Manuel Celestrín Campa
UM
Descargar