virtualword
Te invitamos a registrarte para poder acceder a todo el contenido gratuito que esta comunidad provee.

Saludos Wink

Unirse al foro, es rápido y fácil

virtualword
Te invitamos a registrarte para poder acceder a todo el contenido gratuito que esta comunidad provee.

Saludos Wink
virtualword
¿Quieres reaccionar a este mensaje? Regístrate en el foro con unos pocos clics o inicia sesión para continuar.

Lección 009: Ejercicios de repetición general

Ir abajo

Lección 009: Ejercicios de repetición general Empty Lección 009: Ejercicios de repetición general

Mensaje  Kyshuo Ayame Jue Ago 22, 2013 12:11 pm

Sería bueno que no continúen hasta no ser capaces de resolver todos estos ejercicios.

Ejercicio 1: Determinen cuáles de los siguientes segmentos de código producen la misma salida al ser ejecutados:

a)
Código:
i := 1;
j := 2;
REPEAT
   Write(i, j);
   i := i + 1;
   j := j + 1
UNTIL j <= 3;
b)
Código:
i := 1;
j := 1;
WHILE (i <= 3) AND (j <= 2) DO
BEGIN
   Write(i, j + 1);
   i := i + 1;
   j := j + 1
END;
c)
Código:
i := 1;
REPEAT
   Write(i, i + 1);
   i := i + 1
UNTIL i <= 3;
========================================================================

Ejercicio 2: Determinen el valor que se exhibe en la salida estándar al ejecutar los siguientes fragmentos de código con ciclos REPEAT

a)
Código:
a := 6;
b := 5;
REPEAT
   a := a + 1
UNTIL a > b;
WriteLn(a);
¿La salida es 6 o 7?

---------------------------------------

b)
Código:
i := 0;
REPEAT
   WriteLn ('Primitivo')
UNTIL i = 0;
¿Podría no salir nada o salir el texto 'Primitivo' en la salida ¿qué crees tú?

========================================================================

Ejercicio 3: Reescriban el código siguiente con un solo ciclo WHILE:

Código:
REPEAT
 cuerpo
UNTIL expresion_booleana;
========================================================================

Ejercicio 4: Reescriban el código siguiente sin usar FOR.

Código:
x := 1.5;
FOR i := 1 TO 5 DO
 x := sqr(x);
Write(x);
========================================================================

Ejercicio 5: Dada una secuencia de números enteros positivos que debe ser leída de la entrada estándar (el fin de la secuencia está determinado por el entero -1 y la secuencia puede ser vacía), escribir programas en PASCAL tales que:

a) Determine y exhiba la suma y el promedio de todos los enteros positivos leídos. ¿Qué instrucción usan para la iteración: FOR, WHILE o REPEAT?

b) Determine y exhiba el número más grande y el más pequeño de todos los enteros positivos leídos. Si tu programa para utiliza más de 3 variables, reescríbelo, de modo de usar a lo sumo 3 variables.

========================================================================

Ejercicio 6: 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:

Código:
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
========================================================================

Ejercicio 7: 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), determinen y exhiban 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).

========================================================================

Ejercicio 8: 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, es decir, 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.

Código:
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 ahora.

========================================================================

Ejercicio 9 (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:

Código:
Letra: s
Oración: La cualidad indispensable para un buen cocinero es la puntualidad pero es también la de los invitados.
Salida: 4
Código:
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
Código:
Letra: o
Oración: No basta tener buen ingenio lo principal es aplicarlo bien.
Salida: 4
Luego 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. 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. Los frutos se verán al final.

Mucha suerte.

============================================================================

Navegación:
Kyshuo Ayame
Kyshuo Ayame
Admin

Mensajes : 105
Fecha de inscripción : 14/11/2012
Edad : 35

https://virtualworld.foroargentina.net

Volver arriba Ir abajo

Volver arriba

- Temas similares

 
Permisos de este foro:
No puedes responder a temas en este foro.