guia didactica de la unidad v. lapso 2014_1
DESCRIPTION
informativoTRANSCRIPT
GUIA DIDACTICA
UNIDAD V
Implementación de modelos orientados a objetos utilizando
estructuras secuenciales y selectivas
Autora:Profa. Erys Piñero [email protected]
Barquisimeto, Junio 2014
UUNNIIVVEERRSSIIDDAADD CCEENNTTRROOCCCCIIDDEENNTTAALL
LLIISSAANNDDRROO AALLVVAARRAADDOO
SSIISSTTEEMMAA DDEE EEDDUUCCAACCIIOONN AA DDIISSTTAANNCCIIAA
DDEECCAANNAATTOO DDEE CCIIEENNCCIIAASS YY TTEECCNNOOLLOOGGIIAA
2
Unidad V: Implementacion de modelos orientados a objetos con estructuras Secuenciales y Selectivas. Profa. Erys Piñero
Junio 2014
GUIA DIDACTICA
UNIDAD V
Implementación de modelos orientados a objetos con estructuras secuenciales y selectivas.
UUNNIIVVEERRSSIIDDAADD CCEENNTTRROOCCCCIIDDEENNTTAALL
LLIISSAANNDDRROO AALLVVAARRAADDOO
SSIISSTTEEMMAA DDEE EEDDUUCCAACCIIOONN AA DDIISSTTAANNCCIIAA
DDEECCAANNAATTOO DDEE CCIIEENNCCIIAASS YY TTEECCNNOOLLOOGGIIAA
Datos de Identificación
Elaborado por: Profesora. Erys Piñero
Correo-electrónico: [email protected]
Fecha Elaboración: Julio 2011.
Fecha de Última Actualización: Junio 2014.
3
Unidad V: Implementacion de modelos orientados a objetos con estructuras Secuenciales y Selectivas. Profa. Erys Piñero
Junio 2014
Tabla de Contenidos
Página
Introducción…………………………………………………………………...... 04
Objetivo General de Aprendizaje…………………………………………...… 05
Objetivos Específicos de Aprendizaje………………………………………… 05
Contenidos………………………………………………………………………. 06
Fuentes de Información………………………………………………………… 06
Evaluación de los Aprendizajes……………………………………………….. 07
SEGUNDA PARTE UNIDAD V
Desarrollo del Aprendizaje…………………………… 08
Conocimientos previos……………………………………………..… 08
Reglas sintácticas y semánticas de la herramienta de programación…. 09
Ejercicios simples utilizando la herramienta de programación propuesta……………………………………………………………
17
Estructuras Secuenciales y Selectivas……………………………………. 21
a. Sintaxis de las estructuras Secuenciales…………………………… 21
b. Sintaxis de las estructuras Selectivas Simples…………………….. 23
c. Sintaxis de estructuras Selectivas Anidadas. 25
Resolución de problemas con una y dos clases de objetos, utilizando estructuras secuenciales y selectivas……………………………………….
29
Prueba y/o simulación de los modelos elaborados………………………. 34
Ejercicios propuestos………………………………………………………... 34
Referencias…………………………………………………………………... 37
4
Unidad V: Implementacion de modelos orientados a objetos con estructuras Secuenciales y Selectivas. Profa. Erys Piñero
Junio 2014
Introducción
En esta unidad se propone un pseudolenguaje sencillo para la construcción de
algoritmos. Además se estudian las estructuras básicas de los algoritmos. Se debe
hacer notar que las estructuras básicas de los algoritmos son conceptos propios
de la programación estructurada y son utilizadas por la programación orientada a
objetos para la codificación de los métodos que forman parte de las clases.
Las estructuras básicas pueden ser:
Secuenciales: cuando una instrucción del programa sigue a otra.
Selección o decisión: acciones en las que la ejecución de alguna
dependerá de que se cumplan una o varias condiciones.
Repetición o Iteración: cuando un proceso se repite hasta que
cierta condición sea establecida para finalizar ese proceso. Será
objeto de estudio en la próxima unidad.
En esta unidad se definen las estructuras secuenciales y selectivas, se presentan
ejemplos y se resuelven ejercicios paso a paso, aplicando la metodología
estudiada, para que usted se sienta llevado de la mano, siempre acompañado y al
final con gran facilidad pueda resolver problemas usando programación orientado
a objeto con las estructuras estudiadas. Finalmente se presenta una serie de
ejercicios propuestos para que verifique sus conocimientos.
El estudio de esta unidad curricular sirve de base para los temas que siguen a
continuación. Es cuando el estudiante comienza a adquirir la lógica de
programación. Se hace énfasis en desarrollar la habilidad y destreza en el
5
Unidad V: Implementacion de modelos orientados a objetos con estructuras Secuenciales y Selectivas. Profa. Erys Piñero
Junio 2014
estudiante para la resolución de problemas bajo el enfoque orientado a objetos,
constituyendo esto el aspecto básico en el desarrollo de ésta asignatura.
Objetivo General de Aprendizaje.
Construir Modelos empleando el Análisis, el Diseño y la Implementación
Orientados a Objetos, haciendo uso de las estructuras Secuenciales y Selectivas.
Objetivos Específicos de Aprendizaje.
Estimado estudiante a continuación se le presentan los objetivos específicos
que debe alcanzar para terminar el estudio de este tema. Léalos
detenidamente y al finalizar el estudio asegúrese que los ha cubierto
plenamente.
1. Conocer las reglas sintácticas y semánticas de la herramienta de
implementación de programas bajo el enfoque Orientado a Objeto.
2. Desarrollar Modelos Orientados a Objeto, aplicando la metodología
propuesta, que requieran la utilización de estructuras Secuenciales
3. Desarrollar Modelos Orientados a Objetos, aplicando la metodología
propuesta, que requieran la utilización de estructuras Selectivas simples y
anidadas.
4. Comprobar el funcionamiento de los Modelos Elaborados
6
Unidad V: Implementacion de modelos orientados a objetos con estructuras Secuenciales y Selectivas. Profa. Erys Piñero
Junio 2014
Contenidos
Reglas sintácticas y semánticas de la herramienta de programación.
Ejercicios simples utilizando la herramienta de programación
propuesta.
Estructuras Secuenciales y Selectivas
Sintaxis de las estructuras Secuenciales
Sintaxis de las estructuras Selectivas simples
Sintaxis de las estructuras Selectivas Anidadas.
Resolución de problemas, con una y dos clases de objetos, utilizando
estructuras Secuenciales y Selectivas.
Prueba y/o simulación de los modelos elaborados
Fuentes de Información
En este tema no se usará un texto guía único. Sin embargo, le recomiendo hacer
la revisión bibliográfica del siguiente material:
FUNDAMENTOS DE PROGRAMACION (Joyanes, 2003) Págs. 86,87, 103,
104,131-132, 136,137,
Sitios Web recomendados:
Definición de estructuras secuenciales
http://www.desarrolloweb.com/articulos/2199.php
Definición de estructuras selectivas http://www.desarrolloweb.com/articulos/2225.php
7
Unidad V: Implementacion de modelos orientados a objetos con estructuras Secuenciales y Selectivas. Profa. Erys Piñero
Junio 2014
Evaluación de los Aprendizajes
Para evaluar la habilidad y destreza adquirida para resolver problemas o
situaciones planteadas bajo el Paradigma Orientado a Objeto aplicando la
metodología para la construcción de algoritmos y haciendo uso de estructuras
secuenciales y selectivas tendrá la oportunidad de realizar diversos tipos de
actividades tanto formativas como sumativas:
Talleres (presencial/línea) con carácter sumativo, es decir, con puntaje
acumulativo.
La segunda prueba larga evalúa en forma sumativa esta unidad.
Debe tener en cuenta que mientras mas participe en las evaluaciones de carácter
formativo estará adquiriendo habilidades y destrezas para el logro de los objetivos,
pues le reportan avances logrados.
8
Unidad V: Implementacion de modelos orientados a objetos con estructuras Secuenciales y Selectivas. Profa. Erys Piñero
Junio 2014
SEGUNDA PARTE
Desarrollo del Aprendizaje –
Conocimientos previos Con miras a que termine el tema con éxitos, es necesario que repase los temas
que se enumeran a continuación. Se le recomienda hacer una revisión profunda,
ya que de esto depende la comprensión de esta unidad.
Cálculos de promedios
Cálculos de porcentajes
Evaluación de una expresión aritmética
Tipos de datos
Metodología para la resolución de problemas orientados a objetos,
Unidad IV, donde se resuelven paso a paso una serie de ejercicios,
que son modelos, para resolver otros de mayor complejidad.
9
Unidad V: Implementacion de modelos orientados a objetos con estructuras Secuenciales y Selectivas. Profa. Erys Piñero
Junio 2014
Reglas sintácticas y semánticas de la herramienta de programación Para representar un algoritmo se usan métodos que permita independizar el
algoritmo de un determinado lenguaje de programación. Entre los métodos mas
utilizados se encuentran: Diagramas de flujo (se representa por medio de gráficos)
y lenguaje de descripción de algoritmos: pseudolenguaje o pseudocódigo. En este
curso solo se trabajará con el segundo método.
El pseudolenguaje, según Luis Joyanes (2003) es un lenguaje que describe un
algoritmo. Un pseudocódigo no puede ser ejecutado por una computadora, pero
es un paso previo, que facilita el trabajo de traducción a un lenguaje de
programación. Entonces ¿Porque usarlo? La respuesta es sencilla, con el uso de
un pseudocódigo, el programador se concentra en la lógica de programación y el
uso de las estructuras elementales y no en las reglas o sintaxis de un lenguaje
específico de programación. Es definir los procesos de formulación de una
solución a una situación planteada, apoyándose en conceptos y estructuras
propias de la programación.
Aunque no existen reglas para escritura del pseudocódigo, se ha escogido una
notación estándar que se utilizará en este curso.
Las palabras reservadas se denotan como palabras en minúsculas. Ejemplos:
inicio, clase, fin, leer, real, escribir, entero, retornar
Los identificadores se utilizan como nombres de variables, constantes,
estructuras de datos, clases o nombre de funciones y métodos. Deben comenzar
con una letra del alfabeto en mayúscula. Los siguientes caracteres son una
secuencia de letras en minúscula, dígitos (cadena de caracteres alfanuméricos) y
10
Unidad V: Implementacion de modelos orientados a objetos con estructuras Secuenciales y Selectivas. Profa. Erys Piñero
Junio 2014
el símbolo de subrayado (_) y no puede contener ningún carácter especial.
Ejemplos de identificadores: Nombre, Edad, Calcular_Nota o CalcularNota
NO SON IDENTIFICADORES
%Porcentaje No comienza con una letra y posee el carácter %
mayor No comienza con una letra en mayúscula
Numero 1 Contiene un carácter blanco
Porcentaje# Posee el carácter #
clase Es palabra reservada
Actividades de control Complete la tabla indicando cuales son identificadores y cuales no. En
caso de no ser identificador indique ¿por que?
Nombre del identificador ¿Es identificador?
Nota 1 No, posee carácter blanco
Edad Si
Promedio()
Casa
Dirección?
Tlf
NroEmpleado
#Niños
Señor
inicio
Los comentarios son textos adicionales que se añade al programa para explicar
su funcionalidad. Se definen como una secuencia de texto precedida por “// “.
11
Unidad V: Implementacion de modelos orientados a objetos con estructuras Secuenciales y Selectivas. Profa. Erys Piñero
Junio 2014
Los tipos de datos según su naturaleza se especifican en la notación con las
palabras minúsculas correspondientes a sus nombres: entero, real, lógico,
alfanumérico.
Tipo de dato entero: las operaciones permitidas son: Aritméticas: +, -, *, /, %
(resto de la división) y de comparación: =, >, <, ≤, ≥, <>
Tipo de dato real: las operaciones permitidas son: Aritméticas: +, -, *, / y de
comparación: =, >, <, ≤, ≥, <>
Tipo de dato lógico: las operaciones permitidas son: de comparación: =, <> y
Lógicas: no, o, y
Tipo de dato alfanumérico: las operaciones permitidas son de comparación: =, >,
<, ≤, ≥, <>
Le recomiendo que realice la siguiente lectura:
LECTURA RECOMENDADA.
FUNDAMENTOS DE PROGRAMACION. Algoritmos, estructuras
de datos y objetos (Luis Joyanes Aguilar, 2003). Pág. 103 y 104.
“La operación de asignación”
Una vez realizada las lecturas indicadas realice las actividades que se muestra a
continuación:
Actividades de control
¿Para que se utilizan la operación de asignación?
¿Cómo se representa la operación de asignación?
¿Cual es el formato general de una operación de asignación?
12
Unidad V: Implementacion de modelos orientados a objetos con estructuras Secuenciales y Selectivas. Profa. Erys Piñero
Junio 2014
Instrucciones de Entrada: “Esta instrucción lee datos de un dispositivo de
entrada” (por ejemplo el teclado) Luis Joyanes (2003), pág 87. Este dato va a ser
almacenado en la variable que aparece a continuación de la instrucción: leer
identificador
Ejemplo leer Edad
Instrucciones de Salida: “Estas instrucciones se escriben en un dispositivo de
salida”, Luis Joyanes (2003), pág 87. La forma es: escribir valor
Constantes: son valores que no varían durante la ejecución de un programa. Se
declaran usando la palabra reservada constante y se le asigna un valor en el
momento de la declaración.
Se definen mediante el siguiente formato:
constante Tipo Identificador valor
Ejemplos: constante real Pi 3.141592
constante entero DiasSemana 7 Variables: Son valores que varían durante la ejecución de un programa.
Se definen mediante el siguiente formato:
Tipo Identificador //Una variable
Tipo Identificador1,...,Identificadorn //Varias variables
Tipo IdentificadorValor //Asignar un valor inicial
Tipo Identificador Identificador
Ejemplos: entero Hijos
13
Unidad V: Implementacion de modelos orientados a objetos con estructuras Secuenciales y Selectivas. Profa. Erys Piñero
Junio 2014
real Sueldo, Promedio
alfanumérico Respuesta ”S”
entero Numero1 345, Numero2 23
Actividades de control
Explique que sucede en esta declaración:
entero Edad1 Edad2
Los parámetros: se definen como:
Tipo Tipo _ parámetro Identificador
Donde:
Tipo: Indica el tipo de dato según su naturaleza
Tipo _ parámetro: Por referencia (↑) o por valor (↓)
Ejemplo: entero ↓ Edad Un programa en pseudolenguaje es una colección de funciones. Todas las
funciones contiene una o más instrucciones encerradas entre las palabras
reservadas inicio y fin Existen dos tipos de funciones:
Las funciones que no retornan un valor
Las funciones que retornan un valor.
14
Unidad V: Implementacion de modelos orientados a objetos con estructuras Secuenciales y Selectivas. Profa. Erys Piñero
Junio 2014
Si la función no retorna un valor tiene la siguiente estructura:
Identificador_de_la_función (Parámetros)
inicio
//Cuerpo de la función
fin
Si la función retorna un valor:
Tipo Identificador_de_la_funcion()
inicio
//Cuerpo de la función
retornar Identificador
fin
Dentro de una función también se pueden declarar variables y estructuras de
datos. Todas estas declaraciones son locales a la función y por lo tanto pierden
validez y alcance fuera del contexto de la función.
Actividades de control
De ejemplo de una función que no retorna un valor
Las funciones pueden ser invocadas en cualquier parte de un algoritmo. La forma
de hacerlo es:
Identificador_de_la_función(lista de parámetros)
15
Unidad V: Implementacion de modelos orientados a objetos con estructuras Secuenciales y Selectivas. Profa. Erys Piñero
Junio 2014
Un método a nivel de programación es una función que pertenece a
una clase. Todo método es una función, pero no todas las funciones
son métodos.
La estructura de un programa orientado a objetos consta de:
Definición de la estructura de la clase
Desarrollo de los métodos de la clase
Desarrollo de las funciones propias del programa de aplicación (Opcional)
Cuerpo principal del programa de aplicación
1.- Definición de la estructura de la clase
Se definen los atributos de la clase y sus métodos
clase Identificador
inicio
privado:
tipo Atributo1
tipo Atributo2
público:
Metodo1(Tipo Tipo _ parámetro Identificador)
tipo_retorno etodo ()
fin // fin de la clase
Donde Atributo1, Atributo2 pueden ser constantes o variables simple, clases o
datos de tipo estructurado y Metodo1 y Metodo2 son funciones
16
Unidad V: Implementacion de modelos orientados a objetos con estructuras Secuenciales y Selectivas. Profa. Erys Piñero
Junio 2014
Desarrollo de los métodos de las clases
Identificador metodo (parámetros)
inicio
// Cuerpo del método
fin
Tipo Identificador metodo ()
inicio
//Cuerpo del método
retornar Identificador
fin
Desarrollo de las funciones propias del programa de aplicación
(Opcional Tipo Identificador_de_la_funcion (parámetros)
inicio
//Cuerpo de la función
fin
Cuerpo principal del programa de aplicación // Cuerpo principal
principal( )
inicio
ClaseIdentificador ObjIdentificador // Creación del objeto
// Definición de variables
// Cuerpo de la función principal
fin
17
Unidad V: Implementacion de modelos orientados a objetos con estructuras Secuenciales y Selectivas. Profa. Erys Piñero
Junio 2014
Ejercicios simples utilizando la herramienta de programación propuesta
Ejercicio 1 Calcular el promedio de tres notas (Nota1, Nota2 y Nota3) de tipo real.
Solución:
Para resolver el problema se siguen los pasos de la metodología estudiada:
Identificar las clases y objetos: para ello se debe subrayar los sustantivos
y verbos o frases con verbos para crear la lista, en este ejemplo sería:
Calcular el promedio de tres notas (Nota1, Nota2 y Nota3).
Asignación de atributos y métodos: Una vez realizado el subrayado, en
el paso anterior, se crea la lista de sustantivos y verbos o frases con verbos
y se asignan responsabilidades: clase, atributos o métodos.
¿Ahora, cual es la clase? Recuerde que una clase tiene atributos y
métodos, por tanto, Notas es la clase y Nota1, Nota2 y Nota3 son los
atributos.
Luego se construye el siguiente listado:
Lista Clasificación Nota1------------------------------------------ Atributo/Notas Nota2------------------------------------------ Atributo/Notas Nota3------------------------------------------ Atributos/Notas Notas------------------------------------------ Clase CalcularPromedio ------------------------ Método/Notas
18
Unidad V: Implementacion de modelos orientados a objetos con estructuras Secuenciales y Selectivas. Profa. Erys Piñero
Junio 2014
Se define las operaciones que se deben ejecutar, en este ejemplo se
tendría:
Promedio ← (Nota1 + Nota2 + Nota3)/3
Diseño de la estructura de la clase: Notas.
Recuerde que la forma de representar gráficamente una clase es un
rectángulo, dividido en tres bandas. La primera banda contiene el
nombre de la clase, la banda central los atributos y la banda inferior
contiene los métodos.
Notas
real Nota1 real Nota2 real Nota3
Asignar_Nota1(real ↓ Valor ) Asignar_Nota2(real ↓ Valor ) Asignar_Nota3 (real ↓ Valor3) real Sacar_Nota1() real Sacar_Nota2() real Sacar_Nota3()
real CalcularPromedio()
La banda central contiene Atributos:
Nota1, Nota2 y
Nota3
La banda
inferior
contiene los
Métodos
La banda superior contiene
Nombre de la clase
Para sumar
tres notas se usa
el símbolo +
Para dar valor a una
variable se usa el
símbolo ← Los paréntesis se
usan para que sume
primero las tres
notas y luego divida
el resultado entre 3
19
Unidad V: Implementacion de modelos orientados a objetos con estructuras Secuenciales y Selectivas. Profa. Erys Piñero
Junio 2014
A continuación se explica como se define la estructura en pseudolenguaje.
// Definición de la estructura de la clase
clase Notas
inicio
privado: real Nota1,Nota2, Nota3
público:
//Métodos para asignar o meter datos Asignar_Nota1 (real ↓ Valor1)
Asignar_Nota2 (real ↓ Valor2)
Asignar_Nota3 (real ↓ Valor3)
//Métodos para sacar datos
real Sacar_Nota1 ()
real Sacar_Nota2 () real Sacar_Nota3 ()
// Métodos propios de la clase
real CalcularPromedio ()
fin // Notas
En este momento queda definida la clase Notas
Si no ha quedado clara la definición de la estructura de la clase, reléala, para
poder continuar.
Actividades de control
¿Para que se define la clase Notas?
Se declaran
los atributos
La palabra
reservada
clase, define
la clase:
Notas
Se declaran
los métodos
Observe que la definición de la
estructura de la clase es una copia
textual del diseño de la clase
20
Unidad V: Implementacion de modelos orientados a objetos con estructuras Secuenciales y Selectivas. Profa. Erys Piñero
Junio 2014
//Métodos propios de la clase
Notas Asignar_Nota1 (real ↓ Valor1)
inicio Nota1 ← Valor1
fin Notas Asignar_Nota2 (real ↓ Valor2)
inicio Nota2 ← Valor2
fin Notas Asignar_Nota3 (real ↓ Valor3)
inicio Nota3 ← Valor3
fin real Notas Sacar_Nota1 ( )
inicio
retornar Nota1
fin
real Notas Sacar_Nota2 ( )
inicio
retornar Nota2 fin
real Notas Sacar_Nota3 ( )
inicio
retornar Nota3 fin Otra forma, sin utilizar variables
entero Notas CalcularPromedio() adicionales
inicio inicio
real Promedio retornar (Nota1+Nota2+Nota3)/3 Promedio ← (Nota1 + Nota2 + Nota3)/3 fin
retornar Suma
fin
Se desarrollan los
métodos de la
clase
21
Unidad V: Implementacion de modelos orientados a objetos con estructuras Secuenciales y Selectivas. Profa. Erys Piñero
Junio 2014
// Programa de aplicación principal( )
inicio
Notas ObjNotas //Creación del objeto
InterfazEntrada(ObjNotas) InterfazSalida(ObjNotas)
fin
InterfazEntrada(Notas ↑ ObjNotas)
inicio real Valor1, Valor2, Valor2 //Definición de variables
escribir “Escriba la nota 1”
leer Valor1 // Lectura de la Nota1
objNotas. Asignar_Nota1(Valor1)
escribir “Escriba el nota 2”
leer Valor2 //Lectura de la Nota2
objNotas. Asignar_Nota2(Valor2)
escribir “Escriba el nota 3”
leer Valor3 // Lectura de la Nota3
objNotas. Asignar_Nota3(Valor3)
fin InterfazSalida(Notas ↓ ObjNotas)
inicio
escribir” La primera nota es “ , ObjNotas.Sacar_Nota1( )
escribir” La primera nota es “ , ObjNotas.Sacar_Nota2( ) escribir” La primera nota es “ , ObjNotas.Sacar_Nota3( )
escribir “El promedio de las tres notas es “, ObjNotas.CalcularPromedio()
fin
Actividades de control
¿Qué función tiene la última instrucción del principal, en el
ejercicio anterior. (escribir “El promedio de las tres notas es: “,
ObjNotas.CalcularPromedio())?
Notas es la clase
ObjNotas es el
Objeto
22
Unidad V: Implementacion de modelos orientados a objetos con estructuras Secuenciales y Selectivas. Profa. Erys Piñero
Junio 2014
Estructuras Secuenciales. Hasta ahora se ha estudiado en la Unidad II: Algoritmos y Programación, Unidad
III: Paradigma orientado a objeto para la resolución de problemas y Unidad IV:
Metodología para la resolución de problemas bajo el enfoque orientado a objetos.
En esta unidad se aplican todos estos conocimientos.
Según Joyanes Luis (2003). Pág. 132, el término flujo de control se refiere al orden
en que se ejecutan las instrucciones de un programa, a menos que se indique
expresamente, el flujo normal de control de todos los programas es secuencial, es
decir, las sentencias se ejecutan en secuencia, una después de otra, en el orden
en que se sitúan dentro del programa.
Según Flores Juan (2003). Pág. 76 “Los algoritmos y su codificación en
pseudolenguaje necesitan estructuras secuenciales para poder recibir datos,
realizar los cálculos necesarios y mostrar la información resultante”.
Entre las estructuras secuenciales se tienen:
Estructura para la salida de información: Este tipo de estructuras permite
mostrar información a través de un dispositivo de salida de una computadora.
La instrucción escribir, que es la palabra que se utiliza en el pseudolenguaje
usado para la representación de la salida.
Observe en el ejemplo anterior como se usa la instrucción escribir.
Estructura para la entrada de datos: se refiere a la forma o mecanismo que
se emplean para que podamos ingresar los datos que necesita un algoritmo
para que pueda procesarlos y obtener la información necesaria. Este tipo de
23
Unidad V: Implementacion de modelos orientados a objetos con estructuras Secuenciales y Selectivas. Profa. Erys Piñero
Junio 2014
estructuras nos permiten ingresar datos a través de un dispositivo de entrada
de una computadora. La instrucción leer es la palabra que se utiliza en el
pseudolenguaje usado para la entrada de los datos.
Estructura para operaciones aritméticas y de cálculos: Se refiere a la forma o
mecanismo que se emplean para poder procesar los datos ingresados y
obtener la información necesaria.
Actividades de control
1. Defina con sus palabras que son estructuras secuenciales.
2. ¿Para que los algoritmos y su codificación en pseudolenguaje
necesitan estructuras secuenciales?
3. Muestre cual es la representación grafica de este tipo de
estructuras
Ahora verifique que domina el concepto de estructuras secuenciales, por tanto, si
aún tiene dudas, regrese, por favor, y estúdielos a profundidad, es para su
beneficio. Le aseguro que vale la pena regresar para que esta unidad sea muy
sencilla de terminar.
24
Unidad V: Implementacion de modelos orientados a objetos con estructuras Secuenciales y Selectivas. Profa. Erys Piñero
Junio 2014
Estructuras Selectivas
Hasta el momento se han analizado problemas donde las instrucciones se realizan
en forma secuencial, pero en determinados casos se necesita evaluar una
condición y en función del resultado se realiza una u otra acción. Estas son las
llamadas estructuras selectivas de decisión o alternativas.
Ahora, por favor, realice la siguiente lectura:
LECTURA RECOMENDADA.
FUNDAMENTOS DE PROGRAMACION (Luis Joyanes, 2003)
Pág. 135
Una vez realizada la lectura recomendada anteriormente realice la siguiente
actividad.
Actividades de control
1. Indique los tipos de estructuras selectivas o alternativas.
2. Explique las estructuras selectivas simples
3. Muestre cual es la representación grafica de este tipo de
estructuras
25
Unidad V: Implementacion de modelos orientados a objetos con estructuras Secuenciales y Selectivas. Profa. Erys Piñero
Junio 2014
El formato general de la instrucción es decidir si una determinada sentencia debe
ejecutarse o no (alternativa simple) es el siguiente:
si (condición) instrucción La instrucción si puede escribirse también más general para controlar la ejecución
de un grupo de sentencias, de la siguiente forma:
si (condición) inicio instrucción1 instruccion2 : instrucción fin . Ejemplo usando una sola instrucción
si (Num > 0) // Comprobar si el numero es positivo
escribir “ el numero es positivo”
Ejemplo usando varias instrucciones
si (Num > 0) // Comprobar si el número es positivo
inicio
escribir “el numero “, Num
escribir “ es positivo” fin
si va en minúscula por
ser palabra
reservada La condición va
entre
par La condición va
entre
paréntesis
éntesis
inicio, es palabra
reservada
fin, es palabra
reservada
26
Unidad V: Implementacion de modelos orientados a objetos con estructuras Secuenciales y Selectivas. Profa. Erys Piñero
Junio 2014
Observe que solo se necesita saber si el número es positivo. En otro
caso no hacer nada.
Si se van a escribir más de dos instrucciones se encierran entre las
palabras reservadas inicio y fin.
Ahora, por favor, realice la siguiente lectura:
LECTURA RECOMENDADA.
FUNDAMENTOS DE PROGRAMACION (Luis Joyanes, 2003)
Pág. 136-137
Una vez realizada la lectura recomendada anteriormente realice la siguiente
actividad.
Actividades de control
1. Explique las estructuras selectivas dobles
2. Muestre cual es la representación grafica de este tipo de
estructuras
El formato general de la instrucción para decidir si una determinada sentencia
debe ejecutarse o no es el siguiente:
si (condición)
instrucción1
sino instruccion2
27
Unidad V: Implementacion de modelos orientados a objetos con estructuras Secuenciales y Selectivas. Profa. Erys Piñero
Junio 2014
y para un grupo de instrucciones
si (condición)
inicio
instrucción11
instruccion12
:
Instruccion1n
fin
sino
inicio
instruccion21
instruccion22
:
Instruccion2n
fin
Ejemplo
si (num1>num2) //calcular el mayor valor entre dos números diferentes mayor ← num1
sino mayor ← num2
Observe que en este ejemplo interesa realizar una acción si el resultado de la
condición es verdadera y otra si es falsa.
Otro ejemplo si (AñosServicio>15)
inicio Exceso ← AñosServicio – 15
Bono ←Exceso *500
fin
sino Bono ← 0
Observe que si la condición si (AñosServicio>15) es verdadera
entonces se ejecutan 2 instrucciones, por tanto deben encerrarse entre
las palabras reservadas inicio y fin. Pero si la condición es falsa, solo se
hace una instrucción (Bono ← 0).
28
Unidad V: Implementacion de modelos orientados a objetos con estructuras Secuenciales y Selectivas. Profa. Erys Piñero
Junio 2014
Ahora, por favor, realice la siguiente lectura:
LECTURA RECOMENDADA.
FUNDAMENTOS DE PROGRAMACION (Luis Joyanes, 2003)
Pág. 142 y 144
Una vez realizada la lectura recomendada anteriormente realice la siguiente
actividad.
Actividades de control
1. Explique las estructuras selectivas múltiples
2. Muestre cual es la representación grafica de este tipo de
estructuras
El formato general de la instrucción son tomas de decisión especializada que
permiten comparar una variable contra distintos posibles resultados, ejecutando
para cada caso una serie de instrucciones específicas
si (condición1)
inicio
si (condicion2)
instruccion1
sino
instruccion2
fin
sino
inicio
si (condicion3)
instruccion3
sino
instruccion4
fin
29
Unidad V: Implementacion de modelos orientados a objetos con estructuras Secuenciales y Selectivas. Profa. Erys Piñero
Junio 2014
Donde instruccion1, instruccion2, instruccion3 o instruccion4 pueden ser a su vez
estructuras condicionales.
Ejemplo
si ((Hora>=0) y (Hora<12))
escribir “Buenos días”
sino si ((Hora>=12) y (Hora<18))
escribir “Buenas tardes”
sino
si ((Hora>=18) y (Hora<24))
escribir “Buenas tardes” sino escribir “Hora no valida”
Otro ejemplo:
si (edad > 18)
si (estatura>1.80) escribir” Es mayor que 18 y estatura>1.80”
sino
escribir “Es mayor que 18 y estatura<=1.80”
sino // la edad es <=18
si (sexo=”f”) escribir”Tiene edad <= que 18 y sexo femenino”
sino escribir “Tiene edad <= que 18 y sexo masculino”
Ahora, por favor, realice la siguiente lectura:
LECTURA RECOMENDADA.
Ahora puede leer estructuras selectivas en la siguiente dirección:
http://www.desarrolloweb.com/articulos/2225.php
Para terminar y a modo de repaso, realice la siguiente actividad de control
30
Unidad V: Implementacion de modelos orientados a objetos con estructuras Secuenciales y Selectivas. Profa. Erys Piñero
Junio 2014
Actividades de control
1) 1.Defina que son estructuras selectivas
2) 2.Indique cuando usar estructuras selectivas
3) 3.Explique como se clasifican las estructuras selectivas y de
ejemplos de cada una de ellas.
Una vez estudiado el pseudolenguaje, las estructuras secuenciales y selectivas,
solo, queda resolver algunos ejercicios para aplicar la metodología para la
resolución de problemas bajo el enfoque orientado a objetos.
Resolución de problemas, con una y dos clases de objetos, utilizando estructuras secuenciales y selectivas.
A continuación se estudian algunos ejemplos usando este tipo de estructuras. Ejercicio 1
En una calculadora, dado 2 números diferentes (Numero1, Numero2) enteros,
indicar cual es el mayor valor.
Solución:
Aplicando la metodología estudiada se tiene.
Análisis:
Primero se debe subrayar la lista de sustantivos y verbos o frases con verbos para
crear la lista, en este ejemplo sería:
a) Análisis del problema:
Lista Clasificación Numero1------------------------------------------ Atributo/Calculadora Numero2------------------------------------------ Atributo/Calculadora Calculadora-------------------------------------- Clase Indicar cual es el mayor ---- ----------------- Método/Calculadora
31
Unidad V: Implementacion de modelos orientados a objetos con estructuras Secuenciales y Selectivas. Profa. Erys Piñero
Junio 2014
Todos sabemos que la forma de calcular el mayor valor entre numero1 y Numero2
(sabiendo que son valores diferentes) es:
si (Numero1 > Numero2 ) ayor ←Numero sino ayor ←Numero
Diseño de la estructura de la clase Calculadora
Calculadora
entero Numero1 entero Numero2
Asignar_Numero1(entero ↓ Num1) Asignar_Numero2(entero ↓ Num2) entero Sacar_Numero1() entero Sacar_Numero2
entero IndicarMayor()
Implementación en pseudolenguaje
// Definición de la estructura de la clase clase Calculadora
inicio
privado: entero Numero1,Numero2
publico:
//Métodos para asignar o meter datos Asignar_Numero1(entero ↓ Num1)
Asignar_Numero2(entero ↓ Num2)
//Métodos para sacar datos
entero Sacar_Numero1() entero Sacar_Numero2()
// Otros métodos propios del objeto
entero IndicarMayor()
fin // Calculadora
//Métodos propios de la clase Calculadora Asignar_Numero1( entero ↓ Num1)
inicio Numero1 Num1
fin Calculadora Asignar_Numero2( entero↓ Num2)
inicio Numero2 Num2
fin
32
Unidad V: Implementacion de modelos orientados a objetos con estructuras Secuenciales y Selectivas. Profa. Erys Piñero
Junio 2014
entero Calculadora Sacar_Numero1()
inicio
retornar Numero1
fin entero Calculadora Sacar_Numero2()
inicio
retornar Numero2
fin entero Calculadora IndicarMayor()
inicio
entero Mayor
si (Numero1 > Numero2) Mayor ← Numero1
sino Mayor ← Numero2
retornar Mayor
fin
// Programa de aplicación
principal( )
inicio
Calculadora ObjCalculadora // Creación del objeto InterfazEntrada(ObjCalculadora)
InterfazSalida(ObjCalculadora)
fin
InterfazEntrada(Calculadora ↑ ObjCalculadora)
inicio entero Num1, Num2 // Definición de variables
escribir “Escriba el numero 1”
leer Num1
ObjCalculadora.Asignar_Numero1(Num1) escribir “Escriba el numero 2”
leer Num2
ObjCalculadora.Asignar_Numero2(Num2)
fin InterfazSalida(Calculadora ↓ ObjCalculadora)
inicio
escribir”El numero 1 es “ , ObjCalculadora.SacarNumero1( )
escribir”El numero 2 es “ , ObjCalculadora.SacarNumero2( )
escribir (“El Mayor es: “,ObjCalculadora.IndicarMayor()) fin
33
Unidad V: Implementacion de modelos orientados a objetos con estructuras Secuenciales y Selectivas. Profa. Erys Piñero
Junio 2014
Actividades de control
1. ¿Cambia el método IndicarMayor si los números enteros del
ejercicio anterior pudieran ser iguales?
2. Si hay cambios ¿Cuáles serian?
3. Realice el análisis al siguiente ejercicio. En una calculadora
dados dos números, Numero1 y Numero2, indicar si son
iguales o si hay uno mayor.
Actividades de control
Resuelva el siguiente ejercicio. Si se tienen tres números reales y nos
piden calcular el mayor de ellos. No se sabe nada de si algunos de ellos
están repetidos.
Reúnase con sus compañeros de clase, virtual o presencial, para
comparar sus resultados.
Actividades de control
Trate de resolver el próximo ejercicio 2, sin antes ver la solución de
sus compañeros, luego compare los resultados.
Actividades de control
1) Resuelva el resto de los ejercicios de la sesión EJERCICIOS
PROPUESTOS. Luego, si tiene dudas consulte con su profesor o
preparador
34
Unidad V: Implementacion de modelos orientados a objetos con estructuras Secuenciales y Selectivas. Profa. Erys Piñero
Junio 2014
2) Reúnase con sus compañeros de clase, en forma virtual (a través de foros o
Chat) o presencial, para intercambiar soluciones y puntos de vista.
Le sugiero realizar todas las actividades de control que le permite poner a
prueba los conocimientos adquiridos.
Recuerde que siempre estoy dispuesta a darle ayuda. Consulte de manera
presencial, en clase o de manera virtual a través de los foros abiertos para tal
fin.
35
Unidad V: Implementacion de modelos orientados a objetos con estructuras Secuenciales y Selectivas. Profa. Erys Piñero
Junio 2014
Prueba y/o simulación de los Modelos elaborados
Es importante que se realice una corrida en frio sobre el algoritmo, escogiendo un
conjunto de datos de entrada, ejecutando manualmente cada instrucción y verificar
que los resultados obtenidos son los esperados de acuerdo al conjunto de datos
de entrada.
Este aspecto se ha desarrollado en forma presencial.
Ejercicios propuestos
Realice el Análisis, Diseño y pseudolenguaje para cada uno de los siguientes
planteamientos
1. Una empresa desea calcular los años de servicio que tiene un empleado. Para
ello se conoce del empleado el nombre y el año de ingreso. Se pide que lea
el año actual y calcule los años de servicios en la empresa
2. Una farmacia desea calcular el sueldo neto a un empleado, sabiendo que tiene
un sueldo base y un bono. Además tiene que descontar un monto que adeuda.
También desea calcular el porcentaje que le descontaron del sueldo base.
3. Un cajero a la hora del cierre debe hacer cuadre de caja, de la siguiente forma:
El dinero que tiene en caja al abrir mas el total de dinero recibido en efectivo
durante el día mas el total de dinero recibido a través todos los recibos de pago
generados con el pago de tarjetas de crédito y debito. En esta tienda no se
acepta como forma de pago “cheques”. Además se debe calcular el
36
Unidad V: Implementacion de modelos orientados a objetos con estructuras Secuenciales y Selectivas. Profa. Erys Piñero
Junio 2014
porcentaje que representa el dinero recibido en efectivo con respecto a la
cantidad de dinero recibido en el día.
4. Un restaurant desea incrementar el sueldo de un trabajador en base a los
siguientes criterios: para los mesoneros el 10%, para el personal
administrativo y de cocina el 15% y para el personal obrero el 20% sobre el
sueldo actual. Se dispone de los siguientes datos del trabajador: cedula, tipo
de trabajador, sueldo actual y años de servicio. Se requiere determinar el
nuevo sueldo para el trabajador. Por otra parte, si el trabajador tiene más de
10 años de servicio en el restaurant se le hace un aumento adicional de Bs.F
500,00 por cada año por encima de 10 años.
5. Un colegio desea incrementar el sueldo de un empleado de acuerdo a lo
siguiente:
Tipo de empleado Incremento (%)
Docente 20
Administrativo 15
Obrero 10
Del empleado se tiene cedula, tipo de empleado y sueldo actual, se requiere
mostrar: Nuevo sueldo del empleado
6. En una empresa tiene por el cliente: nombre, días de atraso y monto de la
deuda. Imprima por el cliente su nombre, monto de la deuda y calcule el
monto de interés a cancelar por atraso de pago. Conociendo que:
37
Unidad V: Implementacion de modelos orientados a objetos con estructuras Secuenciales y Selectivas. Profa. Erys Piñero
Junio 2014
Días de atraso % de interés sobre el
monto de la deuda
>= 30 y < 60 2
>= 60 y <= 90 5
> 90 y <= 120 7
> 120 15
No olvide realizar la(s) actividad(es) de evaluación, la encuentra
disponible en línea.
Muy bien!!!!!!!!!! FELICITACIONES, usted ha logrado concluir con éxito este
tema. Hemos finalizado la unidad V, gracias a su desempeño e interés.
38
Unidad V: Implementacion de modelos orientados a objetos con estructuras Secuenciales y Selectivas. Profa. Erys Piñero
Junio 2014
Referencias
Booch, Grady (1996). Analisis y Diseño orientado a objetos con aplicaciones.
Editorial Addison-Wesley
Cobo Yera, Angel(2005). Programar desde un punto de vista científico. Editorial
Visión libros.
Garrido Carrillo, Antonio (2005). Fundamentos de programación en C++. Delta Publicaciones.
Flores Cueto, Juan José (2003). Método para la solución de problemas utilizando la
programación orientada a objetos. Universidad de San Martín de Porres. Facultad de Ingeniería y Arquitectura.
Joyanes, L. (2003) Fundamentos de programación. Algoritmos, estructuras de
datos y objetos (3ª ed.) Madrid. España: MacGraw-Hill.
Joyanes, L. (2006) Programación en C++. Algoritmos, estructuras de datos y
objetos (2ª ed.) Madrid. España: MacGraw-Hill.
Savitch, Walter. (2007) Resolución de problemas con C++. (5ª ed.) Pearson
Educación.
Sitios Web recomendados:
http://www.desarrolloweb.com/articulos/2199.php
http://www.desarrolloweb.com/articulos/2225.php