0% encontró este documento útil (0 votos)
292 vistas

Guia Fundamentos Programacion PDF

Este documento presenta una guía de estudios para la asignatura de Fundamentos de Programación del primer semestre de la carrera de Tecnología en Análisis de Sistemas. Incluye información general sobre la asignatura como objetivos, contenidos organizados en cinco temas, plan de trabajo y profesores responsables. El objetivo principal es analizar, diseñar y desarrollar soluciones a problemas reales mediante algoritmos y su implementación en un lenguaje de programación.

Cargado por

Diego Torres
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
292 vistas

Guia Fundamentos Programacion PDF

Este documento presenta una guía de estudios para la asignatura de Fundamentos de Programación del primer semestre de la carrera de Tecnología en Análisis de Sistemas. Incluye información general sobre la asignatura como objetivos, contenidos organizados en cinco temas, plan de trabajo y profesores responsables. El objetivo principal es analizar, diseñar y desarrollar soluciones a problemas reales mediante algoritmos y su implementación en un lenguaje de programación.

Cargado por

Diego Torres
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 98

GUIA DE ESTUDIOS

CARRERA: Tecnología en Análisis de Sistemas


SEMESTRE: Primero
ASIGNATURA: Fundamentos de Programación
Cód. Asig.: PF-S1- FUPR
CRÉDITOS: 5 Créditos HORAS: 80 Horas
DOCENTE RESPONSABLE: Ing. José Arce – Ing. Jairo Jiménez

INTRODUCCIÓN:
El Instituto Tecnológico Ismael Pérez Pazmiño ha asumido el compromiso
de formar al ser humano con propuestas educativas innovadoras en
donde se combinen dimensiones científicos-técnicas de alta calidad con
las humanísticas. Es tarea del Instituto formar a las personas y a los
profesionales que requiere la sociedad, profesionales de gran validez con
espíritu de investigación para desarrollar una ciencia y una cultura
humanística.

Fundamentos de Programación es una asignatura que nos introduce en


los conceptos básicos de la lógica de programación, así como las técnicas
para resolver un problema.
Esta asignatura es muy importante para el estudiante ya que es el
corazón de la carrera de Análisis de Sistemas, a partir de ahí el estudiante
estará capacitado para resolver cualquier problema mediante la
computadora. De nada vale ir a la computadora sino tiene presente la
lógica de programación, por ello es necesario que el estudiante preste la
debida atención al desarrollo de la asignatura.

La asignatura de Fundamentos de Programación está organizado en


cinco temas que te garantizan competencia pertinente a un profesional del
Instituto contemporáneo.

Esta guía ha sido elaborada con visión crítica y renovadora pensando en


los estudiantes que deciden estudiar en el Instituto.

“La innovación es lo que distingue a los líderes de los seguidores” (Steve


Jobs)

Te deseamos muchos éxitos.


Adelante!

2 Ing. José Arce – Ing. Jairo Jiménez


Fundamentos de Programación

ÍNDICE

Introducción……………………………………………………………………………. 3

Información general……...………………………………………………………… 4

Syllabus………………………………………………………………………………… 6

Orientaciones para el uso de la guía de estudio 8

Desarrollo de Actividades:

Tema 1………………………….………………...…...………………………………. 13

Tema 2………………………….………………...…...………………………………. 23

Tema 3………………………….………………...…...………………………………. 31

Tema 4………………………….………………...…...………………………………. 39

Anexos

Instituto Tecnológico Superior Ismael Pérez Pazmiño 3


Guía de estudios
SYLLABUS DE LA ASIGNATURA

I. DATOS INFORMATIVOS

CARRERA: Análisis de Sistemas


NIVEL: Tecnológico
TIPO DE CARRERA: Tradicional
NOMBRE DE LA SIGNATURA: Fundamentos de Programación
CÓD. ASIGNATURA: PF-S1-FUPR
PRE – REQUISITO: Ninguno CO – REQUISITO: Ninguno
# CRÉDITOS: 5 créditos TOTAL HORAS: 80 Horas
SEMESTRE: Primero
PERIODO ACADÉMICO: octubre 2015 – marzo 2016
MODALIDAD: Presencial
DOCENTE RESPONSABLE: Ing. José Arce
Ing. Jairo Jiménez

I. FUNDAMENTACIÓN
Esta asignatura aporta, al perfil del tecnólogo, la capacidad para desarrollar un
pensamiento lógico, identificar el proceso de creación de un programa y desarrollo de
algoritmos para resolver problemas.

La asignatura proporciona al estudiante de análisis una herramienta para resolver


necesidades de aplicaciones de la vida ordinaria y de aplicaciones de la tecnología.

Está diseñada para el logro de competencias específicas dirigidas al aprendizaje de


los dominios: manejo de consola y diseño de algoritmos. Comprenderá los conceptos
básicos de la programación y escribirá expresiones aritméticas y lógicas en un
lenguaje de programación. Así como el uso y funcionamiento de las estructuras
secuenciales, selectivas, arreglos unidimensionales y multidimensionales en el

4 Ing. José Arce – Ing. Jairo Jiménez


Fundamentos de Programación

desarrollo de aplicaciones. Será capaz de aplicarlos al construir y desarrollar


aplicaciones de software que requieran dichas estructuras.

Esta asignatura genera las competencias necesarias para que el alumno desarrolle
aplicaciones que den solución a las necesidades que le plantee la vida diaria.

Fundamentos de programación es el soporte directo de las asignaturas: programación


orientada a objetos, estructura de datos, tópicos avanzados de programación y de
forma indirecta se relaciona con el desarrollo de sistemas de software, sistemas
operativos y programación de sistemas.

El objetivo general de esta asignatura es analizar, diseñar y desarrollar soluciones de


problemas reales utilizando algoritmos computacionales para implementarlos en un
lenguaje de programación.

III. OBJETIVOS ESPECÍFICOS

 Introducir al estudiante en la programación mediante problemas de casos de la vida


real con la finalidad de obtener las bases conceptuales necesarias.
 Analizar y desarrollar algoritmos por medio de ejercicios prácticos con la finalidad
de dar solución a problemas reales utilizando el razonamiento lógico.
 Diseñar e implementar soluciones en un lenguaje de programación utilizando los
conceptos adquiridos para la resolución de problemas.
 Identificar, comprender, seleccionar e implementar la estructura de control más
adecuada a un problema específico, así como el diseño de bloques de códigos
reutilizables, mediante el planteamiento de problemas para su respectiva solución.
 Implementar arreglos para una gran variedad de propósitos que proporcionan un
medio conveniente de agrupar variables relacionadas y organizar datos de una
manera que puedan ser fácilmente procesados.

Instituto Tecnológico Superior Ismael Pérez Pazmiño 5


Guía de estudios
IV. CONTENIDOS

Sistema General de Sistema General de Sistema General de


Conocimientos Habilidades Valores
Dominar los conceptos
Conceptos Básicos básicos de la
programación.
Analizar problemas y
 Actitudes que
Algoritmos representar su solución
estimulen la
mediante algoritmos.
Investigación.
Conocer las
características principales  Destrezas tecnológicas
de un lenguaje de relacionadas con el uso
Introducción a la programación. de maquinaria,
Programación. Codificar algoritmos en un destrezas de
lenguaje de programación. computación.
Compilar y ejecutar
 Respeto ante la opinión
programas.
ajena.
Construir programas
utilizando estructuras
 Capacidad crítica y
Control de Flujo condicionales y repetitivas
autocrítica.
para aumentar su
funcionalidad.
Construir programas que
utilicen arreglos
Arreglos unidimensionales y
multidimensionales para
solucionar problemas.

6 Ing. José Arce – Ing. Jairo Jiménez


Fundamentos de Programación

V. PLAN TEMÁTICO
 Tema 1. Conceptos Básicos
 Tema 2. Algoritmos
 Tema 3. Introducción a la Programación
 Tema 4. Control de flujo
 Tema 5. Arreglos

DESARROLLO DEL PROCESO CON TIEMPO EN HORAS

TEMAS DE LA C CP S CE T L E THP TI THA


ASIGNATURA

Tema 1: 5 2 - - - - 1 8 16 24
Conceptos
Básicos

Tema 2: 6 10 - - - 4 - 20 20 36
Algoritmos

Tema 3: 4 10 - - - 4 2 20 20 40
Introducción a la
programación

Tema 4: Control 4 6 - - - 6 - 16 16 32
de Flujo

Tema 5: 4 4 - - - 4 2 14 14 28
Arreglos

EXAMEN FINAL 2 2 - -

Total de horas 24 34 - - - 18 6 82 80 162

II. Leyenda:

C – Conferencias.

S – Seminarios.

CP – Clases prácticas.

CE – Clase encuentro.

Instituto Tecnológico Superior Ismael Pérez Pazmiño 7


Guía de estudios
T – Taller.

L – Laboratorio.

E- Evaluación.

THP – Total de horas presenciales.

TI – Trabajo independiente.

THA – Total de horas de la asignatura.

VI. SISTEMA DE CONTENIDOS POR UNIDADES DIDÁCTICAS


Tema 1: Conceptos Básicos
Objetivo: Introducir al estudiante en la programación mediante problemas de casos de
la vida real con la finalidad de obtener las bases conceptuales necesarias.
Sistema de conocimientos Sistema de habilidades Sistema de Valores

 Reconocer los  Actitudes


 Clasificación del software
conceptos básicos: solidarias y
de: sistemas y aplicación.
algoritmo, programa, conciencia en la
 Algoritmo.
programación, utilización racional
 Lenguaje de
paradigmas de de los recursos
Programación.
programación informáticos.
 Programa.
utilizando mapas
 Programación.
conceptuales,  Actitudes que
 Paradigmas de
mentales, cuadros estimulen la
programación.
sinópticos, etc. investigación
 Editores de texto.
 Conocer el entorno de
 Compiladores e  Capacidad de
un lenguaje de
intérpretes. aplicar los
programación
 Ejecutables. conocimientos en la
 Manejar la consola
 Consola de línea de práctica
para compilar y
comandos.
ejecutar programas.

8 Ing. José Arce – Ing. Jairo Jiménez


Fundamentos de Programación

Tema 2: Algoritmos
Objetivo: Analizar y desarrollar algoritmos por medio de ejercicios prácticos con
la finalidad de dar solución a problemas reales utilizando el razonamiento lógico.
Sistema de conocimientos Sistema de habilidades Sistema de Valores

 Análisis de problemas.  Generar un catálogo  Actitudes que


 Representación de de problemas para su estimulen la
algoritmos: gráfica y análisis y solución. investigación.
pseudocódigo.  Resolver y analizar  Capacidad de
 Diseño de algoritmos problemas cotidianos. aplicar los
aplicados a problemas. conocimientos en la
 Diseño algorítmico de práctica
funciones

Tema 3: Introducción a la programación.


Objetivo: Diseñar e implementar soluciones en un lenguaje de programación
utilizando los conceptos adquiridos para la resolución de problemas.
Sistema de conocimientos Sistema de habilidades Sistema de Valores
 Características del  Analizar información
 Actitudes que
lenguaje de programación necesaria para Instalar
estimulen la
 Estructura básica de un y configurar el
investigación y la
programa. compilador del
innovación
 Traducción de un lenguaje de
tecnológica y
programa: compilación, programación a utilizar.
científica
enlace de un programa,  Realizar cambios en
errores en tiempo de expresiones lógicas y
compilación. algebraicas de un  Actitudes solidarias
y conciencia en la
 Ejecución de un programa modelo y
analizar los resultados utilización racional
programa.
de los recursos
 Elementos del lenguaje: obtenidos.

Instituto Tecnológico Superior Ismael Pérez Pazmiño 9


Guía de estudios
Sistema de conocimientos Sistema de habilidades Sistema de Valores
datos, literales y informáticos.
constantes,
 Capacidad de
identificadores, variables,
aplicar los
parámetros, operadores,
conocimientos en la
entrada y salida de datos.
práctica
 Errores en tiempo de
ejecución.

Tema 4: Control de Flujo.


Objetivo: Identificar, comprender, seleccionar e implementar la estructura de control
más adecuada a un problema específico, así como el diseño de bloques de códigos
reutilizables, mediante el planteamiento de problemas para su respectiva solución..
Sistema de conocimientos Sistema de habilidades Sistema de Valores
 Estructuras secuenciales.  Diseñar programas
 Actitudes que
 Estructuras selectivas: donde se utilicen las
estimulen la
simple, doble y múltiple. estructuras de
investigación y la
 Estructuras iterativas: repetición y selección.
innovación
repetir mientras, hasta,  Construir programas
tecnológica y
desde. que implementen
científica
 Diseño e implementación métodos o funciones.
de funciones
 Actitudes solidarias
y conciencia en la
utilización racional
de los recursos
informáticos.

 Capacidad de
aplicar los
conocimientos en la
práctica

10 Ing. José Arce – Ing. Jairo Jiménez


Fundamentos de Programación

Tema 5: Arreglos.
Objetivo: Implementar arreglos para una gran variedad de propósitos que
proporcionan un medio conveniente de agrupar variables relacionadas y
organizar datos de una manera que puedan ser fácilmente procesados.
Sistema de conocimientos Sistema de habilidades Sistema de Valores
 Unidimensionales:  Diseñar algoritmos
 Actitudes que
conceptos básicos, que utilicen arreglos
estimulen la
operaciones y unidimensionales y
investigación y la
aplicaciones. multidimensionales.
innovación
Multidimensionales:  Desarrollar programas
tecnológica y
conceptos básicos, para implementar las
científica
operaciones y operaciones básicas
aplicaciones. en arreglos.
 Actitudes solidarias
y conciencia en la
utilización racional
de los recursos
informáticos.

 Capacidad de
aplicar los
conocimientos en la
práctica

Instituto Tecnológico Superior Ismael Pérez Pazmiño 11


Guía de estudios
VII. ORIENTACIONES METODOLÓGICAS Y DE ORGANIZACIÓN DE LA
ASIGNATURA.
En cada periodo de clase se presentará el tema, exponiendo el objetivo específico y
las habilidades que se desea alcanzar. Mediante el auto aprendizaje (exploraciones)
los invito a descubrir conceptos y patrones por su propia cuenta, a menudo
aprovechando el poder de la tecnología. Esta participación refuerza su intuición y
habilidad de pensamiento critica. Las actividades (aplicaciones) son una rica y variada
selección de aplicaciones del mundo real, estas ofrecen un constante repaso de las
habilidades para resolver problemas. Además, he incorporado las Actividades en
equipo, motivando al estudiante a pensar, hablar y escribir soluciones en un ambiente
de aprendizaje de mutuo apoyo.

Todo estudiante llevara durante el desarrollo del proceso un diario de campo, donde
recopilara las investigaciones y ejercicios realizados debidamente clasificados e
indexados como material bibliográfico de apoyo.

VIII. RECURSOS DIDÁCTICOS


 Marcadores, Borrador, Pizarra de tiza líquida.

 Laboratorio de computación (características mínimas)

o Hardware: Computador Core Duo 2, RAM 2 GB, 350 MB HD

o Software: Sistemas operativos Windows XP, Windows 7, Windows 8,


Software de Programación Java en NetBeans 8.0.

 Proyector, Laboratorio de Computación

 Folletos-Separatas

 Diapositivas

 Documentos de Apoyo, Guía de Estudio.

12 Ing. José Arce – Ing. Jairo Jiménez


Fundamentos de Programación

IX. SISTEMA DE EVALUACIÓN DE LA ASIGNATURA

El sistema de evaluación será sistemático y participativo. Se negociará con los


estudiantes los indicadores de la evaluación colectiva, tanto para ellos como para el
profesor, se tomarán los siguientes indicadores:

 Asistencia

 Puntualidad

 Participación en clases

 Trabajo en grupo

La evaluación es un proceso continuo y permanente en lo conceptual, procedimental y


actitudinal, de acuerdo al reglamento se aplicarán diferentes tipos de evaluación:

o Diagnóstica: establecer el esquema conceptual de partida.

o Formativa: durante el proceso, permite efectuar reajustes a la planificación, y


retroalimentar la información.

o Final: primera aproximación del diseño de investigación, presentación y defensa


ante los compañeros y el docente.

Cabe destacar que también se aplicará autoevaluación, coevaluación y


heteroevaluación. El sistema de evaluación se desarrollará en dos fases:

1. Evaluación del aprendizaje

a. Inicial

b. Procesual

c. Final

Instituto Tecnológico Superior Ismael Pérez Pazmiño 13


Guía de estudios
2. Acreditación

a. Presentación de un proyecto por escrito.

b. Disertación del proyecto.

X. BIBLIOGRAFÍA BÁSICA Y COMPLEMENTARIA

Básica
 Aguilar, Luis Joyanes. 2008. Fundamentos de Programación. Madrid : Prentice
Hall, 2008. 978-84-481-6111-8.

Complementaria
 Cairo, Osvaldo. 2009. Metodología de la Programación. México : Alfaomega,
2009. 978-958-8307- 589.
 Deitel, Deitel y. 2008. Java como programar. Monterrey-México : Prentice Hall,
2008. 978-970-26-1190-5.
 Joyanes Aguilar, Luis Fernández, Azuela Matilde, Rodríguez Baena Luis.
2003. Fundamentos de Programación Libro de Problemas Algoritmos Estructura de
Datos y Objetos. México : Graw Hill, 2003. 9788448136642.
 Molina, Jesús J. García. 2005. Introducción a la programación un Enfoque
Algorítmico. México : Paraninfo, 2005. 8497321855.
 Román, Leobardo López. 2006. Metodología de la Programación Orientada a
Objetos. México : Alfaomega, 2006. 9789701511732.

Machala, 29 de septiembre del 2015

Ing. José Arce Apolo Ing. Jairo Jiménez


DOCENTE DOCENTE

14 Ing. José Arce – Ing. Jairo Jiménez


Fundamentos de Programación

ORIENTACIONES PARA EL USO DE LA GUÍA DE ESTUDIOS

I. GENERALIDADES

Antes de empezar con nuestro estudio, debes tomar en cuenta lo siguiente:

1. Tener una actitud positiva, voluntad, motivación e interés

2. Lee detenidamente y reflexiona los enlaces y libros que se te mostrarán a


continuación, esto te permitirá tener un concepto más claro del tema a tratar.

3. Cuando hayas hecho la primera lectura comprensiva, procede a desarrollar las


actividades, poniendo en práctica tu actitud crítica y reflexiva, tus capacidades
de síntesis y tu creatividad.

4. Para estudiar debes elegir siempre un lugar tranquilo, cómodo, con buena
iluminación y tener sobre la mesa la bibliografía básica, papel, esfero, etc.

5. Planifica el tiempo dedicado al sueño y a las comidas, casi todos necesitamos


de 8 horas de sueño.

6. Toma en cuenta las horas que son dedicadas a tu trabajo u ocupación personal.
Lo importante es saber determinar el tiempo que necesitas para tus estudios.

7. Si tienes alguna duda o inquietud, contáctate de inmediato con tu docente. Él


estará siempre presto a ayudarte.

Instituto Tecnológico Superior Ismael Pérez Pazmiño 15


Guía de estudios
DESARROLLO DE ACTIVIDADES

Unidad didáctica I: Conceptos Básicos


“La formación en informática no puede convertir a nadie en experto
programador, de la misma forma que estudiar pinceles y pigmentos puede
hacer a alguien un experto pintor”
Eric Raymond.

Introducción:

En este primer capítulo te invitamos a revisar la base teórica de la


asignatura. Es muy importante para el alumno conocer términos como qué
es un software, qué es un programa, qué es un archivo ejecutable, porque
de ahí entenderemos cómo funciona un programa.

Además, es importante recordar procesos matemáticos que se analizó en


la etapa escolar, puesto que todo sistema está compuesto por procesos, y
la mayoría de ellos son matemáticos.

En este tema te invita a investigar no sólo los temas propuestos, sino el


cómo ha ido evolucionando en el transcurso de la historia informática.

Hoy en día hay muchos programadores, pero ¿sabes en qué diferencia


uno del otro? En su capacidad de programar y que el programa sea más
factible y resuelva el problema propuesto. Y sobre todo en la innovación,
si puedes hacer algo nuevo estará contribuyendo con la sociedad y está
generando conocimiento. Por lo tanto, vamos a dedicar unas dieciséis
horas en analizar este tema.

Programar es un proceso de toma de decisiones. Es establecer un


conjunto de actividades en un contexto y tiempo determinado para
enseñar los contenidos seleccionados en función de los objetivos
establecidos. Es un proceso continuo, dinámico, no acabado ni rígido. Lic.
María Tenutto en la obra Escuela para Educadores año 2004, Pág. 705.

16 Ing. José Arce – Ing. Jairo Jiménez


Fundamentos de Programación

Objetivo de la unidad didáctica I:


Introducir al estudiante en la programación mediante problemas de casos
de la vida real con la finalidad de obtener las bases conceptuales
necesarias

Sistema de contenidos de la unidad didáctica I:


Sistema de Sistema de Sistema de
conocimientos habilidades Valores

 Reconocer los  Actitudes


 Clasificación del
conceptos básicos: solidarias y
software de: sistemas
algoritmo, conciencia en la
y aplicación.
programa, utilización
 Algoritmo.
programación, racional de los
 Lenguaje de
paradigmas de recursos
Programación.
programación informáticos.
 Programa.
utilizando mapas
 Programación.
conceptuales,  Actitudes que
 Paradigmas de
mentales, cuadros estimulen la
programación.
sinópticos, etc. investigación
 Editores de texto.
 Conocer el entorno
 Compiladores e  Capacidad de
de un lenguaje de
intérpretes. aplicar los
programación
 Ejecutables. conocimientos
 Manejar la consola
 Consola de línea de en la práctica
para compilar y
comandos.
ejecutar programas.

Instituto Tecnológico Superior Ismael Pérez Pazmiño 17


Guía de estudios
Actividades De Aprendizaje Tema I

Orientaciones generales: Presta mucha atención a las primeras


indicaciones, recuerda que está guía es práctica por lo tanto el texto no
estará especificado dentro del documento, tendrás que investigar para
poder realizar los problemas que te plantearemos.

Presta mucha atención a las gráficas que más adelante te indicaremos,


esto te permitirá orientarte para el desarrollo de la guía.

Orientaciones tarea

Apuntes claves en el contenido tratado

Síntesis del contenido tratado

18 Ing. José Arce – Ing. Jairo Jiménez


Fundamentos de Programación

Desarrollo de contenidos:

CONCEPTOS BÁSICOS
Hoy en día la Informática es una herramienta muy indispensable para el
diario vivir. En todo nuestro alrededor vemos que los procesos ya son
automatizados. Pensamos en un momento en dónde utilizamos la
computadora.

Verdad que lo vemos cuando compramos algo y el vendedor genera la


factura. O cuando nos piden realizar un trabajo o realizar un gráfico. Más
aún cuando nos envían tareas de investigación. Hace unos años teníamos
que asistir a las bibliotecas a tener suerte en encontrar el libro que nos
solicitaba el profesor. Hoy en día basta hacer un clic para encontrar el
tema que queramos y la imagen que necesitamos.

Pero pensemos, ¿Cómo funciona? ¿Cómo una computadora realiza una


tarea? Para ello necesitamos entender perfectamente qué es un software
y analizar cada una de sus tipos.

Por otro lado, pensemos ¿qué es un programa? ¿Qué es programación?


¿Qué es un paradigma de programación? Mediante la lectura que te
invitaremos a continuación a analizar, te ayudará a comprender todos
estos conceptos.

Para entender los conceptos básicos del software y sus tipos analiza el
siguiente link:
https://computacioncpc.files.wordpress.com/2011/06/teorc3ada-
hardware-y-software.pdf

Trata de identificar a qué tipo de software pertenece los programas que


comúnmente usas.

Una vez que entiendas lo que es el software caracterizar sus principales


funciones.

Instituto Tecnológico Superior Ismael Pérez Pazmiño 19


Guía de estudios
Entendamos que reglas debemos tener en cuenta para solucionar un problema de la
forma más adecuada y que siempre tengamos éxito en realizar de la mejor forma.

Programar de una forma más productiva


“Es algo que requiere un relativo alto número de horas, por lo que cuanto mayor sea la
calidad de ese tiempo que dediquemos mejor serán los resultados”. Code Simplicity,
Max Kanal – Alexander.

Para entender las 8 formas de resolver un problema considerando los


siguientes pasos, se debe revisar el siguiente link:
http://www.genbetadev.com/trabajar-como-desarrollador/ocho-consejos-
que-te-ayudaran-a-aprender-a-programar-de-una-forma-mas-productiva

Identifica que problemas en la vida cotidiana se asemejan a los


problemas lógicos estudiados, y pon en práctica la primera regla.

Una vez que entiendas las 8 reglas plantéate un problema de la vida real
y trata de resolverlo tomando en cuenta estas reglas y pasos que sean
necesarios para llevar a un resultado.

Una vez que hayas analizado el concepto del software y sus tipos, te
pregunto ¿cómo se desarrolla un software? ¿Por dónde debemos
empezar?

Para ello debemos estudiar los conceptos básicos de qué es un algoritmo,


lenguaje de programación y qué es un programa.

Analiza los conceptos básicos del algoritmo, te invito a leer el siguiente


link: http://robotica.uv.es/pub/Libro/PDFs/CAPI3.pdf páginas del 1 al 8

Ahora bien, para desarrollar un programa, debes escoger un paradigma


apropiado que te permita desarrollarlo correctamente.

20 Ing. José Arce – Ing. Jairo Jiménez


Fundamentos de Programación

Te invito a leer la siguiente diapositiva en la cual te explica los distintos


paradigmas de programación que existen.
http://www.infor.uva.es/~cvaca/asigs/docpar/intro.pdf

Trata de buscar otras definiciones de otros autores.

La investigación te permitirá consolidar tus conocimientos.

Una vez que hayas comprendido toda la parte teórica del software, sus
tipos y algoritmos. Es necesario recordar procesos matemáticos como
expresiones algebraicas. Recuerda que el computador realiza las
operaciones que tú le vas a proponer.

El computador nunca interpretará lo que tú quieres que haga si no le das


las instrucciones correctas.

¿Recuerdas las reglas de prioridad en matemáticas? ¿Qué hacemos


primero si tenemos una multiplicación seguido de una raíz cuadrada o una
suma?

Para entender bien el tema I y poder realizar operaciones matemáticas


dentro de los procesos de computación, te invito a leer el libro de
Fundamentos de Programación Algoritmos y Estructura de Datos,
Segunda Edición del Autor Luis Joyanes Aguilar, páginas del 1 al 36.
Puedes descargar el libro en siguiente link:
https://www.youtube.com/watch?v=RRHxhwQ4hXs (en la parte inferior
del video está el link de descarga)

Instituto Tecnológico Superior Ismael Pérez Pazmiño 21


Guía de estudios
Ejercicios lógicos para el desarrollo del pensamiento.

EJERCICIO 1
Resolver el siguiente ejercicio lógico.
Cruza canibales y misioneros.

Instrucciones
El objetivo del juego es cruzar el rio a los 3 misioneros y a los 3 caníbales, recuerda
que si los caníbales superan en número a los misioneros se los comerán. En el barco
pueden ir 2 tripulantes, ya sea misionero-misionero, o caníbal-caníbal o caníbal-
misionero y cuando regrese el barco debe tener un tripulante.
http://echandola.com/juegos/cruza-canibales-y-misioneros/

Después de leer las instrucciones del ejercicio:


1. Identificando a los caníbales con C y los misioneros con M.
2. Colocar los pasos que se debe tener en cuenta en el barco.
3. Intente realizarlo en diferentes soluciones.

Viaje Tripulantes

Orientaciones tarea:

Leer las instrucciones claramente, lo cual se debe enviar el primer viaje


un caníbal y un misionero, luego tratar de no sobrepasar el número de
caníbales que misioneros en los próximos viajes.

Apuntes claves:

En el barco también cuenta los misioneros y caníbales, se debe realizar


en varias soluciones.

22 Ing. José Arce – Ing. Jairo Jiménez


Fundamentos de Programación

EJERCICIO 2
Las ranas saltarinas.

Las ranas saltan la siguiente piedra, las ranas solo pueden pasar por encima de otra
rana una vez. Mueve las tres ranas marrones a la derecha de la charca y mueve las
ranas verdes hacia la última piedra de la izquierda de la charca para poder ganar.
¿Parece fácil? Pues no lo es. Debes planear muy bien tu estrategia antes de hacerlas
brincar porque si no el juego quedara bloqueado y no tendrás más opciones de
movimiento.
http://www.educa.jcyl.es/educacyl/cm/gallery/Recursos%20Infinity/juegos/arcade/ranas/ranas.html

Después de leer las instrucciones del ejercicio:


1. Identificar las ranas del sentido izquierdo como RI y las del sentido derecho
como RD, el espacio como V.
2. Realizar los movimientos necesarios para que las ranas de la izquierda pasen a
la derecha y las de la derecha pasen a la izquierda.

Movimiento Estrategia

3. Debe realizar movimientos sin regresar de izquierda a derecha.

Orientaciones tarea:

Analizar los movimientos de cada sentido Izquierda y Derecha.


Elaborar en una hoja las diferentes soluciones.
Elaborar una síntesis de la solución correcta.

Instituto Tecnológico Superior Ismael Pérez Pazmiño 23


Guía de estudios
Apuntes claves:

Se debe tomar en cuenta que no se debe amontonar ranas del mismo


sentido sobre el espacio en blanco.

EJERCICIO 3
Pastor, Oveja, Lobo y Repollo.

http://img99.xooimage.com/files/c/a/9/pastor_oveja_y_lobo-41ab268.swf

Después de leer las instrucciones del ejercicio:


1. Se debe identificar de la siguiente manera: P-Pastor, O-Oveja, L-Lobo y R-
Repollo.
2. Elaborar la estrategia para que puedan pasar todos al siguiente extremo del rio.
3. Tomar en cuenta que en cada viaje debe ir el Pastor con un elemento.

Orientaciones tarea:

Realizar de la forma más adecuada el paso de cada elemento sin que


estén juntos el repollo con la oveja ni el lobo con la oveja, o si no se lo
comería en ambos casos.
Elaborar diferentes formas de resolución.

Apuntes claves:

Se puede pasar un elemento y regresar con el mismo y luego


intercambiar elemento. El Elemento que está en el barco no cuenta.

24 Ing. José Arce – Ing. Jairo Jiménez


Fundamentos de Programación

El software es la parte intangible del computador.

Un algoritmo es una serie de pasos de forma


organizada para resolver un problema.

Si no analizas un problema, nunca podrás resolverlo.

Un paradigma es una metodología para organizar las


tareas que va a realizar el programa.

La computadora no entiende expresiones algebraicas,


para ello debemos transformarlo a expresiones
algorítmicas.

El saber pensar y tener lógica en la resolución de un


problema, significa colocar el código respectivo en
cualquier lenguaje de programación; solo se debe tener
en cuenta la semántica y las instrucciones adecuadas.

Se aprende el desarrollo de la lógica a través de


ejercicios básicos para tener una referencia de cómo
solucionar problemas de diferentes maneras.

Para mejorar la visión, lógica y estrategia se deben


realizar varios ejercicios la cual les permita aclarar ideas
y tener diferentes formas de resolución de problemas y
tratar de buscar la mejorar forma de que cumpla en
menos pasos y se convierta en la más fácil.

Instituto Tecnológico Superior Ismael Pérez Pazmiño 25


Guía de estudios
Actividades de auto – evaluación de la unidad I:

 Mediante un esquema gráfico clasifica los tipos de software, su


funcionamiento y plantea un ejemplo.
 ¿Cuáles son los pasos fundamentales para resolver un problema?
Explica.
 ¿Qué pasos debes seguir para analizar un problema?
 ¿Qué entiendes por refinamiento por pasos?
 ¿Qué es programación del algoritmo?
 Explica cada uno de los paradigmas de programación analizados en
esta unidad.
 Realiza los ejercicios planteados del libro Fundamentos de
Programación de Luis Joyanes de las páginas 37 al 38.

Actividad final Unidad I:

 Redacta la importancia que tiene el software en la actualidad y cómo


los programas resuelven un determinado problema. Para ello
realizar un ensayo mínimo de tres hojas y máximo de siete hojas,
usando cinco fichas bibliográficas de los últimos 5 años.

26 Ing. José Arce – Ing. Jairo Jiménez


Fundamentos de Programación

Unidad didáctica II: Algoritmos

Introducción: En el primer capítulo analizamos todos los conceptos


básicos de un software, sus tipos y características. También analizamos
brevemente el concepto de un algoritmo.

En esta unidad vamos tomar como ejemplos problemas reales por lo que
mediante una lógica de programación y un determinado algoritmo
daremos su respectiva solución.

Para ello debes entender claramente el concepto de un algoritmo, cómo


se lo representa y la importancia de utilizarlo.

Es importante para el estudiante analizar cada uno de los algoritmos que


trataremos en esta unidad, ya que usted escogerá el más apropiado para
resolver un problema.

Además, veremos que para el desarrollo de un algoritmo debemos utilizar


una estructura adecuada. Esta estructura marcará diferencia en la calidad
de tu algoritmo.

Una vez que culmines esta unidad estarás capacitado para ir a la


computadora y automatizar tu algoritmo.

Instituto Tecnológico Superior Ismael Pérez Pazmiño 27


Guía de estudios
Objetivo de la unidad didáctica II: Resolver problemas reales mediante
el uso de algoritmos de computadora para la solución de lo mismos.

Sistema de Sistema de Sistema de


conocimientos habilidades Valores

 Análisis de  Generar un  Actitudes que


problemas. catálogo de estimulen la
 Representación de problemas para su investigación.
algoritmos: gráfica y análisis y solución.  Capacidad de
pseudocódigo.  Resolver y analizar aplicar los
 Diseño de algoritmos problemas conocimientos en
aplicados a cotidianos. la práctica
problemas.
 Diseño algorítmico de
funciones

Actividades De Aprendizaje Tema II

Orientaciones generales: En esta unidad la mayor carga horaria es en


ejercicios prácticos, por lo que te recomiendo realizar todos los ejercicios
que plantearemos en este tema.

Para poder realizar los ejercicios es recomendable también que te


imagines que estás dentro del problema, imagínate que estas dentro del
autobús si te piden calcular el precio que debemos pagar por un
transporte, piensa que eres el jefe de personal que va a pagar a los
trabajadores por el mes de trabajo, etc. Si no comprendes el desarrollo del
mismo, recurre a libros, revistas, documentos, profesionales de la rama, y
demás para obtener las fórmulas, los procesos y los resultados de los
problemas a plantear.

Para graficar un algoritmo tal vez recurras a un software para facilitarte el


trabajo, para ello un software muy útil es el SmartDraw y muchos otros. O

28 Ing. José Arce – Ing. Jairo Jiménez


Fundamentos de Programación

sencillamente puedes comprar una regla que te permita realizar


diagramas de flujo, lo cual lo puedes conseguir en cualquier librería.

Desarrollo de contenidos:

ALGORITMO
En este capítulo nos introduciremos a resolver problemas mediante un
algoritmo para luego llevarlo a la computadora y crear nuestro software o
sistema.

Recuerdas ¿qué es algoritmo? Es una secuencia de pasos para resolver


un problema. Ahora bien, hay diferentes métodos para diseñar un
algoritmo, en los siguientes documentos que a continuación te invitamos a
leer podrás comprender el uso de cada uno de ellos y el objetivo es que
usted escoja uno de ellos para la revolver un problema.

Tómate tu tiempo en recordar los temas generales de Algoritmos


realizadas en el tema anterior.
Lee por favor el siguiente documento que está en el siguiente link:
http://ing.unne.edu.ar/pub/informatica/Alg_diag.pdf

Una vez que hayas leído el documento, te invito a leer el siguiente


http://moodle2.unid.edu.mx/dts_cursos_mdl/lic/IC/EA/AM/06/Algoritmos.p
df

Es muy importante que una vez realizado el algoritmo, realice pruebas de


escritorio para comprobar si el proceso es la apropiada y por ende la
respuesta o salida sea la correcta.

Instituto Tecnológico Superior Ismael Pérez Pazmiño 29


Guía de estudios
Identificando problemas
Todo problema en su resolución tiene datos de entrada, proceso y salida. Lo cual nos
permite almacenar y trabajar de forma temporalmente dentro de nuestra solución de
cualquier problema lógico o matemáticos.
Para el análisis se debe tener en cuenta
Datos
Información que puede contener números, letras que permite ser manipulada,
guardada y mostrada.
Constantes
Las constantes son posiciones de memoria que permanecen invariables en la
ejecución de un programa. La declaración de una constante consiste en asignar un
nombre y un valor, que no cambiará en la ejecución de un programa. De esta forma
cada vez que se esté relacionando el nombre de dicha constante, se estará haciendo
referencia a un valor que no cambia.
Ejemplo:
Nombre=” Jairo”
Edad=30
Ciudad=” Machala”

Variables
Las variables son las unidades básicas en las cuales se puede almacenar la
información de un programa. Cada variable que se utilice en un programa de tener un
nombre que sirve de referencia para poder acceder a ellos. Cuando se declara una
variable, se reserva espacio en una posición especifica de memoria reservada para
almacenar un tipo específico de dato asociado a un nombre.
Ejemplo:
A
Z
X
Nombre
edad

30 Ing. José Arce – Ing. Jairo Jiménez


Fundamentos de Programación

ciudad
Expresiones
Una expresión es una combinación de variables, constantes y/o operadores entre
otros, los cuales pueden en determinado momento generar un resultado.
Ejemplo:
Expresión 1:
A=7
X=3
5A+8X+7

EJERCICIO 4
En base a la explicación anteriormente realice los siguientes ejercicios.
1. ¿Qué tipo de paradigma de programación Ud. Conoce?
2. Coloque 3 ejemplos de variables que identifiquen sus datos personales.
3. Coloque 2 ejemplos de constantes que reflejen su personalidad.
4. Realizar 3 expresiones colocando variables y constantes.

Orientaciones tarea:
Interpretar los conceptos de paradigmas que se reflejan y los que se
conocen en la parte tecnológica.
Recordar cómo se define una variable, constante y los ejemplos
comunes.
Elaborar expresiones en base a lo aprendido sobre constantes y
variables.

Apuntes claves:
Una variable y constante puede tener números o letras.
Una expresión contiene ambas y puede ser matemática.
No pueden repetirse los nombres de variables y constantes.

Instituto Tecnológico Superior Ismael Pérez Pazmiño 31


Guía de estudios
Actualmente el algoritmo más utilizado para resolver un problema es el
diagrama de flujo, es más comprensible al momento de visualizarlo y es
más práctico al momento de explicar su comportamiento.

DIAGRAMA DE FLUJO
El Diagrama de Flujo es una representación gráfica de la secuencia de pasos que se
realizan para obtener un cierto resultado. Este puede ser un producto, un servicio, o
bien una combinación de ambos.
CARACTERÍSTICAS PRINCIPALES
A continuación, se comentan una serie de características que ayudan a comprender la
naturaleza de la herramienta.
Capacidad de Comunicación
Permite la puesta en común de conocimientos individuales sobre un proceso, y facilita
la mejor comprensión global del mismo.
Claridad Proporciona información sobre los procesos de forma clara, ordenada y
concisa.

Te invito a leer el siguiente enlace donde te da referencia de los


diagramas de flujo en la identificación de un problema. http://www.mis-
algoritmos.com/aprenda-a-crear-diagramas-de-flujo

Trata de buscar otras definiciones de otros autores.

La investigación te permitirá consolidar tus conocimientos.


Las diferentes soluciones que apliques dependiendo el problema en
menos pasos es la mejor forma de demostrar su solución más óptima.

32 Ing. José Arce – Ing. Jairo Jiménez


Fundamentos de Programación

CLASIFICACIÓN DE LOS DIAGRAMAS DE FLUJO POR SUS TIPOS


DE ESTRUCTURAS:
ESTRUCTURA SECUENCIAL
Recuerda que siempre las etapas de un algoritmo son: entrada, proceso,
salida. Por ello una estructura secuencial llevará la siguiente estructura.

ESTRUCTURA SELECTIVA
Ahora bien, si hablamos de una estructura selectiva éste indicará que
dentro del proceso del algoritmo habrá una toma de decisión. Y de
acuerdo a la respuesta tomará un resultado diferente. Mediante el
siguiente gráfico nos mostrará su estructura.

Instituto Tecnológico Superior Ismael Pérez Pazmiño 33


Guía de estudios
ESTRUCTURA REPETITIVA
Por último, si queremos presentar una estructura que se repita N cantidad
de veces debemos presentar una estructura repetitiva. Esta estructura nos
permitirá ahorrar código y presentar un resultado las veces que sean
necesarias.

34 Ing. José Arce – Ing. Jairo Jiménez


Fundamentos de Programación

Recuerda que cuándo te piden “determinar”, “calcular”, “obtener”; ése va


a ser tu dato de salida o el resultado a obtener.
Si en el ejercicio te indica dos o más opciones para obtener un resultado,
ése será una estructura selectiva

Las características de un algoritmo son: preciso, finito,


definido.

Los algoritmos para resolver un problema pueden ser:


Diagrama N/S, Pseudocódigo, Diagramas de Flujo.

Para resolver un problema debemos identificar su


estructura, éstas pueden ser: secuencial, selectiva,
repetición o arreglos.

Actividades de auto – evaluación de la unidad II:

 Explica con tus propias palabras los siguientes conceptos: constante, variables,
estructura secuencia, estructura selectiva, estructura repetitiva.
 Encierre el literal de la respuesta correcta:
 Es un proceso de no tomar de decisiones:
a) Variables
b) Constantes
c) Lenguaje de programación
d) Ninguna de las anteriores
 El resolver un problema real es:
a) Una forma productiva de programar
b) Una variable
c) Algo lógico sin ningún fin
d) Ninguna de las anteriores

 Permiten comunicarse con los ordenadores o computadoras. Una vez


identificada una tarea, el programador debe traducirla o codificarla a una
lista de instrucciones que la computadora entienda:
a) Compilador
b) Lenguaje de programación
c) Interprete
d) Ninguna de las anteriores
 Son más fáciles de utilizar que los lenguajes máquina, pero al igual que
ellos, dependen de la máquina en particular .
a) COBOL
Instituto Tecnológico Superior Ismael Pérez Pazmiño 35
Guía de estudios
b) PHP
c) FOLTRAN
d) Ninguna de las anteriores
 Seleccione cuál de los siguientes es lenguaje de alto nivel:
a) Lenguaje de máquina
b) PHP
c) C++
d) Lenguaje de máquina ++
 Son programas que traducen a su vez los programas fuente escritos en
lenguaje de alto nivel a código máquina.
a) Variables
b) Assembler
c) Traductores de Lenguaje
d) Ninguno de los anteriores
 Es un traductor que toma un programa fuente, lo traduce y a continuación lo
ejecuta:
a) Compilador
b) Lenguaje de programación
c) Interprete
d) Ninguno de los anteriores

 Son las unidades básicas en las cuales se puede almacenar la información


de un programa y que no varía durante la ejecución.
a) Variable
b) Objeto Complejo
c) Dato dinámico
d) Ninguna de las anteriores

 En el siguiente ejemplo: fecha_nac, que seria.

a) Variable.
b) Identificador.
c) Palabra no utilizada
d) Ninguna de las anteriores.
 En el siguiente ejemplo: C8+4P-u+10, que seria.
a) Datos exponenciales
b) Datos reales
c) Solo Variables definidas
d) Ninguna de las anteriores

 Utilizando una estructura secuencial, resuelve los siguientes ejercicios:


 Se desea implementar un algoritmo mediante diagrama de flujo para
obtener la suma de dos números cualesquiera.
 Un estudiante realiza tres pruebas de Matemáticas durante el semestre, los
cuales tienen la misma ponderación. Realice el diagrama de flujo que
representen el algoritmo correspondiente para obtener el promedio de las
calificaciones obtenidas.

36 Ing. José Arce – Ing. Jairo Jiménez


Fundamentos de Programación

 Un ganadero lleva el registro de lo que produce en litros, pero cuando


entrega al punto de venta le pagan en galones. Realice un algoritmo, y
represéntelo mediante un diagrama de flujo, que ayude al ganadero a saber
cuánto recibirá por la entrega de su producción de un día (1 galón = 4
litros).
 Se requiere determinar el sueldo semanal de un trabajador con base en las
horas que trabajó y el costo por hora que recibe. Realice el diagrama de
flujo que representen el algoritmo de solución correspondiente.
 Un local de Huaquillas que se dedica al cambio de moneda desea
determinar cuántos soles puede adquirir con equis cantidad de dólares.
Realice un diagrama de flujo que representen el algoritmo para tal fin.
 El estacionamiento que queda en el IESS de Machala desea determinar el
cobro que debe aplicar a las personas que dejan sus carros ahí. Considere
que el cobro es con base en las horas que lo disponen y que las fracciones
de hora se toman como completas. Realice un diagrama de flujo que repre-
senten el algoritmo que permita determinar el cobro.
 Pinturas ASSAN requiere determinar cuánto va a cobrar por trabajos de
pintura. Considere que se cobra por m2, realice un diagrama de flujo que
representen el algoritmo que le permita ir generando presupuestos para
cada cliente.
 La compañía de autobuses Rutas Orenses requiere determinar el costo que
tendrá el viaje de Machala-Guayaquil, esto basado en los kilómetros por
recorrer y en el costo por kilómetro. Realice un diagrama de flujo que
representen el algoritmo para tal fin.
 Se requiere determinar el tiempo que tarda una persona en llegar de
Cuenca a Guayaquil en bicicleta, considerando que lleva una velocidad
constante. Realice un diagrama de flujo representen el algoritmo para tal fin.
 Se requiere determinar el costo que tendrá realizar una llamada telefónica
con base en el tiempo que dura la llamada y en el costo por minuto. Realice
un diagrama de flujo que representen el algoritmo para tal fin.
 La CNEL requiere determinar el pago que debe realizar una persona por el
consumo de energía eléctrica de un determinado mes, la cual se mide en
kilowatts (KW). Realice un diagrama de flujo representen el algoritmo que
permita determinar ese pago.
 Realice un diagrama de flujo representen el algoritmo para determinar
cuánto pagará finalmente una persona por un artículo equis, considerando
que tiene un descuento de 25%, y debe pagar el 12% de IVA (debe mostrar
el precio con descuento y el precio final).
 Realice un diagrama de flujo que representen el algoritmo para determinar
cuánto dinero ahorra una persona en un año si considera que cada
quincena ahorra el 15% de su sueldo (considere dos quincenas por mes y el
sueldo no cambia).
 Realice el diagrama de flujo que representen el algoritmo para determinar el
promedio que obtendrá un alumno considerando que realiza tres exámenes,

Instituto Tecnológico Superior Ismael Pérez Pazmiño 37


Guía de estudios
de los cuales el primero y el segundo tienen una ponderación de 25%,
mientras que el tercero de 50%.
 Realice un diagrama de flujo que representen el algoritmo para determinar
aproximadamente cuántos meses, semanas, días y horas ha vivido una
persona. Mostrar por separado los resultados.
 El hotel Oro Verde requiere determinar lo que le debe cobrar a un huésped
por su estancia en una de sus habitaciones. Realice un diagrama de flujo
que representen el algoritmo para determinar ese cobro.
 Utilizando una estructura selectiva, resuelve los siguientes ejercicios:
 Determinar cuál de dos valores proporcionados es el mayor. Representarlo
con diagrama de flujo.
 Realice un algoritmo para determinar si un número es positivo o negativo.
Represéntelo en diagrama de flujo.
 Realice un algoritmo para determinar cuánto se debe pagar por equis
cantidad de cuadernos considerando que si son 100 o más el costo es de
85¢; de lo contrario, el precio es de 95¢. Represéntelo con el diagrama de
flujo.
 Río Store tiene una promoción: a todos los ternos que tienen un precio
superior a $150.00 se les aplicará un descuento de 15 %, a todos los demás
se les aplicará sólo 5 %. Realice un algoritmo para determinar el precio final
que debe pagar una persona por comprar un traje y de cuánto es el
descuento que obtendrá. Represéntelo mediante el diagrama de flujo.
 “Platos Fuertes” es una empresa dedicada a ofrecer banquetes; sus tarifas
son las siguientes: el costo de platillo por persona es de $15.00, pero si el
número de personas es mayor a 100 pero menor o igual a 150, el costo es
de $12.00. Para más de 150 personas el costo por platillo es de $10.00. Se
requiere un algoritmo que ayude a determinar el presupuesto que se debe
presentar a los clientes que deseen realizar un evento. Mediante diagrama
de flujo represente su solución.
 La asociación de bananeros del Ecuador tiene como política fijar un precio
inicial a la caja de banano, la cual se clasifica en tipos A y B, y además en
tamaños 1 y 2. Cuando se realiza la venta del producto, ésta es de un solo
tipo y tamaño, se requiere determinar cuánto recibirá un productor por el
banano que entrega en un embarque, considerando lo siguiente: si es de
tipo A, se le cargan 20¢ al precio inicial cuando es de tamaño 1; y 30¢ si es
de tamaño 2. Si es de tipo B, se rebajan 30¢ cuando es de tamaño 1, y 50¢
cuando es de tamaño 2. Realice un algoritmo para determinar la ganancia
obtenida y represéntelo mediante diagrama de flujo.
 La empresa Movistar expone la siguiente estrategia de mercado: Habla más
y paga menos. Cuando se realiza una llamada, el cobro es por el tiempo
que ésta dura, de tal forma que los primeros cinco minutos cuestan $ 0.10
c/u, los siguientes tres, 0,08¢ c/u, los siguientes dos minutos, 0,70¢ c/u, y a
partir del décimo minuto, 0,50¢ c/u.
 Una compañía de viajes cuenta con tres tipos de busetas (A, B y C), cada
uno tiene un precio por kilómetro recorrido por persona, los costos
respectivos son $0,20, $0,25 y $0,30. Se requiere determinar el costo total y
por persona del viaje considerando que cuando éste se presupuesta debe

38 Ing. José Arce – Ing. Jairo Jiménez


Fundamentos de Programación

haber un mínimo de 20 personas, de lo contrario el cobro se realiza con


base en este número límite.
 “El cochinito comelón” ofrece hamburguesas sencillas, dobles y triples, las
cuales tienen un costo de $2.00, $2.50 y $2.80 respectivamente. La
empresa acepta tarjetas de crédito con un cargo de 8 % sobre la compra.
Suponiendo que los clientes adquieren sólo un tipo de hamburguesa, realice
un algoritmo para determinar cuánto debe pagar una persona por N
hamburguesas. Represéntelo mediante diagrama de flujo.
 El consultorio del Dr. Albuja tiene como política cobrar la consulta con base
en el número de cita, de la siguiente forma:
Las tres primeras citas a $20.00 c/u.
Las siguientes dos citas a $15.00 c/u.
Las tres siguientes citas a $10.00 c/u.
Las restantes a $5.00 c/u, mientras dure el tratamiento.
Se requiere un algoritmo para determinar: Cuánto pagará el paciente por la
cita. El monto de lo que ha pagado el paciente por el tratamiento.

 Fábricas “La Universal” produce artículos con código (1, 2, 3, 4, 5 y 6). Se


requiere un algoritmo para calcular los precios de venta, para esto hay que
considerar lo siguiente:
Costo de producción = materia prima + mano de obra + gastos de fabri-
cación. Precio de venta = costo de producción + 45 % de costo de
producción.
El costo de la mano de obra se obtiene de la siguiente forma: para los
productos con código 3 o 4 se carga 75 % del costo de la materia prima;
para los que tienen código 1 y 5 se carga 80 %, y para los que tienen código
2 o 6, 85 %. Para calcular el gasto de fabricación se considera que, si el
artículo que se va a producir tiene código 2 o 5, este gasto representa 30 %
sobre el costo de la materia prima; si los códigos son 3 o 6, representa 35
%; si los códigos son 1 o 4, representa 28%. La materia prima tiene el
mismo costo para cualquier código. Represente mediante el diagrama de
flujo la solución de este problema.

 El banco “Vecino” ha decidido aumentar el límite de crédito de las tarjetas de


crédito de sus clientes, para esto considera que, si su cliente tiene tarjeta
tipo 1, el aumento será de 25 %; si tiene tipo 2, será de 35 %; si tiene tipo 3,
de 40 %, y para cualquier otro tipo, de 50 %. Ahora bien, si la persona
cuenta con más de una tarjeta, sólo se considera la de tipo mayor o la que el
cliente indique. Realice un algoritmo y represente su diagrama de flujo para
determinar el nuevo límite de crédito que tendrá una persona en su tarjeta.
 Realice un algoritmo para determinar el sueldo semanal de un trabajador
con base en las horas trabajadas y el pago por hora, considerando que
después de las 40 horas cada hora se considera como excedente y se paga
el doble. Construya el diagrama de flujo.

Instituto Tecnológico Superior Ismael Pérez Pazmiño 39


Guía de estudios
 El 14 de febrero una persona desea comprarle un regalo al ser querido que
más aprecia en ese momento, su dilema radica en qué regalo puede
hacerle, las alternativas que tiene son las siguientes:
Regalo Costo
Tarjeta $10.00 o menos
Chocolates $11.00 a
$100.00
Flores $101.00 a
$250.00
Anillo Más de $251.00
Se requiere un diagrama de flujo con el algoritmo que ayude a determinar
qué regalo se le puede comprar a ese ser tan especial por el día del amor y
la amistad.
 El dueño de un garaje exclusivo requiere un diagrama de flujo con el
algoritmo que le permita determinar cuánto debe cobrar por el uso del
estacionamiento a sus clientes. Las tarifas que se tienen son las siguientes:
Las dos primeras horas a $5.00 c/u.
Las siguientes tres a $4.00 c/u.
Las cinco siguientes a $3.00 c/u.
Después de diez horas el costo por cada una es de dos dólares.
 Se tiene el nombre y la edad de tres personas. Se desea saber el nombre y
la edad de la persona de menor edad. Realice el algoritmo correspondiente y
represéntelo con un diagrama de flujo.
 Mediante un diagrama de flujo muestre el algoritmo para determinar el costo
y el descuento que tendrá un artículo. Considere que si su precio es mayor
o igual a $200 se le aplica un descuento de 15%, y si su precio es mayor a
$100 pero menor a $200, el descuento es de 12%, y si es menor a $100,
sólo 10%.
 La empresa INSPA dedicada a la comercialización de productos avícolas
proporciona un bono por fin de año a sus trabajadores, el cual puede ser
por su antigüedad o bien por el monto de su sueldo (el que sea mayor), de
la siguiente forma:
Cuando la antigüedad es mayor a 2 años, pero menor a 5, se otorga 20 %
de su sueldo; cuando es de 5 años o más, 30 %. Ahora bien, el bono por
concepto de sueldo, si éste es menor a $400, se da 25 % de éste, cuando
éste es mayor a $400, pero menor o igual a $500, se otorga 15% de su
sueldo, para más de $500. 10%. Realice el algoritmo correspondiente para
calcular los dos tipos de bono, asignando el mayor, y represéntelo con un
diagrama de flujo y pseudocódigo.
 Los alumnos de una escuela desean realizar un viaje de estudios, pero
requieren determinar cuánto les costará el pasaje, considerando que las
tarifas del autobús son las siguientes: si son más de 100 alumnos, el costo
es de $20; si son entre 50 y 100, $35; entre 20 y 49, $40, y si son menos de
20 alumnos, $70 por cada uno. Realice el algoritmo para determinar el costo
del pasaje de cada alumno. Represente el algoritmo mediante el diagrama
de flujo.

40 Ing. José Arce – Ing. Jairo Jiménez


Fundamentos de Programación

 El Ministerio de Salud requiere un diagrama de flujo que le represente el


algoritmo que permita determinar qué tipo de vacuna (A, B o C) debe aplicar
a una persona, considerando que, si es mayor de 70 años, sin importar el
sexo, se le aplica el tipo C; si tiene entre 16 y 69 años, y es mujer, se le
aplica la B, y si es hombre, la A; si es menor de 16 años, se le aplica el tipo
A, sin importar el sexo.

Orientaciones tarea:
Se debe utilizar datos para la resolución de estos problemas
matemáticos y lógicos para el cual se utiliza las diferentes formas de
diagramas de flujos.
Tener en cuenta las estructuras estudiadas anteriormente para analizar e
identificar el problema.

Apuntes claves:
Se debe revisar el material subido en el siguiente link:
http://estudioinformatico2014.com/INTSIPP/

Instituto Tecnológico Superior Ismael Pérez Pazmiño 41


Guía de estudios
Actividad final Unidad II:

 Analiza tu ambiente dentro del trabajo, hogar o momento de ocio; encuentra qué
actividades podría corresponder a una estructura secuencia, selectiva y
repetitiva. Plantea tu propio problema y realiza el algoritmo mediante diagrama
de flujo. (Serían tres problemas, uno por cada estructura. Y que no se repita a
los ejercicios antes mencionado)

42 Ing. José Arce – Ing. Jairo Jiménez


Fundamentos de Programación

Unidad didáctica III: Introducción a la Programación

Introducción: Una vez que hayas adquirido y desarrollado la lógica de


programación, llevaremos esos conocimientos a la computadora para
automatizar los procesos.

Es fundamental que no tengas duda alguna con respecto al capítulo


anterior ya que para ejecutar un programa deberías haber entendido el
problema y haber diseñado el algoritmo.

En esta unidad veremos un lenguaje de programación de alto nivel y muy


utilizado en el mundo de la informática, JAVA. Mediante la herramienta
NetBeans vamos a elaborar nuestras aplicaciones. La ventaja que tiene
este lenguaje de programación es que es un software libre, lo cual nos
permite descárgalo por internet de manera gratuita y sin costos de
mantenimiento.

En esta unidad, te enseñaremos cómo descargarlo de página oficial,


instalarlo en nuestros equipos. Conoceremos sus partes principales y
cómo utilizarlo.

Antes de comenzar a desarrollar las aplicaciones debemos conocer su


estructura, su sintaxis, conceptualizar el término clase, y como ejecutar
nuestra aplicación.

Instituto Tecnológico Superior Ismael Pérez Pazmiño 43


Guía de estudios
Objetivo de la unidad didáctica III: Diseñar soluciones en un lenguaje
de programación utilizando los conceptos adquiridos para la resolución de
problemas.

Sistema de Sistema de Sistema de


conocimientos habilidades Valores
 Características del  Analizar
 Actitudes que
lenguaje de información
estimulen la
programación necesaria para
investigación y la
 Estructura básica de Instalar y configurar
innovación
un programa. el compilador del
tecnológica y
 Traducción de un lenguaje de
científica
programa: programación a
compilación, enlace utilizar.
 Actitudes
de un programa,  Realizar cambios
solidarias y
errores en tiempo de en expresiones
conciencia en la
compilación. lógicas y
utilización racional
 Ejecución de un algebraicas de un
de los recursos
programa. programa modelo y
informáticos.
 Elementos del analizar los
lenguaje: datos, resultados
 Capacidad de
literales y constantes, obtenidos.
aplicar los
identificadores, conocimientos en
variables, parámetros, la práctica
operadores, entrada y
salida de datos.
 Errores en tiempo de
ejecución.

44 Ing. José Arce – Ing. Jairo Jiménez


Fundamentos de Programación

Actividades De Aprendizaje Tema III

Orientaciones generales: En esta unidad aplicaremos todos los


ejercicios planteados en la unidad anterior en el computador. Utilizando
una herramienta eficaz como es Netbeans.

Procura dedicar tiempo en investigar la historia de Java, sus


características, qué programas de la actualidad fueron diseñados
mediante lenguaje de programación. Esto te permitirá aumentar tu
emoción por utilizar este lenguaje de programación.

Presta atención en los links que te mostraremos a continuación, puesto


que son las páginas oficiales de descarga de las herramientas a utilizar,
esto te permitirá descargar con confianza el software y no contaminarte de
virus tu máquina por descargar de página de dudosa procedencia.

Desarrollo de contenidos:
LENGUAJES DE PROGRAMACIÓN DE ALTO NIVEL
Hoy en día hay muchos lenguajes de programación, la pregunta que a
veces nos hacemos es ¿cuál usaremos? ¿Cuál de ellos me convendrá?
Cada lenguaje de programación pertenece a un tipo único, ya sea
lenguaje de máquina, lenguaje de bajo nivel o lenguaje de alto nivel.

En el siguiente documento hablaremos los lenguajes de alto nivel, sus


características y su estructura.
http://informatica.uv.es/iiguia/AED/oldwww/2004_05/AED.Tema.03.pdf

Instituto Tecnológico Superior Ismael Pérez Pazmiño 45


Guía de estudios
JAVA
Java es un lenguaje de alto nivel orientado a objetos. Es un lenguaje muy
completo y robusto.

Una herramienta en la cual trabajaremos en el lenguaje de programación


Java es NetBeans. Lo puedes encontrar en el siguiente link
https://netbeans.org/.

Actualmente está disponible la versión IDE 8.1. También debemos


descargar los paquetes del JDK y JRE que te permitirán correr la
aplicación y servirá entre intermediario del sistema operativo y Java. Los
cuales lo encontrarás en la siguiente página web
http://www.oracle.com/technetwork/es/java/javase/downloads/index.html.

Analiza la historia de Java y su entorno en el siguiente link:


http://mec21.etsii.upm.es/ayudainf/aprendainf/Java/Java2.pdf páginas del
1 al 4.

Instala la aplicación NetBeans en tu computadora juntos con los


paquetes JDK y JRE.

Te recuerdo que debes bajar la aplicación desde la página oficial para


evitar cualquier novedad o contaminación de virus.

Primero instala el JDK y JRE, luego instalas el NetBeans.

46 Ing. José Arce – Ing. Jairo Jiménez


Fundamentos de Programación

A continuación, daremos las primeras indicaciones del uso del NetBeans.

El NetBeans proporciona la posibilidad de desarrollar en modo código, en


modo gráfico o con un diagrama de flujo.

En él podemos realizar todas las tareas asociadas a la programación


como editar el código, compilarlo, ejecutarlo, depurarlo.

Un proyecto incluye todos los recursos necesarios para realizar un


programa, entre ellos archivos con el código, bibliotecas externas,
imágenes, sonidos, etc.

Analiza el siguiente documentos donde encontrarás mayor información


de NetBeans
http://javaagricola.wikispaces.com/file/view/0_Java+y+NetBeans.pdf

Luego de analizar el apartado, continúa con la lectura del siguiente link


http://da32.cubava.cu/files/2015/06/netbeans-java.pdf

Luego analiza de este enlace las siguientes páginas 14 - 23:


http://estudioinformatico2014.com/INTSIPP/mod/folder/view.php?id=57
Archivo Java.pdf

Java es un lenguaje de alto nivel orientado a objetos.

NetBeans es un entorno de desarrollo en la cual


programaremos en lenguaje de programación JAVA.

Un proyecto consta de tres partes: librerías, la clase y el


método.

Instituto Tecnológico Superior Ismael Pérez Pazmiño 47


Guía de estudios
Actividades de auto – evaluación de la unidad III:

 Contesta las siguientes preguntas:


 ¿Qué es Java?
 ¿Por qué usarías el lenguaje de programación Java para el
desarrollo de tus aplicaciones?
 ¿Qué es NetBeans?
 ¿Qué es el JRE y JDK?
 ¿Por qué debes usar el JRE y JDK para instalar el NetBeans?
 ¿Qué es una clase?
 ¿Qué es método?
 Realizar el siguiente programa: Realizar una aplicación que
tenga el siguiente mensaje: “Bienvenidos Estudiantes del Primer
Semestre del Instituto Tecnológico Ismael Pérez Pazmiño”.

Actividad final Unidad III:

Mediante un ejemplo explica la estructura de un proyecto en NetBeans.


Describe paso a paso como crear un proyecto y como armar su
estructura.

48 Ing. José Arce – Ing. Jairo Jiménez


Fundamentos de Programación

Unidad didáctica IV: Control de Flujo

Introducción:

Se utiliza una semántica, una estructura e instrucciones para traducir nuestros


algoritmos en el lenguaje de programación JAVA, este lenguaje orientado a objetos
multiplataforma nos permite plasmar nuestras ideas y realizar tareas y procesos
complejos para el uso adecuado se debe tener conocimiento de los controles de flujo y
su debida sintaxis para tener éxitos sin errores en las posibles soluciones. Este
lenguaje utiliza patrones que nos indica la semejante del pensamiento humano, por lo
general este lenguaje de programación de alto nivel es utilizado en la actualidad por
grandes empresas a nivel mundial, y cada vez evoluciona más en la vida cotidiana.

Un lenguaje fácil, flexible, adaptable y sin restricciones para diseñar, compartir y


programar las aplicaciones para software de escritorio, telefonía móvil y web.

Instituto Tecnológico Superior Ismael Pérez Pazmiño 49


Guía de estudios
Tema IV: Control de Flujo.
Objetivo de la unidad didáctica IV: Diseñar soluciones en un lenguaje de
programación utilizando los conceptos adquiridos para la resolución de problemas.

Sistema de conocimientos Sistema de habilidades Sistema de Valores


 Estructuras secuenciales.  Diseñar programas
 Actitudes que
 Estructuras selectivas: donde se utilicen las
estimulen la
simple, doble y múltiple. estructuras de
investigación y la
 Estructuras iterativas: repetición y selección.
innovación
repetir mientras, hasta,  Construir programas
tecnológica y
desde. que implementen
científica
 Diseño e implementación métodos o funciones.
de funciones y métodos  Resolver ejercicios
por su tipo. sobre expresiones  Actitudes solidarias
y conciencia en la
 Instrucciones lógicas.
utilización racional
matemáticas y de cadena  Resolver algoritmos
de los recursos
para la realización de un de estructuras
informáticos.
proceso. selectivas.
 Manipulación de Objetos  Resolver ejercicios
 Capacidad de
y Clases. basados en
aplicar los
instrucciones o
conocimientos en la
métodos ya
práctica
implementados.

50 Ing. José Arce – Ing. Jairo Jiménez


Fundamentos de Programación

Actividades De Aprendizaje Tema IV

Orientaciones generales: En esta unidad aplicaremos todos los


ejercicios planteados en la unidad anterior en el computador. Utilizando
una herramienta eficaz como es Netbeans.

Procura dedicar tiempo en la resolución de problemas algorítmicos para la


implementación del código fuente en JAVA Netbeans, en la práctica para
colocar la semántica adecuada de cada problema se podrá tener dominio
de este poderoso lenguaje de alto nivel con respecto al diseño y la
codificación.

Presta atención en los links que te mostraremos a continuación, puesto


que es una página segura donde tendrá toda la información necesaria las
fuentes y herramientas a utilizar, esto te permitirá descargar con confianza
el software y no contaminarte de virus tu máquina por descargar de
página de dudosa procedencia.

Instituto Tecnológico Superior Ismael Pérez Pazmiño 51


Guía de estudios
Desarrollo de contenidos:
Estructura general de JAVA NETBEANS
Por consola: (Código Puro).
Grafica de la pantalla inicial

Está consola solo tiene la pestaña Source (código) y History (Historial) lo cual permite
realizar código estructurado lo cual el programador define lo que utiliza y sus propios
comentarios para tener referencia de cada objeto a utilizar. Dentro de esta consola se
encontrará una estructura básica que JAVA lo genera automáticamente para poder
utilizar donde se puede personalizar varias partes importantes, lo cual dejamos muy
identado cada abierto de proceso que en JAVA se utiliza abierta llave {, cada elemento
que utilicemos en JAVA debe ser declarado, ya sea variables constantes y funciones.

Por formulario JFRAME: (Código y Diseño).


Grafica de la pantalla inicial

52 Ing. José Arce – Ing. Jairo Jiménez


Fundamentos de Programación

Esta consola tiene la pestaña de Source (Código), Design (Diseño) y History


(Historial), lo cual es flexible, fácil de utilizar sus objetos muy rígido en diseño y
adaptable en nuevas librerías. Me permite realizar múltiples tareas de formas
diferentes para tener un formulario y su código propio.

Analiza el siguiente documento donde encontrarás información sobre


variables, tipos de datos utilizados, páginas utilizadas 23- 30.
http://estudioinformatico2014.com/INTSIPP/mod/folder/view.php?id=57
Archivo Java.pdf

Analiza el siguiente documento donde tendrás las palabras reservados


de Java, lo cual son instrucciones propias de Java y no se pueden utilizar
como variables.
http://puntocomnoesunlenguaje.blogspot.com/2012/04/identificadores-y-
palabras-reservadas.html
Revisar páginas 48-54.
http://estudioinformatico2014.com/LIBROSINSTSIPP/USERS%20JAVA.p
df

Instituto Tecnológico Superior Ismael Pérez Pazmiño 53


Guía de estudios
Te recuerdo que debes bajar el archivo y luego leer información sobre los
temas siguientes: Variables, Declaración de variables, Tipos de datos,
Conversión entre tipos (casting), Operadores Aritméticos, Condicionales,
BIT, Asignación, palabras reservadas.

Tarea de la lectura de las páginas utilizadas 23 – 30.

Resolver las siguientes preguntas:


1) Realice un ejemplo de 5 variables con varios tipos de datos.
2) Coloque 3 tipos de datos primitivos.
3) Realice una conversión entre tipos de datos.
4) Realice un ejemplo de los operadores aritméticos utilizados en Java.
5) Coloque 4 operadores condicionales.
6) Coloque 2 operadores BIT.
7) Haga una operación de asignación.
8) Coloque 5 palabras reservadas de Java.

NetBeans es importante tener en claro los parámetros,


instrucciones y semántica utilizada para resolver
cualquier problema, ya sea en modo consola o modo
gráfico. De tal manera se empieza a ver las variables
tipos de datos, sus respectivos operadores e
instrucciones principales, palabras reservadas del
lenguaje de programación lo cual no se pueden utilizar
como variables para los diferentes procesos.

Estructuras de Control
Las estructuras son construcciones puramente sintácticas que se traducen en
funcionalidad. Un ejemplo de estructura son los ciclos que ya vimos. Ahora veamos
otras estructuras que nos ofrece Java.

Estructura Secuencial
Es aquella que me permite resolver problemas de forma independiente sin tener un
control, la ejecución es en línea recta y no tiene casos ni interrupciones.

54 Ing. José Arce – Ing. Jairo Jiménez


Fundamentos de Programación

Analiza de los ejercicios que se clasificaron en el Taller 8 de estructura


secuencial.
Selecciona solo esa estructura e implementa en Java estos ejercicios.
http://estudioinformatico2014.com/INTSIPP/
Taller 8

Te recuerdo que debes revisar el deber anteriormente enviado por la


siguiente página en el taller 8 y realizarlo en código.

Actividad de la Estructura Secuencial

 Resolver los ejercicios que están separados en estructura secuencial


en el taller 8 e implementar en código y capturar la ejecución.

Control if/else/else if (Estructura Selectiva)


Esta es una de las estructuras de control de flujo más básicas de los lenguajes de
programación. Esta estructura permite, en base a una condición, modificar el flujo de
ejecución y se utiliza para situaciones como “si llueve no salgo, si no, salgo”.
Representa una bifurcación, la toma de decisión donde solo hay dos opciones, si sí o
si no. A continuación veamos cómo se escribe:


if(estaLloviendo()) {// si da false continúa en A
noSalgo();

// al finalizar continúa en A
}

// A

Instituto Tecnológico Superior Ismael Pérez Pazmiño 55


Guía de estudios
Figura 5. Revista Users Java Ignacio Vivonia, Página 63.

En el ciclo if se evalúa la condición booleana que se encuentra entre los paréntesis y


en base al resultado se ejecutan las acciones que se encuentran en el cuerpo de if (en
caso de true). Si no, continúa con la ejecución ignorando el if. Si queremos que se
ejecute un código en el caso de false (manteniendo el caso de true), utilizamos la
etiqueta else después del cuerpo de if, seguido de un bloque de código.
Siempre es mejor y más claro poner la opción más frecuente como bloque if ya que es
lo primero otra persona va a leer.

if(estaLloviendo()) {// caso true


noSalgo();

// al finalizar continúa en A
} else { // caso false
salgo();

// al finalizar continúa en A
}

// A

56 Ing. José Arce – Ing. Jairo Jiménez


Fundamentos de Programación

Recomendaciones y uso adecuado de la instrucción IF, ELSE


 Aplique sangría al cuerpo de una instrucción if para hacer que resalte y mejorar
la legibilidad del programa.
 Coloque sólo una instrucción por línea en un programa. Este formato mejora la
legibilidad del programa.
 Invertir los operadores !=, >= y <=, como en =!, => y =<, es un error de sintaxis.
 Es un error de sintaxis si los operadores ==, !=, >= y <= contienen espacios
entre sus símbolos, como en = =, ! =, > = y < =, respectivamente.

if (numero1 == numero2); // error lógico


System.out.printf( "%d == %d\n", numero1, numero2 );

if (numero1 == numero2) // Se aplica correctamente


System.out.printf( "%d == %d\n", numero1, numero2 );

if (numero1 == numero2)
; // instrucción vacía
System.out.printf( "%d == %d\n", numero1, numero2 );

Finalmente, podemos encadenar varios if utilizando else if(<condicion>), de acuerdo a


nuestras necesidades.

Figura 6. Revista Users Java Ignacio Vivonia, Página 64.

Instituto Tecnológico Superior Ismael Pérez Pazmiño 57


Guía de estudios
Analiza el siguiente documento donde encontrarás información sobre
Estructura de control IF, else y Ejemplos, página 150-152.
http://estudioinformatico2014.com/INTSIPP/mod/folder/view.php?id=57
La.Biblia.De.Java.2.rar

Te recuerdo que debes bajar el archivo y luego leer información sobre el


tema IF, para que hagas una comparación de conceptos sobre IF, ELSE.
Necesitas tener bien claro la sintaxis y su iteración.

Actividad de la tarea para el Control IF – ELSE

 Coloque la sintaxis correcta del siguiente ejemplo: Se requiere conocer si 2


números son igual y se pide mostrar un mensaje diciendo “Números Iguales”.
 Realice una comparación de concepto del control IF y ELSE, en base al texto
leído.
 Indique con sus palabras que función realiza el ejercicio de la página
152.Capture la ejecución.

Switch
Debemos tener en cuenta que esta estructura de control de flujo nos permite realizar la
comparación de un tipo numérico entero y carácter primitivo contra varios candidatos
que deseemos y que de esta forma podremos ejecutar el código en consecuencia.

58 Ing. José Arce – Ing. Jairo Jiménez


Fundamentos de Programación

Figura 7. Revista Users Java Ignacio Vivonia, Página 65.

La forma de escribirlo es presentada a continuación:

switch(<valor>) {
case <literal>: <código> break;
case <literal>: <código> break;

default: <código> break;
}

Al switch le pasamos un valor para comparar, luego, en cada caso, lo comparamos


contra un literal del mismo tipo y, en caso de ser iguales, se ejecuta el código
asociado. Se pone la etiqueta break al final del código de cada caso para poder
finalizar la ejecución del switch (generalmente es lo deseado), si no se seguirían
ejecutando en cascada el resto de los códigos del switch (generalmente es un bug).
El caso default se ejecuta cuando ninguno de los casos coincidió.

Instituto Tecnológico Superior Ismael Pérez Pazmiño 59


Guía de estudios
int opcion = 2;
switch(opcion) {
case 1: …
// código para el caso 1
// sin break, continúa ejecutando el caso 2
case 2: …
// código para el caso 2
break;
// continúa en A
default: …
// código para cuando no es ni 1 ni 2
break;
// continúa en A
}

// A
Ejemplo de Switch

public class app


{
public static void main(String[] args)
{
int temperature = 68;
switch(temperatura)
{
case 60:
case 61:
case 62:
case 63:
case 64:
System.out.println(“Demasiado frío.");
break;
case 65:
case 66:
case 67:
case 68:
case 69:
Syctem.out.println("Frío.");
break;
case 70:
case 71:
case 72:
case 73:
case 74:
case 75:
System.out.println("Templado.");
break;

60 Ing. José Arce – Ing. Jairo Jiménez


Fundamentos de Programación

default:
System.out.println("Probab1emente demasiado calor.");
}
}
}

Debemos tener en cuenta que el lenguaje Java utiliza cualquier espacio


blanco (espacios, saltos de líneas
y sangrías; uno o más de los anteriores) para separar las palabras del
código. Son necesarios a menos
que haya algún otro símbolo que separe (paréntesis, comas, llaves,
etcétera).

Actividad de la Estructura Selectiva IF – ELSE - SWITCH

Resolver los ejercicios que están separados en estructura selectiva en el taller 8 e


implementar en código y capturar la ejecución

Analiza de los ejercicios que se clasificaron en el Taller 8 de estructura


selectiva.
Selecciona solo esa estructura e implementa en Java estos ejercicios.
http://estudioinformatico2014.com/INTSIPP/
Taller 8

Te recuerdo que debes revisar el deber anteriormente enviado por la


siguiente página en el taller 8 y realizarlo en código.

Instituto Tecnológico Superior Ismael Pérez Pazmiño 61


Guía de estudios
Bucle while
La instrucción while permite crear bucles. Un bucle es un conjunto de sentencias que
se repiten si se cumple una determinada condición. Los bucles while agrupan
instrucciones las cuales se ejecutan continuamente hasta que una condición que se
evalúa sea falsa.
La condición se mira antes de entrar dentro del while y cada vez que se termina de
ejecutar las instrucciones del while
Sintaxis:
while (condición)
{
sentencias que se ejecutan si la condición es true
}

Ejemplo (cálculo de la factorial de un número, la factorial de 4 sería: 4*3*2*1):

//factorial de 4
int n=4, factorial=1, temporal=n;
while (temporal>0) {
factorial*=temporal--;
}

Actividad de la Estructura While

 Realizar un programa que me permita ingresar las notas de un alumno, constan


de los siguientes parámetros: nombre, nota primer parcial, nota segundo
parcial, lo cual mostrara la nota final y su equivalencia y si Aprobó, Reprobó,
Recuperación. Para equivalencia será tomado en cuenta lo siguiente: 10 – 9:
“SOBRESALIENTE”, 8-7: “MUY BUENO”, 6-5:” BUENO”, 4-3: “REGULAR”; 0-2:
“INSUFICIENTE”. Para su aprobación tendrá que ser mayor igual que 14, para
Recuperación tendrá que tener entre 11,00 a 13,99, para ser reprobado tendrá
que tener menos de 11.
 Realizar un programa que me permita ingresar un número y determinar cuántas
cifras tiene el número y presentar por mensaje.
 Realizar un programa que me permita ingresar un número e ingresar la raíz, se
debe calcular del número ingresado la raíz especificada.
Ejemplo:

 Realizar un programa que me permita ingresar un número y verificar si es primo


o no, presentar en mensaje por pantalla.

62 Ing. José Arce – Ing. Jairo Jiménez


Fundamentos de Programación

 Realizar un programa que me permita ingresar el nombre de una persona y


muestre cuantas vocales y consonantes tiene el nombre.
 Realizar un programa en el cual debe pedir 3 números al usuario. Hallar el
máximo común divisor. El Máximo Común Divisor (M.C.D) de varios números es
el mayor de sus divisores comunes. MCD (24, 36, 40)
 Realizar un programa que me permita presentar los 14 primeros múltiplos de 7.
 Realizar un programa que me permita calcular la suma de los 10 primeros
múltiplos de 5, y de los 10 primeros múltiplos de 11. presentar ambas sumas.
 Realizar un programa que me permita ingresar un número y me presente su
equivalente a número romano. desde 1 – i hasta 10 – x.
 Realizar un programa que me permita ingresar un número y calcular el factorial
y presentarlo.
 Realizar un programa que me permita presentar los 20 primeros números,
donde los números pares se multiplicará 5, y los impares se dividirá 2.
 Realizar un programa que me permita ingresar 4 números y presentar el mayor
de ellos.
 Realizar un programa que me permita ingresar el día, mes, año de nacimiento y
me presente cuantos años, meses, días.

Analiza de los ejercicios que tiene estructura selectiva y repetitiva.


Se debe implementar en base al ciclo de repetición de while.
Tomar en cuenta sus diferentes soluciones.

Te recuerdo que debes revisar la sintaxis y la semántica para que este


correcta la solución sobre esta sentencia.

do while
Crea un bucle muy similar al anterior, en la que también las instrucciones del bucle se
ejecutan hasta que una condición pasa a ser falsa. La diferencia estriba en que en
este
tipo de bucle la condición se evalúa después de ejecutar las instrucciones; lo cual
significa que al menos el bucle se ejecuta una vez. Sintaxis:
do
{
instrucciones
} while (condición);

Instituto Tecnológico Superior Ismael Pérez Pazmiño 63


Guía de estudios
Analiza de los ejercicios que tiene estructura selectiva y repetitiva.
Se debe implementar en base al ciclo de repetición de do-while.
Tomar en cuenta sus diferentes soluciones.

Te recuerdo que debes revisar la sintaxis y la semántica para que este


correcta la solución sobre esta sentencia.

for
Es un bucle más complejo especialmente pensado para rellenar arrays o para ejecutar
instrucciones controladas por un contador. Una vez más se ejecutan una serie de
instrucciones en el caso de que se cumpla una determinada condición. Sintaxis:
for (expresiónInicial; condición; expresiónEncadavuelta)
{
instrucciones;
}
La expresión inicial es una instrucción que se ejecuta una sola vez: al entrar por
primera vez en el bucle for (normalmente esa expresión lo que hace es dar valor inicial
al contador del bucle).
La condición es cualquier expresión que devuelve un valor lógico. En el caso de que
esa expresión sea verdadera se ejecutan las instrucciones. Cuando la condición pasa
a ser falsa, el bucle deja de ejecutarse. La condición se valora cada vez que se
terminan de ejecutar las instrucciones del bucle.
Después de ejecutarse las instrucciones interiores del bucle, se realiza la expresión
que tiene lugar tras ejecutarse las instrucciones del bucle (que, generalmente,
incrementa o decrementa al contador). Luego se vuelve a evaluar la condición y así
sucesivamente hasta que la condición sea falsa.
Ejemplo (factorial):
//factorial de 4
int n=4, factorial=1, temporal=n;
for (temporal=n;temporal>0;temporal--){
factorial *=temporal;
}

Analiza de los ejercicios que tiene estructura selectiva y repetitiva.


Se debe implementar en base al ciclo de repetición de for.
Tomar en cuenta sus diferentes soluciones.

64 Ing. José Arce – Ing. Jairo Jiménez


Fundamentos de Programación

Te recuerdo que debes revisar la sintaxis y la semántica para que este


correcta la solución sobre esta sentencia.

Funciones o métodos en Java

Un método es un conjunto de instrucciones a las que se les da un determinado


nombre de tal manera que sea posible ejecutarlas en cualquier momento sin tenerlas
que rescribir sino usando sólo su nombre. A estas instrucciones se les denomina
cuerpo del método, y a su ejecución a través de su nombre se le denomina llamada al
método.

La ejecución de las instrucciones de un método puede producir como resultado un


objeto de cualquier tipo. A este objeto se le llama valor de retorno del método y es
completamente opcional, pudiéndose escribir métodos que no devuelvan ninguno.

Definición de métodos

Para definir un método hay que indicar tanto cuáles son las instrucciones que forman
su cuerpo como cuál es el nombre que se le dará, cuál es el tipo de objeto que puede
devolver y cuáles son los parámetros que puede tomar. Esto se indica definiéndolo
así:

<tipoRetorno> <nombreMétodo>(<parámetros>)
{
<cuerpo>
}
En <tipoRetorno> se indica cuál es el tipo de dato del objeto que el método devuelve, y
si no devuelve ninguno se ha de escribir void en su lugar.

Por ejemplo, cuando mostramos algo por pantalla, estamos utilizando la función del
sistema System.out.println.

Vamos a suponer, que queremos mostrar el "Hola Mundo" cada vez que queramos y
de forma fácil, podemos hacer lo siguiente:

Instituto Tecnológico Superior Ismael Pérez Pazmiño 65


Guía de estudios
.

De esta forma, cada vez que quisiéramos escribir el "Hola Mundo", nos bastaría con
llamar a la función, y no lo tendríamos que hacer varias veces. Esa es la idea de las
funciones.

Esta función que hemos hecho es para entenderlo a modo explicación, pero no es muy
útil que digamos.

Hay más tipos de funciones

 Reciben datos y no devuelven nada


 No reciben datos y no devuelven nada. (La que hemos visto en el ejemplo)
 Reciben datos y devuelven datos.

Vamos a ver un ejemplo de una función que recibe datos y no devuelve nada.

66 Ing. José Arce – Ing. Jairo Jiménez


Fundamentos de Programación

Esta función muestra el número que le pasemos entre los paréntesis. Los datos que
recibe una función se llaman parámetros.

Fijaos que dentro de la función la variable se llama "numero", pero contiene el valor de
"num". Esto se entenderá en la siguiente lección, el ámbito de las variables.

El último tipo de función que nos falta por ver son las que reciben datos y devuelven
un dato.

Vamos a realizar una función que sume dos variables pasadas por parámetro.

Instituto Tecnológico Superior Ismael Pérez Pazmiño 67


Guía de estudios
En la creación de la función, hemos cambiado el void por int...Void significaba que no
devolvía ningún valor, y como esta vez devuelve un número entero, ponemos int.

Si devolviera un tipo double pues escribiríamos double.

Para devolver el valor, tenemos que utilizar la palabra return, como veis en la función.

El resultado se muestra en pantalla a través de la siguiente línea:

System.out.println("El resultado de la suma es: " + Suma(num1, num2));

Cuando escribimos Suma(num1, num2), realmente es como si estuviéramos


escribiendo una variable tipo "int", porque es lo que devuelve la función.

Actividad de las funciones en Java

 Realizar un programa en Java que me permita acoplar las operaciones aritméticas


mediante funciones de Java de diferentes tipos.
 Realizar un programa en Java que me permita obtener el factorial de un numero
mediante una función en Java de diferentes tipos.

68 Ing. José Arce – Ing. Jairo Jiménez


Fundamentos de Programación

 Realizar un programa en Java que me permita crear un menú con todas las
operaciones matemáticas que se han realizado y esas operaciones sean
implementadas en funciones de diferentes tipos.

Mediante la teoría y un ejemplo de cómo se implementa funciones en Java,


se debe implementar funciones que permitan simplificar algunos procesos.

Te recuerdo que debes revisar la sintaxis y la semántica para


implementar funciones en Java.

Funciones Matemáticas en Java

En cuanto a las funciones matemáticas en Java, las funciones disponibles vienen


definidas en la clase Math. Hay muchas funciones disponibles. Se puede consultar la
lista completa en la documentación oficial del API de Java (según versión de Java en
uso, por ejemplo para la versión 8 ver
http://docs.oracle.com/javase/8/docs/api/java/lang/Math.html ).

Función Significado Ejemplo de uso Resultado


matemática
abs Valor absoluto int x = Math.abs(2.3); x = 2;
atan Arcotangente double x = Math.atan(1); x=
0.78539816339744;
sin Seno double x = Math.sin(0.5); x=
0.4794255386042;
cos Coseno double x = Math.cos(0.5); x=
0.87758256189037;
tan Tangente double x = Math.tan(0.5); x=
0.54630248984379;
exp Exponenciación double x = Math.exp(1); x=
neperiana 2.71828182845904;
log Logaritmo double x = x=
neperiano Math.log(2.7172); 0.99960193833500;
pow Potencia double x = Math.pow(2.3); x = 8.0;
round Redondeo double x = x = 3;
Math.round(2.5);
random Número double x = x=
aleatorio Math.ramdom(); 0.20614522323378;
Instituto Tecnológico Superior Ismael Pérez Pazmiño 69
Guía de estudios
Revisar el siguiente enlace lo cual me permite entender con ejemplos claros
sobre cada una de las funciones matemáticas que Java nos ofrece.
http://aprenderaprogramar.com/index.php?option=com_content&view=article
&id=237:clase-math-del-api-java-y-funciones-matematicas-trigonometricas-
logaritmo-redondeo-round-cu00905c&catid=58:curso-lenguaje-
programacion-java-nivel-avanzado-i&Itemid=180
Te recuerdo que debes revisar la sintaxis y la semántica para
implementar nuevos programas con estas funciones matemáticas en
Java.

Actividad de las funciones matemáticas en Java

 Realizar un menú de opciones en Java que muestre todas las funciones


matemáticas.

Mediante la teoría y en la revisión del enlace se podrá resolver este


problema planteado.
Tomar en cuenta todas las instrucciones matemáticas.

Te recuerdo que debes revisar la sintaxis y la semántica para


implementar funciones matemáticas en Java.

Funciones de Cadena en Java

Dentro de un objeto de la clase String o StringBuffer, Java crea un array de caracteres


de una forma similar a como lo hace el lenguaje C++. A este array se accede a través
de las funciones miembro de la clase.

Los strings u objetos de la clase String se pueden crear explícitamente o


implícitamente. Para crear un string implícitamente basta poner una cadena de
caracteres entre comillas dobles. Por ejemplo, cuando se escribe

System.out.println("El primer programa");

Java crea un objeto de la clase String automáticamente.

Para crear un string explícitamente escribimos

String str=new String("El primer programa");

70 Ing. José Arce – Ing. Jairo Jiménez


Fundamentos de Programación

También se puede escribir, alternativamente

String str="El primer programa";

Para crear un string nulo se puede hacer de estas dos formas

String str="";
String str=new String();

Un string nulo es aquél que no contiene caracteres, pero es un objeto de la clase


String. Sin embargo,

String str;

Está declarando un objeto str de la clase String, pero aún no se ha creado ningún
objeto de esta clase.

Según su clasificación:

length( ) Retorna la cantidad de caracteres que tiene la String


EJEMPLO
1-) String cadena = “Universidad Técnica”;
int a = cadena.length();
La variable “a” contendrá 19

int indexOf(String ó char) Retorna el índice o posición donde aparece por primera
vez la String o char que se recibe como parámetro, o un -1 si no la encuentra
EJEMPLO
1-) String cadena = "San Jose";
int posicion = cadena.indexOf("Jose" );
Ahora posición contiene un 4
int a = cadena.indexOf(‘o’);
Ahora la variable a contiene un 5
Recuerde que la primera posición es cero.

String replace (char viejoChar, char nuevoChar) Remplaza en la hilera que invoca
el método, el viejoChar por el
nuevoChar. Se utiliza para reemplazar caracteres
EJEMPLO
1-) String hilera, cadena = “mamá"; hilera = cadena.replace(‘m’,’p’ );
Ahora hilera contiene “papá” y cadena continúa teniendo “mamá”.

String replaceAll (String viejaString, String nuevaString) Remplaza en la hilera que


invoca al método la vieja String por la nueva String. Se utiliza para reemplazar
subhileras

Instituto Tecnológico Superior Ismael Pérez Pazmiño 71


Guía de estudios
EJEMPLO
1-) String cadena = “José Soto"; cadena = cadena.replaceAll(“Soto”,”Solís” );
Ahora cadena contiene “José Solís” ya que se modificó sobre ella misma

String toLowerCase() Convierte todos los caracteres de la hilera a minúscula.


Solo para hileras, no funciona para char.
EJEMPLO
1-) String cadena = "JAVA";
cadena = cadena.toLowerCase();
Ahora cadena contiene “java”

String toUpperCase() Convierte todos los caracteres de la hilera a mayúscula. Solo


para hileras, no funciona para char.
EJEMPLO
1-) String cadena = "java";
cadena = cadena.toUpperCase();
Ahora cadena contiene “JAVA”

boolean equals(String str): Compara la hilera que invoca al método con la del
parámetro. Si son iguales retorna true y si nó, retorna false. Es sensitivo a mayúsculas
y minúsculas.
EJEMPLO
1-) String cadena1 = “alajuela", cadena2 = “Alajuela”;
if (cadena1.equals(cadena2)){
out.println(“Son iguales”);
else
out.println(“Son diferentes”);
La impresión será: Son diferentes boolean equalsIgnoreCase (String str) Compara
la hilera que invoca al método con la del parámetro. Si son iguales retorna true y si nó,
retorna false. No es sensitivo a mayúsculas y minúsculas.
EJEMPLO 1-) String cadena1 = “alajuela";
String cadena2 = “Alajuela”;
if (cadena1.equalsIgnoreCase(cadena2)){
out.println(“Son iguales”);
else
out.println(“Son diferentes”);
La impresión será: Son iguales

int compareTo(String str1) Compara 2 cadenas y retorna un valor numérico.:


Cero (o): si ambas cadenas son iguales
Un número < 0 si la primera hilera es menor a la segunda.
Un número > 0 si la primera hilera es mayor a la segunda.
EJEMPLO
String cad1="1234";
String cad2="1334";
valor=cad1.compareTo(cad2);
if(valor==0)

72 Ing. José Arce – Ing. Jairo Jiménez


Fundamentos de Programación

out.println("Son iguales";
else
if (valor<0)
out.println("cad1 menor cad2";
else
out.println("cad1 mayor cad2";

String trim():
Elimina espacios en blanco al principio y al final de la cadena. No elimina los espacios
situados entre las palabras.
EJEMPLO
1-) String cadena = " Programación 1 ";
cadena = cadena.trim();
Ahora cadena contiene “Programación 1”

String substring(int indiceInicial, int indiceFinal) Retorna el segmento de la String


entre la posición ‘indiceInicial’ inclusive hasta una posición anterior a ‘indiceFinal’.
EJEMPLO
1-) String cadena = "Desarrollo Orientado a Objetos";
out.println(cadena.substring(11,20));
Impresión: Orientado

char charAt (int indice) Devuelve el carácter que ocupa la posición indicada por el
índice.
EJEMPLO
1-) String cadena = "Polimorfismo";
out.println(cadena.charAt(4));
Impresión : m
2-) char caracter = cadena.charAt(7);
Ahora carácter contiene ‘f’

String.valueOfConvierte valores de una clase a otra. Permite convertir valores que


no son de tipo String a valores de tipo String.
Este método pertenece a la clase String directamente, no hay que utilizar el nombre
del objeto creado ( es un método estático).
EJEMPLO
String numero = String.valueOf(1234);
String fecha = String.valueOf(new Date());

Métodos de la clase Carácter

bolean isLetter(char caracter))


Retorna un verdadero si el carácter del parámetro es una letra
EJEMPLO
1-) char caracter;

Instituto Tecnológico Superior Ismael Pérez Pazmiño 73


Guía de estudios
if (Character.isLetter(caracter))
out.println(caracter +" es una letra";

bolean isDigit(char caracter))


Retorna un verdadero si el carácter del parámetro es un dígito
EJEMPLO
1-) char caracter;
if (Character.isDigit(caracter))
out.println(caracter +" es un dígito";

bolean isUpperCase(char caracter)


Retorna un verdadero si el carácter del parámetro es una letra mayúscula
EJEMPLO
1-) char caracter;
if (Character.isUpperCase(caracter))
out.println(caracter +" es una letra mayúscula";

boolean isLowerCase(char caracter)


Retorna un verdadero si el carácter del parámetro es una letra minúscula
EJEMPLO
1-) char caracter;
if (Character.isLowerCase(caracter))

out.println(caracter +" es una letra minúscula";

Actividad de las funciones de cadena en Java

 Realizar un menú de opciones en Java que muestre todas las funciones de


cadena.
 Realizar un programa que me permita generar 8 números, de un rango de 1 a 20,
que no se repitan.

Mediante la teoría y en la revisión del enlace se podrá resolver este


problema planteado.
Tomar en cuenta todas las instrucciones de cadena.

Te recuerdo que debes revisar la sintaxis y la semántica para


implementar funciones de cadena en Java.
Para resolver el último programa se necesita funciones matemáticas,
métodos y ciclos repetitivos.

74 Ing. José Arce – Ing. Jairo Jiménez


Fundamentos de Programación

Clases
En la programación orientada a objetos, las clases proporcionan una especie de
plantilla para los objetos. Es decir, si se piensa en una clase como un molde de
galletas, los objetos que se crean a partir de ella, son las galletas. Se puede
considerar que una clase es un tipo de objeto; se usa una clase para crear un objeto y
luego se puede llamar a los métodos del objeto desde este código.
Para crear un objeto, se invoca al constructor de una clase, que es un método que se
llama igual que la clase. Este constructor crea un nuevo objeto de la clase. En este
libro, ya hemos creado clases; cada vez que se crea un programa Java, se necesita
una clase. Por ejemplo, veamos el código necesario para crear una clase llamada app,
que se almacena en un fichero llamado app.java (esta clase crea una aplicación Java):
public class app
{
public static void main(String[] args)
{
System.out.println(“Hola desde Java! " ) ;
}
}
Cuando se utiliza el compilador de Java, este fichero, app.java, se convierte en el
fichero de bytecode app.class, que gestiona toda la especificación de la clase app.

Ejemplo: Realizar un programa que me permita tener una clase secundaria


operaciones y sea llamada desde una clase principal para que realice todas las
operaciones aritméticas.

Instituto Tecnológico Superior Ismael Pérez Pazmiño 75


Guía de estudios
La clase se crea con sus métodos que tienen parámetros y devuelve un parámetro.
Esta clase la podemos llamar en todo el proyecto desde cualquier clase ya sea del
mismo tipo o de jerarquía mayor.

Objetos
En Java, a un objeto se le llama instancia de una clase. Para crear un objeto, se llama
al constructor de una clase, que tiene el mismo nombre que ella. He aquí un ejemplo
en el que se crea un objeto de la clase String, pasando la cadena que se quiere incluir
en ese objeto al constructor de la clase
String:
String S = new String(" ¡Hola desde Java! " ) ;
Se verá más sobre la creación de objetos con constructores a lo largo de este capítulo.
¿Qué se hace con un objeto cuando se dispone de otro? Se puede interactuar con él
usando sus miembros de datos y métodos; veamos las dos secciones siguientes.

Ejemplo: Del ejercicio anterior ahora se llama a la clase mediante un objeto desde
cualquier clase.

Se realiza la instancia del objeto mediante la palabra reservada new, lo cual crea un
objeto llamado op.
De esta manera el objeto op permite llamar todos los métodos que se tiene en la clase
operaciones.

76 Ing. José Arce – Ing. Jairo Jiménez


Fundamentos de Programación

Actividad de clases y objetos en Java

 Realizar un programa en Java que me permita crear una clase donde contenga
métodos de todos los procesos matemáticas que se han realizado en las clases
anteriores y otra clase donde contenga métodos de todos los procesos de cadena
que se ha realizado.

Se debe tener en cuenta los ejercicios anteriores para realizar este


programa.
Dentro de estas 2 clases se tendrán que poner 4 métodos en cada clase,
ósea en total 8 métodos.

Te recuerdo que debes revisar la sintaxis y la semántica para


implementar clases y objetos en Java.

Mediante todas las estructuras estudiadas,


instrucciones matemáticas de cadena, implementación
de métodos propios, creación de clases y objetos
tendremos mayor elasticidad en resolver cualquier
problema en modo consola con programación pura.

Instituto Tecnológico Superior Ismael Pérez Pazmiño 77


Guía de estudios
Actividades de auto – evaluación de la unidad IV:

 Contesta las siguientes preguntas:


 Coloque 3 ejemplos de variables de diferentes tipos de datos
 Coloque 3 ejemplos de estructuras secuenciales
 ¿Defina la estructura de Control IF y coloque 2 ejemplos?
 ¿Defina la estructura de Control WHILE y coloque 2 ejemplos?
 ¿Defina la estructura de Control DO-WHILE y coloque 2
ejemplos?
 ¿Defina la estructura de Control FOR y coloque 2 ejemplos?
 ¿Qué es método en Java?
 Coloque 1 ejemplo de los 3 tipos de métodos que se pueden
implementar en JAVA
 Coloque 3 instrucciones matemáticas de JAVA y coloque 1
ejemplo.
 Coloque 3 instrucciones de cadena de JAVA y coloque 1
ejemplo.
 Coloque el concepto de clase y objetos en JAVA y ponga un
ejemplo.

Actividad final Unidad IV:

Mediante un ejemplo utiliza métodos, clases, objetos, puedes utilizar


instrucciones matemáticas o instrucciones de cadena para realizar este
programa debes tener en cuenta todos los parámetros para estructurar
este programa en base a lo aprendido en esta Unidad.

78 Ing. José Arce – Ing. Jairo Jiménez


Fundamentos de Programación

Unidad didáctica V: Arreglos

Introducción:

Dentro de JAVA, se puede almacenar gran cantidad de datos, lo cual nos permite
clasificar, los datos temporales para poder procesar información de forma más rápida,
tenemos elementos para datos unidimensionales o multidimensionales, lo cual nos
permite manejar gran cantidad de datos. De esta forma podemos ver el
comportamiento de los datos en memoria su contenido y sus modificaciones.
Los arreglos o también conocidos como vectores nos permiten ordenar nuestros datos
y estructurar de una manera que podemos saber que dato entro primero y que dato
entro último, esto nos facilita porque es un conjunto de variables que tienen como
objetivo tener información ordena, estructura y clasificada para poder realizar cualquier
proceso.

Instituto Tecnológico Superior Ismael Pérez Pazmiño 79


Guía de estudios
Tema V: Arreglos.
Objetivo de la unidad didáctica V: Implementar arreglos para una gran variedad de
propósitos que proporcionan un medio conveniente de agrupar variables relacionadas
y organizar datos de una manera que puedan ser fácilmente procesados.

Sistema de conocimientos Sistema de habilidades Sistema de Valores


 Unidimensionales:  Diseñar algoritmos
 Actitudes que
conceptos básicos, que utilicen arreglos
estimulen la
operaciones y unidimensionales y
investigación y la
aplicaciones. multidimensionales.
innovación
Multidimensionales:  Desarrollar programas
tecnológica y
conceptos básicos, para implementar las
científica
operaciones y operaciones básicas
aplicaciones. en arreglos.
 Tipos de ordenamiento  Resolver algoritmos  Actitudes solidarias
secuencial. empleando vectores, y conciencia en la

matrices y arrays utilización racional

tridimensionales. de los recursos


informáticos.
 Ordenar los elementos
de un array.
 Capacidad de
 Formular una
aplicar los
propuesta de solución
conocimientos en la
en su proyecto.
práctica

80 Ing. José Arce – Ing. Jairo Jiménez


Fundamentos de Programación

Actividades De Aprendizaje Tema V

Orientaciones generales: En esta unidad aplicaremos todos los


ejercicios planteados en la unidad anterior en el computador. Utilizando
una herramienta eficaz como es Netbeans.

Procura dedicar tiempo en la resolución de problemas algorítmicos para la


implementación del código fuente en JAVA Netbeans, en la práctica para
colocar la semántica adecuada de cada problema se podrá tener dominio
de este poderoso lenguaje de alto nivel con respecto al diseño y la
codificación.

Presta atención en los links que te mostraremos a continuación, puesto


que es una página segura donde tendrá toda la información necesaria las
fuentes y herramientas a utilizar, esto te permitirá descargar con confianza
el software y no contaminarte de virus tu máquina por descargar de
página de dudosa procedencia.

Instituto Tecnológico Superior Ismael Pérez Pazmiño 81


Guía de estudios
Desarrollo de contenidos:

Arrays
Unidimensionales
Un array es una colección de valores de un mismo tipo engrosados en la misma
variable.
De forma que se puede acceder a cada valor independientemente. Para Java además
un array es un objeto que tiene propiedades que se pueden manipular.
Los arrays solucionan problemas concernientes al manejo de muchas variables que se
refieren a datos similares. Por ejemplo, si tuviéramos la necesidad de almacenar las
notas de una clase con 18 alumnos, necesitaríamos 18 variables, con la tremenda
lentitud de manejo que supone eso. Solamente calcular la nota media requeriría una
tremenda línea de código. Almacenar las notas supondría al menos 18 líneas de
código.
Gracias a los arrays se puede crear un conjunto de variables con el mismo nombre.
La diferencia será que un número (índice del array) distinguirá a cada variable.
En el caso de las notas, se puede crear un array llamado notas, que representa a
todas las notas de la clase. Para poner la nota del primer alumno se usaría notas[0], el
segundo sería notas[1], etc. (los corchetes permiten especificar el índice en concreto
del array).

La declaración de un array unidimensional se hace con esta sintaxis.


tipo nombre[];
Ejemplo:
double cuentas[]; //Declara un array que almacenará valores
// doubles

Declara un array de tipo double. Esta declaración indica para qué servirá el array, pero
no reserva espacio en la RAM al no saberse todavía el tamaño del mismo.
Tras la declaración del array, se tiene que iniciar. Eso lo realiza el operador new, que
es el que realmente crea el array indicando un tamaño. Cuando se usa new es cuando
se reserva el espacio necesario en memoria. Un array no inicializado es un array null.
Ejemplo:
int notas[]; //sería válido también int[] notas;
notas = new int[3]; //indica que el array constará de tres
//valores de tipo int
//También se puede hacer todo a la vez
//int notas[]=new int[3];

En el ejemplo anterior se crea un array de tres enteros (con los tipos básicos se crea
en memoria el array y se inicializan los valores, los números se inician a 0).
Los valores del array se asignan utilizando el índice del mismo entre corchetes:
notas[2]=8;
También se pueden asignar valores al array en la propia declaración:
int notas[] = {8, 7, 9};

82 Ing. José Arce – Ing. Jairo Jiménez


Fundamentos de Programación

int notas2[]= new int[] {8,7,9};//Equivalente a la anterior


Esto declara e inicializa un array de tres elementos. En el ejemplo lo que significa es
que notas[0] vale 8, notas[1] vale 7 y notas[2] vale 9.

En Java (como en otros lenguajes) el primer elemento de un array es el cero. El primer


elemento del array notas, es notas[0]. Se pueden declarar arrays a cualquier tipo de
datos (enteros, booleanos, doubles, ... e incluso objetos).
La ventaja de usar arrays (volviendo al caso de las notas) es que gracias a un simple
bucle for se puede rellenar o leer fácilmente todos los elementos de un array:
//Calcular la media de las 18 notas
suma=0;
for (int i=0;i<=17;i++)
{
suma+=nota[i];
}
media=suma/18;

A un array se le puede inicializar las veces que haga falta:


int notas[]=new notas[16];
...
notas=new notas[25];

Pero hay que tener en cuenta que el segundo new hace que se pierda el contenido
anterior. Realmente un array es una referencia a valores que se almacenan en
memoria mediante el operador new, si el operador new se utiliza en la misma
referencia, el anterior contenido se queda sin referencia y, por lo tanto, se pierde.
Un array se puede asignar a otro array (si son del mismo tipo):
int notas[];
int ejemplo[]=new int[18];
notas=ejemplo;
En el último punto, notas equivale a ejemplo. Esta asignación provoca que cualquier
cambio en notas también cambie el array ejemplos. Es decir, esta asignación anterior,
no copia los valores del array, sino que notas y ejemplo son referencias al mismo
array.
Ejemplo:
int notas[]={3,3,3};
int ejemplo[]=notas;
ejemplo= notas;
ejemplo[0]=8;
System.out.println(notas[0]);//Escribirá el número 8

Instituto Tecnológico Superior Ismael Pérez Pazmiño 83


Guía de estudios
Arrays Multidimensionales

Los arrays además pueden tener varias dimensiones. Entonces se habla de arrays de
arrays (arrays que contienen arrays) Ejemplo:
int notas[][];
notas es un array que contiene arrays de enteros
notas = new int[3][12];//notas está compuesto por 3 arrays
//de 12 enteros cada uno notas[0][0]=9;//el primer valor es 0
Puede haber más dimensiones incluso (notas[3][2][7]). Los arrays multidimensionales
se pueden inicializar de forma más creativa incluso. Ejemplo:
int notas[][]=new int[5][];//Hay 5 arrays de enteros
notas[0]=new int[100]; //El primer array es de 100 enteros
notas[1]=new int[230]; //El segundo de 230
notas[2]=new int[400];
notas[3]=new int[100];
notas[4]=new int[200];
Hay que tener en cuenta que en el ejemplo anterior, notas[0] es un array de 100
enteros. Mientras que notas, es un array de 5 arrays de enteros.
Se pueden utilizar más de dos dimensiones si es necesario.
Longitud de un array
Los arrays poseen un método que permite determinar cuánto mide un array. Se trata
de length. Ejemplo (continuando del anterior):
System.out.println(notas.length); //Sale 5
System.out.println(notas[2].length); //Sale 400

La clase Arrays
En el paquete java.utils se encuentra una clase estática llamada Arrays. Una clase
estática permite ser utilizada como si fuera un objeto (como ocurre con Math). Esta
clase posee métodos muy interesantes para utilizar sobre arrays.
Su uso es Arrays.método(argumentos);
fill
Permite rellenar todo un array unidimensional con un determinado valor. Sus
argumentos son el array a rellenar y el valor deseado:
int valores[]=new int[23];
Arrays.fill(valores,-1);//Todo el array vale -1
También permite decidir desde que índice hasta qué índice rellenamos:
Arrays.fill(valores,5,8,-1);//Del elemento 5 al 7 valdrán -1
equals
Compara dos arrays y devuelve true si son iguales. Se consideran iguales si son del
mismo tipo, tamaño y contienen los mismos valores.
sort
Permite ordenar un array en orden ascendente. Se pueden ordenar sólo una serie de
elementos desde un determinado punto hasta un determinado punto.
int x[]={4,5,2,3,7,8,2,3,9,5};
Arrays.sort(x);//Estará ordenado
Arrays.sort(x,2,5);//Ordena del 2º al 4º elemento

84 Ing. José Arce – Ing. Jairo Jiménez


Fundamentos de Programación

binarySearch
Permite buscar un elemento de forma ultrarrápida en un array ordenado (en un array
desordenado sus resultados son impredecibles). Devuelve el índice en el que está
colocado el elemento. Ejemplo:
int x[]={1,2,3,4,5,6,7,8,9,10,11,12};
Arrays.sort(x);
System.out.println(Arrays.binarySearch(x,8));//Da 7
El método System.arraysCopy
La clase System también posee un método relacionado con los arrays, dicho método
permite copiar un array en otro. Recibe cinco argumentos: el array que se copia, el
índice desde que se empieza a copia en el origen, el array destino de la copia, el
índice
desde el que se copia en el destino, y el tamaño de la copia (número de elementos de
la copia).
int uno[]={1,1,2};
int dos[]={3,3,3,3,3,3,3,3,3};
System.arraycopy(uno, 0, dos, 0, uno.length);
for (int i=0;i<=8;i++){
System.out.print(dos[i]+" ");
} //Sale 112333333

Actividad de clases y objetos en Java

 Pasar los siguientes códigos de los tipos de ordenamiento de los Arrays en base al
enlace y verificar cuál es su funcionalidad.
 Realizar un programa que me permita ingresar los siguientes datos de un
estudiante: Nombres no se debe repetir, carrera, asignatura, nota 1, nota 2,
examen, obtener el promedio, mostrar en forma de listado los datos con sus
calificaciones.
 Realizar un programa que me permita leer los nombres de una persona y que me
ordene alfabéticamente.
 Realizar un programa que me permita colocar un nombre en la mitad de la pantalla
y me permita mover con las teclas de dirección, arriba, abajo, izquierda, derecha.

Se debe ingresar a este link y revisar los tipos de ordenamiento de los


Arrays:
http://www.discoduroderoer.es/formas-de-ordenar-un-array-en-java/
Se debe utilizar los conceptos básicos.

Te recuerdo que debes revisar la sintaxis y la semántica para


implementar los diferentes tipos de Arrays.

Instituto Tecnológico Superior Ismael Pérez Pazmiño 85


Guía de estudios
Mediante las estructuras de Arrays sobre la
manipulación de datos para realizar cualquier tipo de
proceso, lo cual me permite verificar y mostrar.

Actividades de auto – evaluación de la unidad V:

 Contesta las siguientes preguntas:


 Coloque 2 ejemplos de Arrays Unidimensional de cualquier tipo
de dato.
 Coloque 2 ejemplos de Arrays Multidimensional de cualquier tipo
de dato.
 ¿Defina que es un ordenamiento de tipo burbuja?
 ¿Defina que es un ordenamiento de tipo intercambio?

Actividad final Unidad V:

Realizar un programa con un menú de opciones que contenga todos los


programas que se han hecho en el transcurso del módulo, según su
clasificación desde la Unidad 2 hasta la 5, se debe utilizar herramientas
Swing en Java. Para que el diseño sea muy vistoso y sea creativo, el
enlace para guía de las herramientas Swing está en el siguiente enlace.
http://estudioinformatico2014.com/INTSIPP/

86 Ing. José Arce – Ing. Jairo Jiménez


Fundamentos de Programación

Proyecto final del Módulo:

Realizar un programa que sea una herramienta interactiva para la enseñanza de los
niños de primaria, utilizando herramientas Swing, el uso de estas herramientas y los
pasos para realizar un buen manual de usuario se encuentra en el siguiente enlace:
http://estudioinformatico2014.com/INTSIPP/
Este proyecto deberá contener información como fotos, audio que permitan a los niños
de educación básica estudiar alguna rama de conocimiento, ya sea Matemáticas,
Informática, Ciencias Naturales, Estudios Sociales, Inglés o Lenguaje.
Los parámetros de calificación serán los siguientes:

ACTIVIDADES PUNTAJE
DISEÑO CREATIVIDAD DE LAS PANTALLAS 2 Ptos.
CÓDIGO ESTRUCTURADO Y ORDENADO 2 Ptos.
MANUAL DE USUARIO 1 Pto.
EXPOSICIÓN Y DOMINIO DEL TEMA 2 Ptos.
EJECUCIÓN LIBRE DE ERRORES 2 Ptos.
PREGUNTAS SOBRE HERRAMIENTAS UTILIZADAS 1 Pto.
TOTAL 10 Ptos.

Instituto Tecnológico Superior Ismael Pérez Pazmiño 87


Guía de estudios
INSTITUTO TECNOLÓGICO SUPERIOR “ISMAEL PÉREZ PAZMIÑO”
PLAN CALENDARIO DE ASIGNATURA

Carrera: Análisis de Sistemas Período académico: octubre 2015-marzo 2016

Tipo de carrera: Tradicional Nivel: Primero Modalidad de estudio: Presencial

Nombre de la asignatura: Fundamentos de Programación Cód. Asignatura: PF-S1-FUPR Semestre: Primero

Pre – requisito: Ninguno Co- requisito: Ninguno

Número de créditos: 5 créditos Total de horas: 80 Horas

Elaborado por: Ing. Jairo Jiménez – Ing. José Arce Aprobado por: Lcda. Carmen Cabrera

Firmas: _____________

NÚMERO DE
FORMA DE
LA ACTIVIDADES DOCENTES TIEMPO TRABAJO MEDIOS DE ENSEÑANZA
SEMANA ENSEÑANZA LUGAR
ACTIVIDAD INDEPENDIENTE

Conceptos Básicos.
Realizar un informe
analizando la Pizarra, Marcador,
1 Encuadre de la Asignatura, ideas Conferencia 1 hora
1 Aula importancia de la Proyector
sobre los fundamentos de la
programación. asignatura, los retos de
la programación.
Evaluación de Diagnóstico Evaluación 1 hora Realizar los avances
2 Conocimiento Pre-Adquiridos tecnológicos sobre los Pizarra, Marcador
1 Aula
básico para la asignatura. programas y sus usos
hoy en día.
Fundamentos de Programación

Conceptos Generales del Realizar un informe con


Software. el siguiente tema: La
importancia del Software
La Comunicación con el en la actualidad.
Realizar los siguientes Pizarra, Marcador,
3 ordenador. Conferencia 1 hora
1 Aula ejercicios lógicos. Proyector
Investigar diez software
Clasificación del software: de
de acuerdo a su
Aplicación, de Sistemas, de clasificación, y
Desarrollo. mencionar sus
características.
Realizar los siguientes
Lenguajes de Programación. ejercicios lógicos.
Analizar los paradigmas
Proceso de desarrollo del de programación y sus Pizarra, Marcador,
4 Conferencia 1 hora
1 software. Aula tipos, mediante uso de Proyector
ejemplos prácticos.
Realizar esquema de los
editores de texto
utilizados para codificar.
Realizar los siguientes
ejercicios lógicos.
Tipos de lenguajes de Analizar los paradigmas
Programación. de programación y sus Pizarra, Marcador,
5 Conferencia 1 hora
2 Aula tipos, mediante uso de Proyector
Programa. ejemplos prácticos.
Realizar esquema de los
editores de texto
utilizados para codificar.
Realizar los siguientes
Paradigmas de programación. ejercicios lógicos.
Analizar los paradigmas
Tipos de paradigmas de de programación y sus Pizarra, Marcador,
6 Conferencia 1 hora
2 programación. Aula tipos, mediante uso de Proyector
ejemplos prácticos.
Editor de Texto. Realizar esquema de los
editores de texto
utilizados para codificar.
Código binario. Realizar un cuadro Pizarra, Marcador,
7 Conferencia 1 hora donde están las teclas
2 Aula Proyector
Código ASCII. más utilizadas para el
funcionamiento de un

89
Programa ejecutable. programa, donde tendrá
el código ASCII
Consola de línea de comandos. correspondiente.

Realizar ejemplos de
constantes, variables,
8 Evaluación de conocimiento. Evaluación 1 hora expresión, código ASCII Pizarra, Marcador
2 Aula
de 10 teclas y conceptos
sobre lenguajes de
programación.
Algoritmo.

Identifica el algoritmo
computacional y su tipo de Investigar: expresiones
lógicas, funciones Pizarra, Marcador,
9 representación. Conferencia 1 hora
3 Aula internas, operaciones de Proyector
asignación. Cada uno
Análisis de problemas. con cinco ejemplos

Pizarra, Marcador,
10 Expresiones Algebraicas Clase Práctica 1 hora Realizar ejercicios de
3 Aula Proyector
aplicaciones algebraica

Representación de algoritmos: Realizar los siguientes Pizarra, Marcador,


11 Clase Práctica 1 hora
3 gráfica y pseudocódigo. Aula ejercicios algoritmos Proyector
lógicos de la vida real.

Diseño de algoritmos aplicados a Pizarra, Marcador,


12 Clase Práctica 1 hora
3 problemas. Aula - Proyector

Diseño de algoritmos aplicados a Realizar los siguientes Pizarra, Marcador,


13 Clase Práctica 1 hora
4 problemas. Aula ejercicios algoritmos Proyector
lógicos de la vida real.

Diseño de algoritmos aplicados a Pizarra, Marcador,


14 Clase Práctica 1 hora
4 problemas. Aula - Proyector

Diseño de algoritmos aplicados a Realizar los siguientes Pizarra, Marcador,


15 Clase Práctica 1 hora
4 problemas. Aula ejercicios algoritmos Proyector
lógicos de la vida real.

90 Ing. Jairo Jiménez Contreras


Fundamentos de Programación

Pizarra, Marcador,
16 Diseño algorítmico de funciones. Conferencia 1 hora
4 Aula - Proyector

Diseño algorítmico de funciones. Realizar ejercicios Pizarra, Marcador,


17 Clase Práctica 1 hora utilizando funciones para
5 Estructura secuencial Aula Proyector
mejorar la solución del
problema propuesto.
Diseño algorítmico de funciones. Pizarra, Marcador,
18 Clase Práctica 1 hora
5 Estructura secuencia Aula - Proyector

Resolver problemas
Técnicas de representación de mostrando una Pizarra, Marcador,
19 Conferencia 1 hora estructura de algoritmo
5 Algoritmos. Estructura secuencial Aula Proyector
inicial y su
representación grafico
de diagrama de flujo.
Técnicas de representación de Pizarra, Marcador,
20 Clase Práctica 1 hora
5 Algoritmos. Estructura secuencial Aula - Proyector

Resolver problemas
Técnicas de representación de mostrando una Pizarra, Marcador,
21 Clase Práctica 1 hora estructura de algoritmo
6 Algoritmos. Estructura Selectiva Aula Proyector
inicial y su
representación grafico
de diagrama de flujo.
Técnicas de representación de Pizarra, Marcador,
22 Clase Práctica 1 hora
6 Algoritmos. Selectiva Aula - Proyector

Resolver problemas
Técnicas de representación de mostrando una Pizarra, Marcador,
23 Clase Práctica 1 hora estructura de algoritmo
6 Algoritmos. Selectiva Aula Proyector
inicial y su
representación grafico
de diagrama de flujo.
Técnicas de representación de Pizarra, Marcador,
24 Clase Práctica 1 hora
6 Algoritmos. Selectiva Aula - Proyector

91
Resolver problemas
Técnicas de representación de mostrando una Pizarra, Marcador,
25 Clase Práctica 1 hora estructura de algoritmo
7 Algoritmos. Estructura Repetitiva Aula Proyector
inicial y su
representación grafico
de diagrama de flujo.
Técnicas de representación de Pizarra, Marcador,
26 Clase Práctica 1 hora
7 Algoritmos. Estructura Repetitiva Aula - Proyector

Resolver problemas
Técnicas de representación de mostrando una Pizarra, Marcador,
27 Clase Práctica 1 hora estructura de algoritmo
7 Algoritmos. Estructura Repetitiva Aula Proyector
inicial y su
representación grafico
de diagrama de flujo.
Técnicas de representación de Pizarra, Marcador,
28 Clase Práctica 1 hora
7 Algoritmos. Estructura Repetitiva Aula - Proyector

Resolver problemas que


se determinaron en la
29 Evaluación de conocimiento. Evaluación 1 hora Pizarra, Marcador
8 Aula evaluación teniendo en
cuenta las siguientes
instrucciones.
Introducción a la programación.
Pizarra, Marcador,
30 Conferencia 1 hora
8 Características del lenguaje de Aula - Proyector
programación.

Pizarra, Marcador,
31 Estructura básica de un programa. Conferencia 1 hora
8 Laboratorio - Proyector

Traducción de un programa:
compilación, enlace de un Realizar las
programa, errores en tiempo de instrucciones principales Pizarra, Marcador,
32 Conferencia 1 hora
8 compilación. Laboratorio y básicas para el Proyector
funcionamiento de un
Ejecución de un programa. programa en JAVA.

92 Ing. Jairo Jiménez Contreras


Fundamentos de Programación

Elementos del lenguaje: datos,


literales y constantes,
identificadores, variables, Codificar los ejercicios
que están hechos en Pizarra, Marcador,
33 parámetros, operadores, entrada y Clase Práctica 1 hora
9 Laboratorio algoritmos y diagrama Proyector
salida de datos. de flujo en el lenguaje
de programación JAVA.

Elementos del lenguaje: datos,


literales y constantes,
identificadores, variables,
Pizarra, Marcador,
34 parámetros, operadores, entrada y Clase Práctica 1 hora
9 Laboratorio - Proyector
salida de datos.

Elementos del lenguaje: datos,


literales y constantes,
identificadores, variables, Codificar los ejercicios
que están hechos en Pizarra, Marcador,
35 parámetros, operadores, entrada y Clase Práctica 1 hora
9 Laboratorio algoritmos y diagrama Proyector
salida de datos. de flujo en el lenguaje
de programación JAVA.

Codificar los ejercicios


que están hechos en Pizarra, Marcador,
36 Errores en tiempo de ejecución. Clase Práctica 1 hora
9 Laboratorio algoritmos y diagrama Proyector
de flujo en el lenguaje
de programación JAVA.
Pizarra, Marcador
Evaluación de Conocimiento del
37 Evaluación 1 hora
10 Parcial I. Aula -

Pizarra, Marcador
Evaluación de Conocimiento del
38 Evaluación 1 hora
10 Parcial I. Aula -

93
Codificar los ejercicios Pizarra, Marcador,
Instrucciones y semántica del que están hechos en Proyector
39 Clase Práctica 1 hora
10 lenguaje de programación JAVA. Laboratorio algoritmos y diagrama
de flujo en el lenguaje
de programación JAVA.
Pizarra, Marcador,
Instrucciones y semántica del Proyector
40 Clase Práctica 1 hora
10 lenguaje de programación JAVA. Laboratorio -

Control de Flujo Realizar programas en Pizarra, Marcador,


41 Clase Práctica 1 hora base a estructura
11 Laboratorio Proyector
Estructuras secuenciales. definida y organizada de
los ejercicios anteriores.
Pizarra, Marcador,
42 Estructuras secuenciales. Clase Práctica 1 hora
11 Laboratorio - Proyector

Realizar programas en Pizarra, Marcador,


43 Estructuras secuenciales. Clase Práctica 1 hora base a estructura
11 Laboratorio Proyector
definida y organizada de
los ejercicios anteriores.
Realizar programas en
base a ejercicios Pizarra, Marcador,
44 Estructuras selectivas: simple Clase Práctica 1 hora matemáticos que
11 Laboratorio Proyector
determinen las
estructura simple
estudiada.
Realizar programas en
base a ejercicios Pizarra, Marcador,
45 Estructuras selectivas: simple Clase Práctica 1 hora matemáticos que
12 Laboratorio Proyector
determinen las
estructura simple
estudiada.
Realizar programas en
Estructuras selectivas: doble y base a ejercicios Pizarra, Marcador,
46 Clase Práctica 1 hora matemáticos que
12 múltiple Laboratorio Proyector
determinen las
estructura doble
estudiada.

94 Ing. Jairo Jiménez Contreras


Fundamentos de Programación

Realizar programas en
Estructuras selectivas: doble y base a ejercicios Pizarra, Marcador,
47 Clase Práctica 1 hora matemáticos que
12 múltiple Laboratorio Proyector
determinen las
estructura doble
estudiada.
Realizar programas Pizarra, Marcador,
48 Estructuras iterativas: for. Clase Práctica 1 hora
12 Laboratorio utilizando la estructura Proyector
estudiada.

Realizar programas Pizarra, Marcador,


49 Estructuras iterativas: for. Clase Práctica 1 hora
13 Laboratorio utilizando la estructura Proyector
estudiada.

Realizar programas Pizarra, Marcador,


50 Estructuras iterativas: for. Clase Práctica 1 hora
13 Laboratorio utilizando la estructura Proyector
estudiada.

Realizar programas Pizarra, Marcador,


51 Estructuras iterativas: while. Clase Práctica 1 hora
13 Laboratorio utilizando la estructura Proyector
estudiada.

Realizar programas Pizarra, Marcador,


52 Estructuras iterativas: while. Clase Práctica 1 hora
13 Laboratorio utilizando la estructura Proyector
estudiada.

Realizar programas Pizarra, Marcador,


53 Estructuras iterativas: while. Clase Práctica 1 hora
14 Laboratorio utilizando la estructura Proyector
estudiada.

Realizar programas Pizarra, Marcador,


54 Estructuras iterativas: do while. Clase Práctica 1 hora
14 Laboratorio utilizando la estructura Proyector
estudiada.

Realizar programas Pizarra, Marcador,


55 Estructuras iterativas: do while. Clase Práctica 1 hora
14 Laboratorio utilizando la estructura Proyector
estudiada.

Realizar programas Pizarra, Marcador,


56 Estructuras iterativas: do while. Clase Práctica 1 hora
14 Laboratorio utilizando la estructura Proyector
estudiada.

95
Realizar la
Diseño e implementación de implementación de Pizarra, Marcador,
57 Clase Práctica 1 hora
15 funciones y métodos por su tipo. Laboratorio métodos propios para el Proyector
mejoramiento de un
proceso.
Realizar la
Diseño e implementación de implementación de Pizarra, Marcador,
58 Clase Práctica 1 hora
15 funciones y métodos por su tipo. Laboratorio métodos propios para el Proyector
mejoramiento de un
proceso.
Realizar la
Diseño e implementación de implementación de Pizarra, Marcador,
59 Clase Práctica 1 hora
15 funciones y métodos por su tipo. Laboratorio métodos propios para el Proyector
mejoramiento de un
proceso.
Diseño e implementación de Pizarra, Marcador,
60 Clase Práctica 1 hora
15 funciones y métodos por su tipo. Laboratorio - Proyector

Instrucciones matemáticas y de
Realizar programas Pizarra, Marcador,
61 cadena para la realización de un Clase Práctica 1 hora
16 Laboratorio basados en Proyector
proceso. instrucciones de cadena.

Instrucciones matemáticas y de Realizar programas Pizarra, Marcador,


62 cadena para la realización de un Clase Práctica 1 hora basados en
16 Laboratorio Proyector
proceso. instrucciones de
matemáticas.
Instrucciones matemáticas y de
Pizarra, Marcador,
63 cadena para la realización de un Clase Práctica 1 hora
16 Laboratorio - Proyector
proceso.

Manipulación de Objetos y Pizarra, Marcador,


64 Clase Práctica 1 hora Realizar programas con
16 Clases. Laboratorio Proyector
clases propias.

Manipulación de Objetos y Pizarra, Marcador,


65 Clase Práctica 1 hora Realizar programas con
17 Clases. Laboratorio Proyector
clases propias.

Manipulación de Objetos y Realizar programas con Pizarra, Marcador,


66 Clase Práctica 1 hora
17 Clases. Laboratorio clases , métodos y Proyector
objetos.

96 Ing. Jairo Jiménez Contreras


Fundamentos de Programación

Manipulación de Objetos y Realizar programas con Pizarra, Marcador,


67 Clase Práctica 1 hora
17 Clases. Laboratorio clases , métodos y Proyector
objetos.

Evaluación de conocimiento de la Pizarra, Marcador,


68 Evaluación 1 hora
17 Unidad. Laboratorio - Proyector

Evaluación de conocimiento de la Pizarra, Marcador,


69 Evaluación 1 hora
18 Unidad. Laboratorio - Proyector

Arreglos

Colocar ejemplos de lis Pizarra, Marcador,


70 Unidimensionales: conceptos Conferencia 1 hora
18 Laboratorio tipos de Arreglos Proyector
básicos, operaciones y
unidimensionales.
aplicaciones.

Unidimensionales: conceptos
Realizar programas Pizarra, Marcador,
71 básicos, operaciones y Clase Práctica 1 hora
18 Laboratorio basados en arreglos Proyector
aplicaciones. unidimensionales.

Unidimensionales: conceptos
Realizar programas Pizarra, Marcador,
72 básicos, operaciones y Clase Práctica 1 hora
18 Laboratorio basados en arreglos Proyector
aplicaciones. unidimensionales.

Multidimensionales: conceptos
Colocar ejemplos de lis Pizarra, Marcador,
73 básicos, operaciones y Conferencia 1 hora
19 Laboratorio tipos de Arreglos Proyector
aplicaciones. multidimensionales.

Multidimensionales: conceptos
Realizar programas Pizarra, Marcador,
74 básicos, operaciones y Clase Práctica 1 hora
19 Laboratorio basados en arreglos Proyector
aplicaciones. multidimensionales.

Multidimensionales: conceptos
Realizar programas Pizarra, Marcador,
75 básicos, operaciones y Clase Práctica 1 hora
19 Laboratorio basados en arreglos Proyector
aplicaciones. multidimensionales.

97
Multidimensionales: conceptos
Realizar programas Pizarra, Marcador,
76 básicos, operaciones y Clase Práctica 1 hora
19 Laboratorio basados en arreglos Proyector
aplicaciones. multidimensionales.

Implementar métodos
Tipos de ordenamiento que realicen Pizarra, Marcador,
77 Clase Práctica 1 hora
20 secuencial. Laboratorio ordenamiento Proyector
ascendente y
descendente.
Tipos de ordenamiento Pizarra, Marcador,
78 Clase Práctica 1 hora
20 secuencial. Laboratorio - Proyector

Pizarra, Marcador,
79 Evaluación del Segundo Parcial. Evaluación 1 hora
20 Laboratorio - Proyector

80 Evaluación del Segundo Parcial. Evaluación 1 hora Pizarra, Marcador


20 Laboratorio -

98 Ing. Jairo Jiménez Contreras

También podría gustarte