g u i a d e e s t u d i o s - intsipp.edu.ec · orientada a objetos, estructura de datos, tópicos...

98
G U I A D E E S T U D I O S 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.

Upload: vuhuong

Post on 20-Sep-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

G U I A D E E S T U D I O S 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.

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

2

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!

Fundamentos de Programación

Instituto Tecnológico Superior Ismael Pérez Pazmiño Guía de estudios

3

Í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

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

4

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

Fundamentos de Programación

Instituto Tecnológico Superior Ismael Pérez Pazmiño Guía de estudios

5

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.

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

6

IV. CONTENIDOS

Sistema General de

Conocimientos

Sistema General de

Habilidades

Sistema General de

Valores

Conceptos Básicos

Dominar los conceptos

básicos de la

programación.

Actitudes que

estimulen la

Investigación.

Destrezas tecnológicas

relacionadas con el uso

de maquinaria,

destrezas de

computación.

Respeto ante la opinión

ajena.

Capacidad crítica y

autocrítica.

Algoritmos

Analizar problemas y

representar su solución

mediante algoritmos.

Introducción a la

Programación.

Conocer las

características principales

de un lenguaje de

programación.

Codificar algoritmos en un

lenguaje de programación.

Compilar y ejecutar

programas.

Control de Flujo

Construir programas

utilizando estructuras

condicionales y repetitivas

para aumentar su

funcionalidad.

Arreglos

Construir programas que

utilicen arreglos

unidimensionales y

multidimensionales para

solucionar problemas.

Fundamentos de Programación

Instituto Tecnológico Superior Ismael Pérez Pazmiño Guía de estudios

7

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 ASIGNATURA

C CP S CE T L E THP TI THA

Tema 1: Conceptos Básicos

5 2 - - - - 1 8 16 24

Tema 2: Algoritmos

6 10 - - - 4 - 20 20 36

Tema 3: Introducción a la programación

4 10 - - - 4 2 20 20 40

Tema 4: Control de Flujo

4 6 - - - 6 - 16 16 32

Tema 5: Arreglos

4 4 - - - 4 2 14 14 28

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.

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

8

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

Clasificación del software

de: sistemas y aplicación.

Algoritmo.

Lenguaje de

Programación.

Programa.

Programación.

Paradigmas de

programación.

Editores de texto.

Compiladores e

intérpretes.

Ejecutables.

Consola de línea de

comandos.

Reconocer los

conceptos básicos:

algoritmo, programa,

programación,

paradigmas de

programación

utilizando mapas

conceptuales,

mentales, cuadros

sinópticos, etc.

Conocer el entorno de

un lenguaje de

programación

Manejar la consola

para compilar y

ejecutar programas.

Actitudes

solidarias y

conciencia en la

utilización racional

de los recursos

informáticos.

Actitudes que

estimulen la

investigación

Capacidad de

aplicar los

conocimientos en la

práctica

Fundamentos de Programación

Instituto Tecnológico Superior Ismael Pérez Pazmiño Guía de estudios

9

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.

Representación de

algoritmos: gráfica y

pseudocódigo.

Diseño de algoritmos

aplicados a problemas.

Diseño algorítmico de

funciones

Generar un catálogo

de problemas para su

análisis y solución.

Resolver y analizar

problemas cotidianos.

Actitudes que

estimulen la

investigación.

Capacidad de

aplicar los

conocimientos en la

práctica

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

lenguaje de programación

Estructura básica de un

programa.

Traducción de un

programa: compilación,

enlace de un programa,

errores en tiempo de

compilación.

Ejecución de un

programa.

Elementos del lenguaje:

Analizar información

necesaria para Instalar

y configurar el

compilador del

lenguaje de

programación a utilizar.

Realizar cambios en

expresiones lógicas y

algebraicas de un

programa modelo y

analizar los resultados

obtenidos.

Actitudes que

estimulen la

investigación y la

innovación

tecnológica y

científica

Actitudes solidarias

y conciencia en la

utilización racional

de los recursos

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

10

Sistema de conocimientos Sistema de habilidades Sistema de Valores

datos, literales y

constantes,

identificadores, variables,

parámetros, operadores,

entrada y salida de datos.

Errores en tiempo de

ejecución.

informáticos.

Capacidad de

aplicar los

conocimientos en la

práctica

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.

Estructuras selectivas:

simple, doble y múltiple.

Estructuras iterativas:

repetir mientras, hasta,

desde.

Diseño e implementación

de funciones

Diseñar programas

donde se utilicen las

estructuras de

repetición y selección.

Construir programas

que implementen

métodos o funciones.

Actitudes que

estimulen la

investigación y la

innovación

tecnológica y

científica

Actitudes solidarias

y conciencia en la

utilización racional

de los recursos

informáticos.

Capacidad de

aplicar los

conocimientos en la

práctica

Fundamentos de Programación

Instituto Tecnológico Superior Ismael Pérez Pazmiño Guía de estudios

11

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:

conceptos básicos,

operaciones y

aplicaciones.

Multidimensionales:

conceptos básicos,

operaciones y

aplicaciones.

Diseñar algoritmos

que utilicen arreglos

unidimensionales y

multidimensionales.

Desarrollar programas

para implementar las

operaciones básicas

en arreglos.

Actitudes que

estimulen la

investigación y la

innovación

tecnológica y

científica

Actitudes solidarias

y conciencia en la

utilización racional

de los recursos

informáticos.

Capacidad de

aplicar los

conocimientos en la

práctica

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

12

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.

Fundamentos de Programación

Instituto Tecnológico Superior Ismael Pérez Pazmiño Guía de estudios

13

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

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

14

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

Fundamentos de Programación

Instituto Tecnológico Superior Ismael Pérez Pazmiño Guía de estudios

15

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.

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

16

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.

Fundamentos de Programación

Instituto Tecnológico Superior Ismael Pérez Pazmiño Guía de estudios

17

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 conocimientos

Sistema de habilidades

Sistema de Valores

Clasificación del

software de: sistemas

y aplicación.

Algoritmo.

Lenguaje de

Programación.

Programa.

Programación.

Paradigmas de

programación.

Editores de texto.

Compiladores e

intérpretes.

Ejecutables.

Consola de línea de

comandos.

Reconocer los

conceptos básicos:

algoritmo,

programa,

programación,

paradigmas de

programación

utilizando mapas

conceptuales,

mentales, cuadros

sinópticos, etc.

Conocer el entorno

de un lenguaje de

programación

Manejar la consola

para compilar y

ejecutar programas.

Actitudes

solidarias y

conciencia en la

utilización

racional de los

recursos

informáticos.

Actitudes que

estimulen la

investigación

Capacidad de

aplicar los

conocimientos

en la práctica

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

18

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.

Síntesis del contenido tratado

Apuntes claves en el contenido tratado

Orientaciones tarea

Fundamentos de Programación

Instituto Tecnológico Superior Ismael Pérez Pazmiño Guía de estudios

19

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.

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.

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

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

20

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.

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.

Ahora bien, para desarrollar un programa, debes escoger un paradigma apropiado que te permita desarrollarlo correctamente.

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.

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

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

Fundamentos de Programación

Instituto Tecnológico Superior Ismael Pérez Pazmiño Guía de estudios

21

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?

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.

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)

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

22

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

Apuntes claves: En el barco también cuenta los misioneros y caníbales, se debe realizar en varias soluciones.

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.

Fundamentos de Programación

Instituto Tecnológico Superior Ismael Pérez Pazmiño Guía de estudios

23

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.

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

Movimiento Estrategia

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.

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

24

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.

Apuntes claves: Se debe tomar en cuenta que no se debe amontonar ranas del mismo sentido sobre el espacio en blanco.

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.

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.

Fundamentos de Programación

Instituto Tecnológico Superior Ismael Pérez Pazmiño Guía de estudios

25

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.

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

26

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.

Fundamentos de Programación

Instituto Tecnológico Superior Ismael Pérez Pazmiño Guía de estudios

27

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.

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

28

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 conocimientos

Sistema de habilidades

Sistema de Valores

Análisis de

problemas.

Representación de

algoritmos: gráfica y

pseudocódigo.

Diseño de algoritmos

aplicados a

problemas.

Diseño algorítmico de

funciones

Generar un

catálogo de

problemas para su

análisis y solución.

Resolver y analizar

problemas

cotidianos.

Actitudes que

estimulen la

investigación.

Capacidad de

aplicar los

conocimientos en

la práctica

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

Fundamentos de Programación

Instituto Tecnológico Superior Ismael Pérez Pazmiño Guía de estudios

29

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.

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.

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.pdf

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

30

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

Fundamentos de Programación

Instituto Tecnológico Superior Ismael Pérez Pazmiño Guía de estudios

31

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.

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.

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.

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

32

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.

Fundamentos de Programación

Instituto Tecnológico Superior Ismael Pérez Pazmiño Guía de estudios

33

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.

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

34

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.

Fundamentos de Programación

Instituto Tecnológico Superior Ismael Pérez Pazmiño Guía de estudios

35

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

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.

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

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

36

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.

Fundamentos de Programación

Instituto Tecnológico Superior Ismael Pérez Pazmiño Guía de estudios

37

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,

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

38

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

Fundamentos de Programación

Instituto Tecnológico Superior Ismael Pérez Pazmiño Guía de estudios

39

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.

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

40

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.

Fundamentos de Programación

Instituto Tecnológico Superior Ismael Pérez Pazmiño Guía de estudios

41

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.

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

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.

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

42

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)

Fundamentos de Programación

Instituto Tecnológico Superior Ismael Pérez Pazmiño Guía de estudios

43

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.

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

44

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 conocimientos

Sistema de habilidades

Sistema de Valores

Características del

lenguaje de

programación

Estructura básica de

un programa.

Traducción de un

programa:

compilación, enlace

de un programa,

errores en tiempo de

compilación.

Ejecución de un

programa.

Elementos del

lenguaje: datos,

literales y constantes,

identificadores,

variables, parámetros,

operadores, entrada y

salida de datos.

Errores en tiempo de

ejecución.

Analizar

información

necesaria para

Instalar y configurar

el compilador del

lenguaje de

programación a

utilizar.

Realizar cambios

en expresiones

lógicas y

algebraicas de un

programa modelo y

analizar los

resultados

obtenidos.

Actitudes que

estimulen la

investigación y la

innovación

tecnológica y

científica

Actitudes

solidarias y

conciencia en la

utilización racional

de los recursos

informáticos.

Capacidad de

aplicar los

conocimientos en

la práctica

Fundamentos de Programación

Instituto Tecnológico Superior Ismael Pérez Pazmiño Guía de estudios

45

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

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

46

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.

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.

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.

Fundamentos de Programación

Instituto Tecnológico Superior Ismael Pérez Pazmiño Guía de estudios

47

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.

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.

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

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

48

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.

Fundamentos de Programación

Instituto Tecnológico Superior Ismael Pérez Pazmiño Guía de estudios

49

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.

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

50

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.

Estructuras selectivas:

simple, doble y múltiple.

Estructuras iterativas:

repetir mientras, hasta,

desde.

Diseño e implementación

de funciones y métodos

por su tipo.

Instrucciones

matemáticas y de cadena

para la realización de un

proceso.

Manipulación de Objetos

y Clases.

Diseñar programas

donde se utilicen las

estructuras de

repetición y selección.

Construir programas

que implementen

métodos o funciones.

Resolver ejercicios

sobre expresiones

lógicas.

Resolver algoritmos

de estructuras

selectivas.

Resolver ejercicios

basados en

instrucciones o

métodos ya

implementados.

Actitudes que

estimulen la

investigación y la

innovación

tecnológica y

científica

Actitudes solidarias

y conciencia en la

utilización racional

de los recursos

informáticos.

Capacidad de

aplicar los

conocimientos en la

práctica

Fundamentos de Programación

Instituto Tecnológico Superior Ismael Pérez Pazmiño Guía de estudios

51

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.

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

52

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

Fundamentos de Programación

Instituto Tecnológico Superior Ismael Pérez Pazmiño Guía de estudios

53

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.pdf

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

54

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.

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.

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.

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.

Fundamentos de Programación

Instituto Tecnológico Superior Ismael Pérez Pazmiño Guía de estudios

55

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

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.

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

56

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

Fundamentos de Programación

Instituto Tecnológico Superior Ismael Pérez Pazmiño Guía de estudios

57

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.

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

58

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.

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.

Fundamentos de Programación

Instituto Tecnológico Superior Ismael Pérez Pazmiño Guía de estudios

59

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ó.

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

60

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;

Fundamentos de Programación

Instituto Tecnológico Superior Ismael Pérez Pazmiño Guía de estudios

61

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

} }

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

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).

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.

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

62

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.

Fundamentos de Programación

Instituto Tecnológico Superior Ismael Pérez Pazmiño Guía de estudios

63

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.

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);

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.

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

64

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 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.

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.

Fundamentos de Programación

Instituto Tecnológico Superior Ismael Pérez Pazmiño Guía de estudios

65

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:

Te recuerdo que debes revisar la sintaxis y la semántica para que este correcta la solución sobre esta sentencia.

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

66

.

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.

Fundamentos de Programación

Instituto Tecnológico Superior Ismael Pérez Pazmiño Guía de estudios

67

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.

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

68

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.

Fundamentos de Programación

Instituto Tecnológico Superior Ismael Pérez Pazmiño Guía de estudios

69

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.

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 matemática

Significado Ejemplo de uso Resultado

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 neperiana

double x = Math.exp(1); x = 2.71828182845904;

log Logaritmo neperiano

double x = Math.log(2.7172);

x = 0.99960193833500;

pow Potencia double x = Math.pow(2.3); x = 8.0;

round Redondeo double x = Math.round(2.5);

x = 3;

random Número aleatorio

double x = Math.ramdom();

x = 0.20614522323378;

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.

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

70

Actividad de las funciones matemáticas en Java

Realizar un menú de opciones en Java que muestre todas las funciones matemáticas.

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");

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.

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.

Fundamentos de Programación

Instituto Tecnológico Superior Ismael Pérez Pazmiño Guía de estudios

71

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

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

72

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)

Fundamentos de Programación

Instituto Tecnológico Superior Ismael Pérez Pazmiño Guía de estudios

73

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;

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

74

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.

Fundamentos de Programación

Instituto Tecnológico Superior Ismael Pérez Pazmiño Guía de estudios

75

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.

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

76

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.

Fundamentos de Programación

Instituto Tecnológico Superior Ismael Pérez Pazmiño Guía de estudios

77

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.

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

78

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.

Fundamentos de Programación

Instituto Tecnológico Superior Ismael Pérez Pazmiño Guía de estudios

79

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.

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

80

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:

conceptos básicos,

operaciones y

aplicaciones.

Multidimensionales:

conceptos básicos,

operaciones y

aplicaciones.

Tipos de ordenamiento

secuencial.

Diseñar algoritmos

que utilicen arreglos

unidimensionales y

multidimensionales.

Desarrollar programas

para implementar las

operaciones básicas

en arreglos.

Resolver algoritmos

empleando vectores,

matrices y arrays

tridimensionales.

Ordenar los elementos

de un array.

Formular una

propuesta de solución

en su proyecto.

Actitudes que

estimulen la

investigación y la

innovación

tecnológica y

científica

Actitudes solidarias

y conciencia en la

utilización racional

de los recursos

informáticos.

Capacidad de

aplicar los

conocimientos en la

práctica

Fundamentos de Programación

Instituto Tecnológico Superior Ismael Pérez Pazmiño Guía de estudios

81

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.

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

82

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};

Fundamentos de Programación

Instituto Tecnológico Superior Ismael Pérez Pazmiño Guía de estudios

83

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

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

84

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

Fundamentos de Programación

Instituto Tecnológico Superior Ismael Pérez Pazmiño Guía de estudios

85

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.

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

86

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/

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

Fundamentos de Programación

Instituto Tecnológico Superior Ismael Pérez Pazmiño Guía de estudios

87

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”

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: _____________

SEMANA

NÚMERO DE

LA

ACTIVIDAD

ACTIVIDADES DOCENTES FORMA DE

ENSEÑANZA TIEMPO

LUGAR TRABAJO

INDEPENDIENTE

MEDIOS DE ENSEÑANZA

1 1

Conceptos Básicos.

Encuadre de la Asignatura, ideas

sobre los fundamentos de la

programación.

Conferencia 1 hora Aula

Realizar un informe

analizando la

importancia de la

asignatura, los retos de

la programación.

Pizarra, Marcador,

Proyector

1 2

Evaluación de Diagnóstico

Conocimiento Pre-Adquiridos

básico para la asignatura.

Evaluación

1 hora

Aula

Realizar los avances tecnológicos sobre los programas y sus usos hoy en día.

Pizarra, Marcador

Fundamentos de Programación

89

1 3

Conceptos Generales del

Software.

La Comunicación con el

ordenador.

Clasificación del software: de

Aplicación, de Sistemas, de

Desarrollo.

Conferencia 1 hora Aula

Realizar un informe con el siguiente tema: La importancia del Software en la actualidad. Realizar los siguientes ejercicios lógicos. Investigar diez software de acuerdo a su clasificación, y mencionar sus características.

Pizarra, Marcador,

Proyector

1 4

Lenguajes de Programación.

Proceso de desarrollo del

software.

Conferencia 1 hora Aula

Realizar los siguientes ejercicios lógicos. Analizar los paradigmas de programación y sus tipos, mediante uso de ejemplos prácticos. Realizar esquema de los editores de texto utilizados para codificar.

Pizarra, Marcador,

Proyector

2 5

Tipos de lenguajes de

Programación.

Programa.

Conferencia 1 hora Aula

Realizar los siguientes ejercicios lógicos. Analizar los paradigmas de programación y sus tipos, mediante uso de ejemplos prácticos. Realizar esquema de los editores de texto utilizados para codificar.

Pizarra, Marcador,

Proyector

2 6

Paradigmas de programación.

Tipos de paradigmas de

programación.

Editor de Texto.

Conferencia 1 hora Aula

Realizar los siguientes ejercicios lógicos. Analizar los paradigmas de programación y sus tipos, mediante uso de ejemplos prácticos. Realizar esquema de los editores de texto utilizados para codificar.

Pizarra, Marcador,

Proyector

2 7

Código binario.

Código ASCII.

Conferencia 1 hora Aula

Realizar un cuadro donde están las teclas más utilizadas para el funcionamiento de un

Pizarra, Marcador,

Proyector

Ing. Jairo Jiménez Contreras

90

Programa ejecutable.

Consola de línea de comandos.

programa, donde tendrá el código ASCII correspondiente.

2 8 Evaluación de conocimiento. Evaluación 1 hora

Aula

Realizar ejemplos de constantes, variables, expresión, código ASCII de 10 teclas y conceptos sobre lenguajes de programación.

Pizarra, Marcador

3 9

Algoritmo.

Identifica el algoritmo

computacional y su tipo de

representación.

Análisis de problemas.

Conferencia 1 hora Aula

Investigar: expresiones lógicas, funciones internas, operaciones de asignación. Cada uno con cinco ejemplos

Pizarra, Marcador,

Proyector

3 10 Expresiones Algebraicas Clase Práctica 1 hora

Aula Realizar ejercicios de aplicaciones algebraica

Pizarra, Marcador,

Proyector

3 11

Representación de algoritmos:

gráfica y pseudocódigo. Clase Práctica 1 hora

Aula Realizar los siguientes ejercicios algoritmos lógicos de la vida real.

Pizarra, Marcador,

Proyector

3 12

Diseño de algoritmos aplicados a

problemas. Clase Práctica 1 hora

Aula -

Pizarra, Marcador,

Proyector

4 13

Diseño de algoritmos aplicados a

problemas. Clase Práctica 1 hora

Aula Realizar los siguientes ejercicios algoritmos lógicos de la vida real.

Pizarra, Marcador,

Proyector

4 14

Diseño de algoritmos aplicados a

problemas. Clase Práctica 1 hora

Aula -

Pizarra, Marcador,

Proyector

4 15

Diseño de algoritmos aplicados a

problemas. Clase Práctica 1 hora

Aula Realizar los siguientes ejercicios algoritmos lógicos de la vida real.

Pizarra, Marcador,

Proyector

Fundamentos de Programación

91

4 16 Diseño algorítmico de funciones. Conferencia 1 hora

Aula -

Pizarra, Marcador,

Proyector

5 17

Diseño algorítmico de funciones.

Estructura secuencial Clase Práctica 1 hora

Aula

Realizar ejercicios utilizando funciones para mejorar la solución del problema propuesto.

Pizarra, Marcador,

Proyector

5 18

Diseño algorítmico de funciones.

Estructura secuencia Clase Práctica 1 hora

Aula -

Pizarra, Marcador,

Proyector

5 19

Técnicas de representación de

Algoritmos. Estructura secuencial Conferencia 1 hora

Aula

Resolver problemas mostrando una estructura de algoritmo inicial y su representación grafico de diagrama de flujo.

Pizarra, Marcador,

Proyector

5 20

Técnicas de representación de

Algoritmos. Estructura secuencial Clase Práctica 1 hora

Aula -

Pizarra, Marcador,

Proyector

6 21

Técnicas de representación de

Algoritmos. Estructura Selectiva Clase Práctica 1 hora

Aula

Resolver problemas mostrando una estructura de algoritmo inicial y su representación grafico de diagrama de flujo.

Pizarra, Marcador,

Proyector

6 22

Técnicas de representación de

Algoritmos. Selectiva Clase Práctica 1 hora

Aula -

Pizarra, Marcador,

Proyector

6 23

Técnicas de representación de

Algoritmos. Selectiva Clase Práctica 1 hora

Aula

Resolver problemas mostrando una estructura de algoritmo inicial y su representación grafico de diagrama de flujo.

Pizarra, Marcador,

Proyector

6 24

Técnicas de representación de

Algoritmos. Selectiva Clase Práctica 1 hora

Aula -

Pizarra, Marcador,

Proyector

Ing. Jairo Jiménez Contreras

92

7 25

Técnicas de representación de

Algoritmos. Estructura Repetitiva Clase Práctica 1 hora

Aula

Resolver problemas mostrando una estructura de algoritmo inicial y su representación grafico de diagrama de flujo.

Pizarra, Marcador,

Proyector

7 26

Técnicas de representación de

Algoritmos. Estructura Repetitiva Clase Práctica 1 hora

Aula -

Pizarra, Marcador,

Proyector

7 27

Técnicas de representación de

Algoritmos. Estructura Repetitiva Clase Práctica 1 hora

Aula

Resolver problemas mostrando una estructura de algoritmo inicial y su representación grafico de diagrama de flujo.

Pizarra, Marcador,

Proyector

7 28

Técnicas de representación de

Algoritmos. Estructura Repetitiva Clase Práctica 1 hora

Aula -

Pizarra, Marcador,

Proyector

8 29 Evaluación de conocimiento. Evaluación 1 hora

Aula

Resolver problemas que se determinaron en la evaluación teniendo en cuenta las siguientes instrucciones.

Pizarra, Marcador

8 30

Introducción a la programación.

Características del lenguaje de

programación.

Conferencia 1 hora Aula -

Pizarra, Marcador,

Proyector

8 31 Estructura básica de un programa. Conferencia 1 hora

Laboratorio -

Pizarra, Marcador,

Proyector

8 32

Traducción de un programa:

compilación, enlace de un

programa, errores en tiempo de

compilación.

Ejecución de un programa.

Conferencia 1 hora Laboratorio

Realizar las instrucciones principales y básicas para el funcionamiento de un programa en JAVA.

Pizarra, Marcador,

Proyector

Fundamentos de Programación

93

9 33

Elementos del lenguaje: datos,

literales y constantes,

identificadores, variables,

parámetros, operadores, entrada y

salida de datos.

Clase Práctica 1 hora Laboratorio

Codificar los ejercicios que están hechos en

algoritmos y diagrama de flujo en el lenguaje

de programación JAVA.

Pizarra, Marcador,

Proyector

9 34

Elementos del lenguaje: datos,

literales y constantes,

identificadores, variables,

parámetros, operadores, entrada y

salida de datos.

Clase Práctica 1 hora Laboratorio -

Pizarra, Marcador,

Proyector

9 35

Elementos del lenguaje: datos,

literales y constantes,

identificadores, variables,

parámetros, operadores, entrada y

salida de datos.

Clase Práctica 1 hora Laboratorio

Codificar los ejercicios que están hechos en algoritmos y diagrama de flujo en el lenguaje de programación JAVA.

Pizarra, Marcador,

Proyector

9 36 Errores en tiempo de ejecución. Clase Práctica 1 hora

Laboratorio

Codificar los ejercicios que están hechos en

algoritmos y diagrama de flujo en el lenguaje

de programación JAVA.

Pizarra, Marcador,

Proyector

10 37

Evaluación de Conocimiento del

Parcial I. Evaluación 1 hora

Aula -

Pizarra, Marcador

10 38

Evaluación de Conocimiento del

Parcial I. Evaluación 1 hora

Aula -

Pizarra, Marcador

Ing. Jairo Jiménez Contreras

94

10 39

Instrucciones y semántica del

lenguaje de programación JAVA. Clase Práctica 1 hora

Laboratorio

Codificar los ejercicios que están hechos en algoritmos y diagrama de flujo en el lenguaje de programación JAVA.

Pizarra, Marcador,

Proyector

10 40

Instrucciones y semántica del

lenguaje de programación JAVA. Clase Práctica 1 hora

Laboratorio -

Pizarra, Marcador,

Proyector

11 41

Control de Flujo

Estructuras secuenciales.

Clase Práctica 1 hora Laboratorio

Realizar programas en base a estructura definida y organizada de los ejercicios anteriores.

Pizarra, Marcador,

Proyector

11 42 Estructuras secuenciales. Clase Práctica 1 hora

Laboratorio -

Pizarra, Marcador,

Proyector

11 43 Estructuras secuenciales. Clase Práctica 1 hora

Laboratorio

Realizar programas en base a estructura definida y organizada de los ejercicios anteriores.

Pizarra, Marcador,

Proyector

11 44 Estructuras selectivas: simple Clase Práctica 1 hora

Laboratorio

Realizar programas en base a ejercicios matemáticos que determinen las estructura simple estudiada.

Pizarra, Marcador,

Proyector

12 45 Estructuras selectivas: simple Clase Práctica 1 hora

Laboratorio

Realizar programas en base a ejercicios matemáticos que determinen las estructura simple estudiada.

Pizarra, Marcador,

Proyector

12 46

Estructuras selectivas: doble y

múltiple Clase Práctica 1 hora

Laboratorio

Realizar programas en base a ejercicios matemáticos que determinen las estructura doble estudiada.

Pizarra, Marcador,

Proyector

Fundamentos de Programación

95

12 47

Estructuras selectivas: doble y

múltiple Clase Práctica 1 hora

Laboratorio

Realizar programas en base a ejercicios matemáticos que determinen las estructura doble estudiada.

Pizarra, Marcador,

Proyector

12 48 Estructuras iterativas: for. Clase Práctica 1 hora

Laboratorio Realizar programas utilizando la estructura estudiada.

Pizarra, Marcador,

Proyector

13 49 Estructuras iterativas: for. Clase Práctica 1 hora

Laboratorio Realizar programas utilizando la estructura estudiada.

Pizarra, Marcador,

Proyector

13 50 Estructuras iterativas: for. Clase Práctica 1 hora

Laboratorio Realizar programas utilizando la estructura estudiada.

Pizarra, Marcador,

Proyector

13 51 Estructuras iterativas: while. Clase Práctica 1 hora

Laboratorio Realizar programas utilizando la estructura estudiada.

Pizarra, Marcador,

Proyector

13 52 Estructuras iterativas: while. Clase Práctica 1 hora

Laboratorio Realizar programas utilizando la estructura estudiada.

Pizarra, Marcador,

Proyector

14 53 Estructuras iterativas: while. Clase Práctica 1 hora

Laboratorio Realizar programas utilizando la estructura estudiada.

Pizarra, Marcador,

Proyector

14 54 Estructuras iterativas: do while. Clase Práctica 1 hora

Laboratorio Realizar programas utilizando la estructura estudiada.

Pizarra, Marcador,

Proyector

14 55 Estructuras iterativas: do while. Clase Práctica 1 hora

Laboratorio Realizar programas utilizando la estructura estudiada.

Pizarra, Marcador,

Proyector

14 56 Estructuras iterativas: do while. Clase Práctica 1 hora

Laboratorio Realizar programas utilizando la estructura estudiada.

Pizarra, Marcador,

Proyector

Ing. Jairo Jiménez Contreras

96

15 57

Diseño e implementación de

funciones y métodos por su tipo. Clase Práctica 1 hora

Laboratorio

Realizar la implementación de métodos propios para el mejoramiento de un proceso.

Pizarra, Marcador,

Proyector

15 58

Diseño e implementación de

funciones y métodos por su tipo. Clase Práctica 1 hora

Laboratorio

Realizar la implementación de métodos propios para el mejoramiento de un proceso.

Pizarra, Marcador,

Proyector

15 59

Diseño e implementación de

funciones y métodos por su tipo. Clase Práctica 1 hora

Laboratorio

Realizar la implementación de métodos propios para el mejoramiento de un proceso.

Pizarra, Marcador,

Proyector

15 60

Diseño e implementación de

funciones y métodos por su tipo. Clase Práctica 1 hora

Laboratorio -

Pizarra, Marcador,

Proyector

16 61

Instrucciones matemáticas y de

cadena para la realización de un

proceso.

Clase Práctica 1 hora Laboratorio

Realizar programas basados en instrucciones de cadena.

Pizarra, Marcador,

Proyector

16 62

Instrucciones matemáticas y de

cadena para la realización de un

proceso.

Clase Práctica 1 hora Laboratorio

Realizar programas basados en instrucciones de matemáticas.

Pizarra, Marcador,

Proyector

16 63

Instrucciones matemáticas y de

cadena para la realización de un

proceso.

Clase Práctica 1 hora Laboratorio -

Pizarra, Marcador,

Proyector

16 64

Manipulación de Objetos y

Clases. Clase Práctica 1 hora

Laboratorio Realizar programas con clases propias.

Pizarra, Marcador,

Proyector

17 65

Manipulación de Objetos y

Clases. Clase Práctica 1 hora

Laboratorio Realizar programas con clases propias.

Pizarra, Marcador,

Proyector

17 66

Manipulación de Objetos y

Clases. Clase Práctica 1 hora

Laboratorio Realizar programas con clases , métodos y objetos.

Pizarra, Marcador,

Proyector

Fundamentos de Programación

97

17 67

Manipulación de Objetos y

Clases. Clase Práctica 1 hora

Laboratorio Realizar programas con clases , métodos y objetos.

Pizarra, Marcador,

Proyector

17 68

Evaluación de conocimiento de la

Unidad. Evaluación 1 hora

Laboratorio -

Pizarra, Marcador,

Proyector

18 69

Evaluación de conocimiento de la

Unidad. Evaluación 1 hora

Laboratorio -

Pizarra, Marcador,

Proyector

18 70

Arreglos

Unidimensionales: conceptos

básicos, operaciones y

aplicaciones.

Conferencia 1 hora Laboratorio

Colocar ejemplos de lis tipos de Arreglos unidimensionales.

Pizarra, Marcador,

Proyector

18 71

Unidimensionales: conceptos

básicos, operaciones y

aplicaciones.

Clase Práctica 1 hora Laboratorio

Realizar programas basados en arreglos unidimensionales.

Pizarra, Marcador,

Proyector

18 72

Unidimensionales: conceptos

básicos, operaciones y

aplicaciones.

Clase Práctica 1 hora Laboratorio

Realizar programas basados en arreglos unidimensionales.

Pizarra, Marcador,

Proyector

19 73

Multidimensionales: conceptos

básicos, operaciones y

aplicaciones.

Conferencia 1 hora Laboratorio

Colocar ejemplos de lis tipos de Arreglos multidimensionales.

Pizarra, Marcador,

Proyector

19 74

Multidimensionales: conceptos

básicos, operaciones y

aplicaciones.

Clase Práctica 1 hora Laboratorio

Realizar programas basados en arreglos multidimensionales.

Pizarra, Marcador,

Proyector

19 75

Multidimensionales: conceptos

básicos, operaciones y

aplicaciones.

Clase Práctica 1 hora Laboratorio

Realizar programas basados en arreglos multidimensionales.

Pizarra, Marcador,

Proyector

Ing. Jairo Jiménez Contreras

98

19 76

Multidimensionales: conceptos

básicos, operaciones y

aplicaciones.

Clase Práctica 1 hora Laboratorio

Realizar programas basados en arreglos multidimensionales.

Pizarra, Marcador,

Proyector

20 77

Tipos de ordenamiento

secuencial. Clase Práctica 1 hora

Laboratorio

Implementar métodos que realicen ordenamiento ascendente y descendente.

Pizarra, Marcador,

Proyector

20 78

Tipos de ordenamiento

secuencial. Clase Práctica 1 hora

Laboratorio -

Pizarra, Marcador,

Proyector

20 79 Evaluación del Segundo Parcial. Evaluación 1 hora

Laboratorio -

Pizarra, Marcador,

Proyector

20 80 Evaluación del Segundo Parcial. Evaluación 1 hora

Laboratorio - Pizarra, Marcador