No continúen hasta no ser capaces de resolver todos estos ejercicios.
Ejercicio2: Determinen cuáles de los siguientes segmentos de código producen la misma salida al ser ejecutados:
a)
Código:
b)i := 1; j := 2; REPEAT Write(i, j); i := i + 1; j := j + 1 UNTIL j <= 3;
Código:
c)i := 1; j := 1; WHILE (i <= 3) AND (j <= 2) DO BEGIN Write(i, j + 1); i := i + 1; j := j + 1 END;
Código:
-----------------------------------------------------------------i := 1; REPEAT Write(i, i + 1); i := i + 1 UNTIL i <= 3;
Ejercicio3: Se desea tener un programa que calcule el saldo de una cuenta. Supongan que los datos son leídos de la entrada estándar y que constan de renglones, cada uno de los cuales contiene una letra en la primera columna, seguida de un valor real. El último renglón contiene únicamente la letra X en la columna uno. El primer renglón contiene la letra A y el saldo anterior de una cuenta de cheques. Los demás renglones contienen la letra D y el importe de un depósito o la letra R y el importe de un retiro. Escriban un programa que determine el saldo exacto de la cuenta después de procesar las transacciones. Asumimos que las entradas serán siempre correctas.
Ejemplo:
A 1200.35
D 64.12
R 390.00
R 289.67
D 13.02
R 51.07
X
El saldo final es 546.75
-----------------------------------------------------------------
Ejercicio4: Dado un fragmento de texto que debe ser leído de la entrada estándar, todo en una línea, y terminado por el caracter $ (centinela), determine y exhiba las consonantes y vocales que aparecen duplicadas en forma contigua. Por ejemplo, el texto “llama al chico que lee$” tiene una consonante doble (ll) y una vocal doble (ee) y se debería desplegar: “ll ee”. (Todas las letras son minúsculas).
-----------------------------------------------------------------
Ejercicio5: Realicen las funciones de una calculadora simple. Los datos de entrada serán una secuencia de dígitos enteros y los operadores +, *, / y -, seguida de un signo =. Hagan caso omiso de los espacios en blanco. Los operadores se aplican en el orden en que aparecen en los datos de entrada, o sea que olvídense de la precedencia, y producen resultados enteros, o sea, si bien se ingresa el operador de la división con el símbolo /, el comportamiento es el de DIV. Asuman que se ingresa al menos un número.
Ej. de entrada: 4 + 3 / 2 * 8 - 4 =
Ej. de salida: 20
Como ven, las operaciones se fueron realizando en el orden en el que aparecían. Primero 4+3 que es 7, eso lo dividimos entre 2 (div) que es 3, luego eso multiplicado por 8 que es 24 y luego eso menos 4 que es 20. Una verdadera calculadora habría hecho primero 3/2 que con DIV da 1 y luego eso por 8 que da 8. Luego haría 4+8-4 que es igual a 8. Sin embargo programar eso requiere más herramientas de las que poseen.
-----------------------------------------------------------------
Ejercicio6 (DIFICIL): Escriban un programa que lea una letra y una oración de la entrada estándar (de una sola línea), y calcule la cantidad de palabras que terminan con la letra y están en la oración dada. Asuman que la oración siempre terminará con un punto y que las palabras estarán separadas solo por espacios (no habrá comas ni nada de eso). Asuman también que la oración tendrá siempre al menos una palabra.
Ejemplos:
Letra: s
Oración: La cualidad indispensable para un buen cocinero es la puntualidad pero es también la de los invitados.
Salida: 4
Letra: r
Oración: Un discípulo de quien jamás se pide nada que no pueda hacer nunca hace todo lo que puede.
Salida: 1
Letra: o
Oración: No basta tener buen ingenio lo principal es aplicarlo bien.
Salida: 4
Modifiquen su programa para que cuente las palabras que comienzan con la letra dada.
Este es un ejercicio que los hará pensar y luchar mucho. Intenten hacerlo bajo todos los medios posibles. Todo lo dado hasta ahora basta y sobra para lograrlo. Si no logran realizar esto posteen aquí y los iré guiando, no les daré el código así de entrada porque no tiene caso leer un programa ya hecho si ustedes no intentan realizarlo primero poniendo todas las ganas de aprender. Este curso es para ustedes y requiere todo su esfuerzo. No hay otro medio para aprender a programar. Mi esfuerzo fue escribir esto, ustedes practiquen y practiquen, pregúntenme sus dudas y sigan intentando, o bien posteen aquí. Los frutos se verán al final.
Mucha suerte.
-------------------
Con esto hemos terminado la segunda parte del curso. En la tercera parte del aprenderemos a definirnos nuestros propios tipos de datos, o sea, como crear un tipo a nuestro antojo y luego declarar variables de ese tipo. Esto complicará un poquito más las cosas, pero también les dará muchas posibilidades a la hora de programar, ya que con los tipos primitivos de pascal no podemos hacer mucho más.
Saludos a todos y todas.