En esta sección podrá acceder únicamente a los enunciados de cada una de las prácticas, pero no tendrá acceso a toda la información adicional, links, ejemplos resueltos, herramientas de enseñanza-aprendizaje, etc. Para un acceso completo favor hacer clic [Aquí]
Expora aquí toda la [información adicional] relacionada con cada práctica de laboratorio
|
HW-PC-01 |
|||||||||||||||
|
Tema: |
Características del hardware de una PC |
||||||||||||||
|
Objetivo: |
Conocer e identificar cada una de las partes que forman una PC y las diferentes especificaciones de cada componente. Aprender a realizar un mantenimiento preventivo de una PC. |
||||||||||||||
|
Prerrequisitos: |
Ninguno |
||||||||||||||
|
Se requiere: |
Acceso a Internet, Una PC, un desarmador philips no imantado, una pulsera antiestática, limpiador de contactos, limpiador de circuitos, limpiador de superficie, aspiradora |
||||||||||||||
|
Práctica en el laboratorio
|
|
||||||||||||||
|
Tarea |
Utilice un navegador de Internet para buscar la información requerida y presente un CD en el que se incluya lo siguiente:
Busque formas creativas de presentar la información anterior (ejemplo, presentación de PowerPoint, animación Flash, páginas HTML para Internet, video editado, etc.)
Sugerencia: trabajar en equipos no mayores de 4 alumnos
|
||||||||||||||
| Criterios de evaluación |
|
|
PROG-DPH-01 |
|||||||||||||||||||||||||
|
Tema: |
Introducción a Delphi | ||||||||||||||||||||||||
|
Objetivo: |
Conocer las características básicas del entorno de programación de Delphi y desarrollar los primeros programas básicos | ||||||||||||||||||||||||
|
Prerrequisitos: |
Ninguno | ||||||||||||||||||||||||
|
Se requiere: |
Una computadora con Delphi instalado | ||||||||||||||||||||||||
|
Práctica en el laboratorio
|
Temas:
Ejercicios:
|
||||||||||||||||||||||||
|
Tarea |
1. Utilice Delphi para hacer un programa en donde se ingresen los siguientes datos en este orden:
Y se muestren de la siguiente manera:
Carné: xxxxxxx Nombre completo: xxxxx xxxx xxxx xxxx Edad: xx años l |
||||||||||||||||||||||||
| Criterios de evaluación |
|
Por Eduardo Linares y Erick Aguilar
Información Adicional
Árbol genealógico de los lenguajes de programación (sugerencia de Ing. Edwin David García - U.R.L. de Quetzaltenango)
Cursillo rápido de Delphi (sugerencia de Ing. Byron Anleu - U.R.L. de Quetzaltenango)
Descargas
HolaMundoConsola (por Eduardo Linares y Erick Aguilar)
IngresarDatosConsola (por Eduardo Linares y Erick Aguilar)

|
PROG-DPH-02 |
|||||||||||||||||||||||||
|
Tema: |
Introducción avanzada a Delphi |
||||||||||||||||||||||||
|
Objetivo: |
Que el alumno aprenda a tener un buen uso de las variables enteras y reales, así como de las constantes, que aprenda a aplicar la guía de estilo, en la parte de documentación interna, utilización de nombres nemónicos, e indentación de las instrucciones en un programa. |
||||||||||||||||||||||||
|
Prerrequisitos: |
Practica 2, y una máquina con Delphi instalado. |
||||||||||||||||||||||||
|
Se requiere: |
Una computadora con Delphi instalado |
||||||||||||||||||||||||
|
Práctica en el laboratorio
|
EJERCICIOS OPCIONALES (ADICIONALES): 4. Realizar un programa en consola que muestre como resultado el resto (residuo) de la división entre dos números ingresados por el usuario.
|
||||||||||||||||||||||||
|
Tarea |
1. Utilice Delphi para hacer un programa en consola en donde se ingrese un número de 3 dígitos y despliegue en pantalla las unidades, decenas y centenas de dicho número.
Ejemplo:
Número Ingresado:
385
Despliegue en pantalla:
Unidades: 5 Decenas: 80 Centenas: 300 |
||||||||||||||||||||||||
|
Criterios de evaluación |
|
Por Erick Aguilar y Eduardo Linares
Información Adicional
Descargas
Variables y Constantes (por Eduardo Linares y Erick Aguilar)
Números Aleatorios (por Eduardo Linares y Erick Aguilar)
|
PROG-DPH-03 |
|||||||||||||||||||||||
|
Tema: |
Estructuras selectivas | ||||||||||||||||||||||
|
Objetivo: |
Conocer las características de las estructuras selectivas, así como aprender a diferenciar cuándo es conveniente el uso de cada una ellas en función del problema que se desea resolver. [Marco teórico] | ||||||||||||||||||||||
|
Prerrequisitos: |
Conocimiento básico de programación en Delphi, Práctica No. 2 y 3 | ||||||||||||||||||||||
|
Se requiere: |
Una computadora con Delphi instalado | ||||||||||||||||||||||
|
Práctica en el laboratorio:
|
|
||||||||||||||||||||||
|
Tarea: |
Considere las siguientes funciones matemáticas:
|
||||||||||||||||||||||
| Criterios de evaluación |
|
Por Karim Martinez Ruiz y Jonatan Contreras Barrios.
Información Adicional
Descargas
|
PROG-DPH-04 |
|||||||||||||||||||||||
|
Tema: |
Estructuras selectivas | ||||||||||||||||||||||
|
Objetivo: |
Conocer las características avanzadas de las estructuras selectivas e identificar la estructura correcta de acuerdo al problema | ||||||||||||||||||||||
|
Prerrequisitos: |
Conocimiento básico de programación en Delphi, capítulo 2 y sección 3.2 del libro Pseudocódigo. | ||||||||||||||||||||||
|
Se requiere: |
Una computadora con Delphi instalado | ||||||||||||||||||||||
|
Práctica en el laboratorio:
|
|
||||||||||||||||||||||
|
Tarea: |
1. Hacer un programa que pueda determinar si un número es positivo o es negativo. 2. Un programa que permita saber si un número es par o impar. 3. Escribir un programa que permita saber cual de los tres es mayor, o el orden en que deber de ir de mayor a menor. 4. Escribir un programa que permita saber que alumnos son aprobados y reprobados dando como datos de entrada las calificaciones. (como no se han visto ciclos el número de alumnos puede ser determinado)
5.
Un programa que determine si un año es bisiesto. Un
año es bisiesto si es múltiplo de 4 (Por ejemplo, 1984). Los años
múltiplos de 100 no son bisiestos, salvo si ellos son también
múltiplos de 400 (2000 es bisiesto, 1800 no lo es).
6.
Escriba proposiciones CASE equivalentes a las siguientes proposiciones IF:
|
||||||||||||||||||||||
| Criterios de evaluación |
|
Información Adicional
Case - A mechanism for acting upon different values of an Ordinal (by Neil Moffatt)
Tutor de Delphi (por David Martínez)
Descargas
Ejercicios resueltos (por Restituto Ferrero)
|
PROG-DPH-05 |
|||||||||||||||||||||||
|
Tema: |
Estructuras repetitivas | ||||||||||||||||||||||
|
Objetivo: |
Conocer las características de las estructuras repetitivas, así como aprender a diferenciar cuándo es conveniente el uso de cada una ellas en función del problema que se desea resolver. Énfasis en el ciclo FOR. | ||||||||||||||||||||||
|
Prerrequisitos: |
Conocimiento básico de programación en Delphi, capítulo 3 del libro Pseudocódigo. | ||||||||||||||||||||||
|
Se requiere: |
Una computadora con Delphi instalado | ||||||||||||||||||||||
|
Práctica en el laboratorio:
|
|
||||||||||||||||||||||
|
Tarea: |
|
||||||||||||||||||||||
| Criterios de evaluación |
|
Información Adicional
For - Starts a loop that executes a finite number of times (by Neil Moffatt)
Descargas
|
PROG-DPH-06 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Tema: |
Estructuras repetitivas | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Objetivo: |
Conocer las características de las estructuras repetitivas, así como aprender a diferenciar cuándo es conveniente el uso de cada una ellas en función del problema que se desea resolver. Énfasis en el ciclo WHILE. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Prerrequisitos: |
Conocimiento básico de programación en Delphi, capítulo 3 del libro Pseudocódigo. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Se requiere: |
Una computadora con Delphi instalado | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Práctica en el laboratorio:
|
El ciclo
while
difiere del ciclo for en que contiene una condición de prueba
que se verifica al inicio de cada iteración. En tanto la condición
de prueba sea verdadera, el ciclo continúa operando.
En este ejemplo se asume que X adquirirá eventualmente un valor mayor o igual a 1000. En tanto el valor de X sea menor que 1000, el ciclo while continuará ejecutándose. Cuando la variable X contiene un valor mayor o igual a 1000, la condición de prueba produce falso y la ejecución salta a la primera línea que sigue al cuerpo del ciclo while. Una implementación común de un ciclo while utiliza una variable Booleana de prueba. El estado de la variable de prueba puede asignarse en alguna parte dentro del cuerpo del ciclo:
Se espera que en algún punto la variable bandera será falsa, y el ciclo terminará.A continuación se hará otro programa más sencillo el anterior que ilustre el uso del ciclo while. Inicie una nueva aplicación y coloque un botón y un memo sobre el formulario. Haga doble clic en el botón y modifique el controlador de evento de manera que luzca como éste:
Al ejecutar el programa y hacer clic en el botón del formulario, verá este texto en el memo:
Este programa declara una variable, i, y la inicializa a un valor de 5. A continuación, se inicia un ciclo while. Se agrega texto al componente Memo cada vez que se recorre el ciclo, y la variable i se disminuye en uno. Cuando i es igual a -1, el ciclo se detiene y se agrega una línea final al memo.La instrucción de ciclo while
El ciclo while ejecuta en forma repetida la Instrucción (Forma 1) o el Bloque_de_Instrucciones (Forma 2), en tanto la expresión condicional Expresión_Condicional sea verdadera. El estado del ciclo debe inicializarse antes de la instrucción while, y la modificación del estado debe ser explícita en el bloque de código. Cuando la expresión condicional Expresión_Condicional se evalúa como falsa, el ciclo termina. Si el cuerpo del ciclo es una sola instrucción, no se requieren las instrucciones begin y end. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Tarea: |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Criterios de evaluación |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Información Adicional
While - Repeat statements whilst a continuation condition is met (by Neil Moffatt)
Descargas
|
PROG-DPH-07 |
|||||||||||||||||||||||
|
Tema: |
Estructuras repetitivas | ||||||||||||||||||||||
|
Objetivo: |
Conocer las características de las estructuras repetitivas, así como aprender a diferenciar cuándo es conveniente el uso de cada una ellas en función del problema que se desea resolver. Énfasis en el ciclo REPAT y en combinaciones. | ||||||||||||||||||||||
|
Prerrequisitos: |
Conocimiento básico de programación en Delphi, capítulo 3 del libro Pseudocódigo. | ||||||||||||||||||||||
|
Se requiere: |
Una computadora con Delphi instalado | ||||||||||||||||||||||
|
Práctica en el laboratorio:
|
Ejercicio propuesto
no.1: Desarrollar un algoritmo que le permita recibir cualquier cantidad de números positivos y deberá mostrar la sumatoria de los dígitos que forman dicho número. Ejemplo1:
Ejercicio propuesto no. 2: Dice un viejo libro
de matemática que entre los números existe amistad. Por Ejemplo, los
números 220 y 284 sostienen una amistad numérica, basado en lo
siguiente:
Ejercicio propuesto no. 3: Nosotros trabajamos con el sistema de numeración arábigo en base 10 ya que utiliza 10 dígitos para su codificación (0..9), así como existe un sistema de numeración en base 10 también los hay en otras bases y en otras culturas, tales como el sistema de numeración maya; dicho sistema trabaja en base 20, solo que con sus propios símbolos, y el sistema de numeración romana. Así como conocemos un sistema de numeración en base 10, también se utilizan otros tales como la base 2 (binario), base 8 (octal), la base 16 (hexadecimal). Un método para convertir de base 10 a otras bases, es por medio de las divisiones sucesivas, en las cuales para formar el nuevo valor en una nueva base, se toma el residuo de la división entera realizada y se toma el resultado para seguir operando las divisiones, hasta que dicho resultado sea 0. El procedimiento de las divisiones sucesivas consiste en dividir el valor de la base 10 dentro del valor simbólico de la nueva base que se desea generar. Por ejemplo, en caso que se desee generar el valor en base 3 de un número que esta en base 10 se toma el valor de la base 10 y se divide sucesivamente dentro de 3. En esta ocasión se le pide que desarrolle un algoritmo que convierta de base 10 a base 2.
Ejemplo 1: 10 en base 10 a base 2
En el momento de generar las divisiones sucesivas nótese que se realizaron de forma tal hasta que el resultado de la división sea 0. Ahora bien para formar el nuevo número en la base 2 se toman los residuos desde la ultima división hasta la primera, en este caso la cadena resultante deberá quedar: 1010 y no 0101. Una forma de conseguir dicho resultado es generando este mismo como una cadena y a cada división entera que se realice se deberá ir agregando el nuevo valor por delante de dicha cadena.
Como el residuo de la división es 0 se termina el ciclo y se muestra el resultado. Recuerde de utilizar el modulo de conversión de tipo (EnteroACadena).
Ejemplo 2:
Convertir 7 en base 10 a base 2
Ejemplo 3:
Convertir 95 de base 10 a base 2.
Resultado = 1011111
Ejemplo 4:
Convertir 85 de base 10 a base 2
Resultado = 1010101
Ejemplo 5:
Convertir 145 de base 10 a base 2
Resultado = 10010001 |
||||||||||||||||||||||
|
Tarea: |
Así como existen un proceso que convierte números decimales (base 10) a otras bases (en este caso particular que realizamos base 2), también existen un proceso inverso, o sea que convierte de cualquier base a la base 10. Si en el problema anterior utilizábamos divisiones sucesivas, y ya que este es el proceso inverso de dicho problema, se utiliza la operación inversa de la división, en este caso la multiplicación, dicha multiplicación para números enteros esta dada por el siguiente enunciado: En un número en base b con d dígitos para lograr conseguir su equivalente en decimal se procede a utilizar la siguiente formula: nd-1 * bd-1 + … + n2 * b2 + n1 * b1 + n0 * b0 donde n es el número del dígito, este se multiplica por la base elevada al número de digito que corresponde, nótese que se empieza a contar desde el cero y de derecha a izquierda. En este caso de toca desarrollar un algoritmo que realice este proceso, y mostrar el número en base 10, la base b que se utilizara será la base 2 ya que este algoritmo es el inverso del ejercicio realizado.
Ejemplo 1: Convertir 1011001 en base 2 a base 10 La formula dice que: 1*26 + 0*25 + 1*24 + 1*23 + 0*22 + 0*21 + 1*20 Con desarrollo: 1*64 + 0*32 + 1*16 + 1*8 + 0*4 + 0*2 + 1*1 64 + 0 + 16 + 8 + 0 + 0 + 1 Respuesta = 89
Ejemplo 2: Convertir 111011110 en base 2 a base 10 Lar formula dice que: 1*28 + 1*27 + 1*26 + 0*25 + 1*24 + 1*23 + 1*22 + 1*21 + 0*0 Con desarrollo: 1*256 + 1*128 + 1*64 + 0*32 + 1*16 + 1*8 + 1*4 + 1*2 + 0*1 256 + 128 + 64 + 0 + 16 + 8 + 4 + 2 + 0 Respuesta = 478
Tarea adicional: Esta tarea consiste en mejorar el menú que ya se tenia desarrolla en la práctica anterior, agregando cuatro opciones más; la suma de los dígitos de un número, verificar si dos números ingresados por el usuario son amigos o no (Esta ultima opción deberá ser arreglada para que el usuario ingrese los valor y ya no que solo imprima las parejas existentes en el rango), conversión de un número en base 10 a base 2, y por ultimo la tarea propuesta, conversión de números en base 2 a base 10. El nuevo menú quedara de la siguiente manera:
|
||||||||||||||||||||||
| Criterios de evaluación |
|
Información Adicional
Repeat - Repeat statements until a ternmination condition is met (by Neil Moffatt)
|
PROG-DPH-08 |
|||||||||||||||||||||||
|
Tema: |
Procedimientos y Funciones | ||||||||||||||||||||||
|
Objetivo: |
Describir los conceptos de procedimiento y función (la diferencias entre ellos y su utilidad). Codificar en forma de procedimiento o función una tarea convenientemente especificada, estableciendo adecuadamente los parámetros necesarios | ||||||||||||||||||||||
|
Prerrequisitos: |
Prácticas 6, 7 y 8. Capítulo 4 del libro "Pseudocódigo" | ||||||||||||||||||||||
|
Se requiere: |
Una computadora con Delphi instalado | ||||||||||||||||||||||
|
Práctica en el laboratorio:
|
|
||||||||||||||||||||||
|
Tarea: |
Escriba un módulo que contenga rutinas para las siguientes operaciones:
|
||||||||||||||||||||||
| Criterios de evaluación |
|
Elaborado por: Karim Martinez Lemus y Jonatan Contreras Barrios.
Información Adicional
Descargas
|
PROG-DPH-09 |
|||||||||||||||||||||||
|
Tema: |
Parámetros y modularización | ||||||||||||||||||||||
|
Objetivo: |
Describir la diferencia entre paso de parámetros por valor y
referencia. Proponer una organización en bloques/módulos (a
través del uso de procedimientos y/o funciones) de una aplicación
determinada, estableciendo adecuadamente los parámetros necesarios.
Marco teórico |
||||||||||||||||||||||
|
Prerrequisitos: |
Prácticas 6, 7, 8 y 9. Capítulo 4 del libro "Pseudocódigo" | ||||||||||||||||||||||
|
Se requiere: |
Una computadora con Delphi instalado | ||||||||||||||||||||||
|
Práctica en el laboratorio:
|
Jorge Gómez posee un negocio que se dedica a instalar piscinas en casas particulares, el problema que tiene él es que cuando debe calcular el total a cobrar pierde el control de la cantidad calculada, por lo que necesita un programa que calcule el total siguiendo el orden que se presenta a continuación:
|
||||||||||||||||||||||
|
Tarea: |
Realice los siguientes procedimientos/funciones haciendo uso de parámetros por valor y/o referencia:
|
||||||||||||||||||||||
| Criterios de evaluación |
|
Elaborado por: Karim Martinez Ruiz y Jonatan Contreras Barrios.
Información Adicional
|
PROG-DPH-10 |
|||||||||||||||||||||||||||
| Tema: |
Vectores, Matrices, Arreglos - N | ||||||||||||||||||||||||||
| Objetivos: |
Desarrollar ejercicios para conocer algunas de las tantas aplicaciones de los arreglos en la solución de problemas. Aprender a definir e implementar (en Delphi) los arreglos unidimensionales (vectores). |
||||||||||||||||||||||||||
| Prerrequisito: |
Llevar la solución del ejercicio siguiente en los formatos respectivos de PCL (AB-PCL, DA-PCL): Escribir un algoritmo que encuentre la posición del mayor número en un vector que almacena números enteros. Asuma que pueden existir números repetidos, de manera que el algoritmo deberá mostrar todas las posiciones del número mayor. |
||||||||||||||||||||||||||
| Se requiere: |
Una computadora con Delphi instalado. | ||||||||||||||||||||||||||
|
Práctica en el laboratorio:
|
1.- Realizar la solución del ejercicio de prerrequisito en Delphi, con el objetivo de demostrar cómo se utilizan los vectores y cuál es su "traducción" de PCL a Pascal (Delphi).
2.- Explicar y realizar el ejercicio siguiente: Desarrolle un algoritmo que permita ingresar N números enteros positivos a un arreglo de una dimensión (vector). Posteriormente, el algoritmo deberá mostrar la mínima y la máxima diferencia absoluta entre los elementos adyacentes del arreglo, y también los valores que hicieron esto posible. Por ejemplo, si el arreglo fuese de N = 8 y tuviese los siguientes datos:
Las diversas diferencias absolutas entre los elementos adyacentes serían las siguientes:
Así, la mínima diferencia absoluta será 19 (712-693) y la máxima 633 (756-123).
EJERCICIOS OPCIONALES (ADICIONALES): 3.- Resuelva el siguiente problema utilizando vectores paralelos: Suponga que se dan tres vectores que contienen las 40 calificaciones de cada una de las tres evaluaciones del curso de Programación. Escriba una rutina que reciba dichos arreglos como parámetros y retorne la calificación final del curso en otro arreglo unidimensional (vector), que almacene el tipo de datos adecuado para las notas. La primera y la segunda evaluación representan el 60% de la calificación final, 30% cada una. La tercera evaluación parcial representa el 40% de la calificación final. 4.- Implemente una función llamada Igual que reciba como parámetros dos arreglos unidimensionales con el mismo tipo de componentes y subíndices enteros positivos. El primero tendrá N elementos y el segundo tendrá M elementos, donde M y N se definen como constantes. Además, la función Igual deberá determinar si los elementos del segundo arreglo aparecen, de manera contigua y en orden, en algún lugar del primer arreglo. Si así fuera, la función deberá retornar como resultado el índice del primer componente a la izquierda en el primer arreglo donde se presentó la concordancia. En caso contrario, el resultado será cero. Por ejemplo, si los arreglos fuesen los siguientes: Primer Arreglo:
Entonces, el resultado que retornará la función Igual sería 3, ya que a partir de la tercera posición del primer arreglo todos los elementos del segundo arreglo aparecen de manera contigua y en orden correspondiente.
|
||||||||||||||||||||||||||
| Tarea: |
*** Desarrolle en Delphi el siguiente algoritmo: Lea dos vectores de números enteros positivos de tamaño N (cualquier constante que usted defina). El primero representa las coordenadas X de puntos en un plano cartesiano, y el segundo representa las coordenadas Y de esos puntos. Con las coordenadas de cada punto su algoritmo deberá calcular la distancia desde el origen hasta cada uno de ellos guardando este resultado en otro vector. Debe mostrar como salida las coordenadas del punto que se encuentre más cerca del origen y el punto más lejano al origen. Por ejemplo. si los puntos están dados por los siguientes dos arreglos: X:
La distancia al origen, DO, de cada coordenada se determina por la ecuación siguiente: DO = [(X^2) + (Y^2)]^0.5 Entonces, el vector DO sería: DO:
Por tanto, la salida sería la siguiente: la menor distancia al origen es en el punto X = 2, Y = 2; y la mayor en el punto X = 15, Y = 15.
|
||||||||||||||||||||||||||
| Criterios de evaluación |
|
Por Mario Benavides y Luis Guzmán
Información Adicional
Descargas
Ejemplo1 de vectores (por Lester Martínez)
|
PROG-DPH-11 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Tema: |
Vectores, Matrices, Arreglos - N | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Objetivos: |
Desarrollar ejercicios para complementar el conocimiento sobre arreglos de dos dimensiones o más. Dejar clara las diferencias entre los vectores y las matrices, y sus respectivas aplicaciones en la resolución de problemas diversos. Aprender a definir e implementar (en Delphi) los arreglos bidimensionales (matrices) y de múltiples dimensiones. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Prerrequisito: |
Llevar la solución del ejercicio siguiente en los formatos respectivos de PCL (AB-PCL, DA-PCL): Escribir un algoritmo que permita visualizar la matriz transpuesta de una matriz de 6 x 7. La transpuesta MT de una matriz M es aquella que tiene intercambiadas las filas y las columnas. Para este prolema, M es igual a 6 (filas) y N es igual a 7 (columnas). Entonces, MT tendrá 7 filas y 6 columnas. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Se requiere: |
Una computadora con Delphi instalado. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Práctica en el laboratorio:
|
1.- Realizar la solución del ejercicio de prerrequisito en Delphi, con el objetivo de demostrar cómo se utilizan las matrices y cuál es su "traducción" de PCL a Pascal (Delphi). 2.- Explicar y realizar el ejercicio siguiente: Desarrolle un algoritmo que presenta las tablas de multiplicar hasta un número ingresado por el usuario (máximo 20). Además, debe presentar la suma de las filas, columnas, diagonales y toda la tabla mediante uso de vectores. Por ejemplo, si el usuario desea la tabla de los número del 1 al 3, ingresaría 3 y la salida debiera ser la siguiente:
EJERCICIOS OPCIONALES (ADICIONALES): 3.- Resuelva el siguiente problema utilizando matrices: Desarrolle un programa que dada una matriz de N x M, donde M y N son constantes definidas por usted, que almacena números enteros y/o reales, pueda mostrar como resultado la suma de todos los valores positivos y la suma de todos los valores negativos almacenados en la matriz. Por ejemplo, si usted tiene la siguiente matriz de 3 x 4:
La salida tendría que ser: La suma de valores positivos es: 340.39, y la suma de valores negativos es: 32.42.
4.- Algunas de las aplicaciones de las matrices es la muestra de figuras geométricas o con cierta simetría. Para ello se le pide que desarrolle un programa donde se realicen las siguientes figuras haciendo uso de ciclos y matrices de N x M. Las figuras que debe realizar son las siguientes: N y M iguales a 10:
N y M iguales a 10:
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Tarea: |
*** Desarrolle en Delphi el siguiente algoritmo: Dada una matriz N x M, desarrollar un programa que presente dicha matriz como un vector en el orden de sus filas. Por ejemplo, si el contenido de la matriz 3 x 4 es:
El contenido del vector debiera ser:
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Criterios de evaluación |
|
Por Mario Benavides y Luis Guzmán
Información Adicional
Arreglos bidimensionales (por Lester Martínez)
Descargas
Ejemplo1 de matrices (por Lester Martínez)
|
PROG-DPH-12 |
|||||||||||||||||||||||
| Tema: |
Cadenas de caracteres | ||||||||||||||||||||||
| Objetivos: |
Desarrollar ejercicios que permitan comprender el uso de las cadenas de caracteres en la solución de diversos problemas. Aprender a definir e implementar (en Delphi) las cadenas de caracteres con longitud definida o con longitud predeterminada. |
||||||||||||||||||||||
| Prerrequisito: |
Llevar la solución del ejercicio siguiente en los formatos respectivos de PCL (AB-PCL, DA-PCL): Escribir un algoritmo que cambie todos los dígitos que encuentre en un mensaje ingresado por el usuario, y muestre todo el mensaje con los dígitos cambiados a texto. Por ejemplo, si la entrada fuese: 'Dados los 3 valores: 4, 5 y 6, se obtuvo como resultado 9' La salida debería ser: 'Datos los tres valores: cuatro, cinco y seis, se obtuvo como resultado nueve'. |
||||||||||||||||||||||
| Se requiere: |
Una computadora con Delphi instalado. | ||||||||||||||||||||||
|
Práctica en el laboratorio:
|
1.- Realizar la solución del ejercicio de prerrequisito en Delphi, con el objetivo de demostrar cómo se utilizan las cadenas de caracteres y cuál es su "traducción" de PCL a Pascal (Delphi).
2.- Explicar y realizar el ejercicio siguiente: Desarrolle un algoritmo que permita imprimir los cheques de una planilla. Los datos se encuentran en vectores paralelos. En uno se guardan los nombres de a quienes se emite el cheque, y en el otro, los montos. Suponga que los vectores pueden almacenar como máximo 500 datos. Sin embargo, puede ser que existan menos empeleados en la planilla, por lo que las casillas no usadas tendrán un valor centinela de -1. (Suponga que los vectores ya están llenos)
EJERCICIOS OPCIONALES (ADICIONALES): 3.- Resuelva el siguiente problema utilizando cadenas de caracteres: Implemente una función que reciba una cadena como parámetro, y retorne si es o no un palíndromo. Un palíndromo es aquél que se lee igual de derecha a izquierda como de izquierda a derecha. Por ejemplo: 'ala'.
4.- Retomando los conceptos del capítulo de modularización, se desea extender el módulo de ManejoDeCadenas de PCL, por lo que se le pide implementar las siguientes rutinas: (a) RecortarIzq(Cad): quita los espacios en blanco de la izquierda de la cadena de caracteres enviada como parámetro. Retorna la cadena ya recortada. (b) RecortarDer(Cad): quita los espacios en blanco de la derecha de la cadena de caracteres enviada como parámetro. Retorna la cadena ya recortada. (c) Minúsculas(Cad): convierte todas las letras de la cadena a minúsculas. Retorna la cadena modificada. (d) Izquierda(Cad, N): retorna los N caracteres más a la izquierda de la cadena Cad enviada como parámetro. Por ejemplo, Izquierda('Programación', 8) retorna 'Programa'. Si N es un número negativo, retorna una cadena nula. Si N es mayor que el longitud de la cadena Cad, retrona la cadena Cad enviada. (e) Derecha(Cad, N): retorna los N caracteres más a la derecha de la cadena Cad enviada como parámetro. Por ejemplo, Derecha('Programa', 3) retorna 'ama'. Si N es un número negativo, retorna una cadena nula. Si N es mayor que el longitud de la cadena Cad, retrona la cadena Cad enviada. (f) PonerComas(Cad, N): retorna una cadena con la separación de comas correspondiente al entero N recibido como parámetro. Por ejemplo, si Cad fuese '1234567', la función debiera retorna la cadena '1,234,567'. |
||||||||||||||||||||||
| Tarea: |
*** Desarrolle en Delphi el siguiente algoritmo: Suponga que el usuario ingresará una línea de texto con longitud máxima de 40 caracteres (validar que sea igual o menor a 40 caracteres, si es mayor la longitud deben trabajarse los primeros 40 caracteres de la cadena). Implemente una función que reciba como parámetro la línea de texto ingresada y retorne una cadena centrada en una línea de 60 caracteres, además esa cadena debe tener el formato siguiente: MmMmMmMmMm... (Mayúscula, minúscula, Mayúscula, ...) Por ejemplo, si la entrada fuese: 'Programar es una ciencia y un arte' La salida debiera ser: '*************PrOgRaMaR eS uNa CiEnCiA y Un ArTe*************'
|
||||||||||||||||||||||
| Criterios de evaluación |
|
Por Mario Benavides y Luis Guzmán
Información Adicional
Strings (Por Lester Martínez)
|
PROG-DPH-13 |
|||||||||||||||||||||||
|
Tema: |
Registros | ||||||||||||||||||||||
|
Objetivo: |
Que el estudiante aprenda a reconocer estructuras básicas de registros y su implementación en PCL así como en Delphi | ||||||||||||||||||||||
|
Prerrequisitos: |
Conocimiento de tipos de variables, y vectores | ||||||||||||||||||||||
|
Se requiere: |
Una computadora con Delphi instalado y hojas para PCL | ||||||||||||||||||||||
|
Práctica en el laboratorio
|
|
||||||||||||||||||||||
|
Tarea |
Elabore un programa para el control de inventarios que permita ingresar, retirar y listar productos. Los datos que se desean almacenar para cada producto son: código, descripción, cantidad. Asumimos para esta práctica que se contara con un arreglo máximo de 15 productos. | ||||||||||||||||||||||
| Criterios de evaluación |
|
Información adicional
Ejercicios Adicionales
Escribir un programa utilizando registros para cuatro figuras geométricas:
triángulo, rectángulo, cuadrado y circulo. Para el triángulo se deben almacenar
las longitudes de sus tres lados; para el rectángulo, la longitud y la anchura,
para el cuadrado su lado y para el circulo su radio.
El usuario ingresara una letra: T(Triangulo), R(Rectangulo), C(Cuadrado),
X(Circulo), y los valores correspondientes, y calcular sus superficies.
Triángulo S= RAIZ(p(p-a)(p-b)(p-c)) p= (a+b+c)/2 Rectángulo S= Longitud * Anchura Cuadrado S= lado*lado Circulo S= (PI)R^2 (PI = 3.141592)