Utilizamos Cookies de terceros para generar estadísticas de audiencia y mostrar publicidad personalizada analizando tu navegación. Si sigues navegando estarás aceptando su uso. Más información X
PortadaForo AyudaTutoriales
InicioForosForo Programación

Problemas con ejercicios de programación Turbo Pascal

Helena
2006-05-20 17:55 - Respuestas: 5 - Tema nº: 2413700


Pentium IV, 256MB Sistema operativo Windows xp home

Estoy intentando resolver estos ejercicios, pero no estoy segura de que esté bien encaminada, y sinceramente, ya estoy hecha un lío. Os agradecería muchísimo que me ayudarais.

Ejercicio 1

Un boleto de quinielas es una matriz(array) de 15 caracteres (quien introduzca los datos se preocupará de que dichos caracteres sean 1,x ó 2, nosotros no tenemos por qué hacerlo).
En una UNIT llamada quiniela, has de definir:
a) El tipo de datos llamado "TipoBoleto".
b) Los procedimientos: "LeeBoleto", para asignar valor a un dato de este tipo y "EscribeBoleto" para presentarlo en pantalla.
c) La función "ComparaBoletos" con dos entradas del tipo TipoBoleto, que devuelva el número de coincidencias entre ambos boletos (una coincidencia quiere decir que el mismo carácter ocupa el mismo lugar; por ejemplo: si uno de los boletos es el boleto premiado, la función "Comparaboletos" devuelve el número de aciertos que tiene el otro boleto).

EJERCICIO 2.

(En esta pregunta hay que utilizar la unit de la pregunta anterior).
En un fichero 'a:\boletos.dat' (si se trae un CD será d:\boletos.dat' tienes que tener guardados 10 boletos de quinielas que se supone que hemos jugado la semana anterior. Los partidos ya se han jugado, y por lo tanto ya sabemos cuál ha sido el boleto premiado.
Has de hacer un programa que pida en primer lugar el boleto premiado, y después, leyendo los datos del fichero anterior y utilizando la función "ComparaBoletos", presente en pantalla el número de aciertos que tiene cada uno de los diez boletos jugados.

En un disco (o disquette) tienes que tener grabados los ficheros:

- Quiniela.pas con el código fuente de la unit.
- Quiniela.tpu con la unit compilada
- Boletos.pas con el código fuente del programa
- Boletos.dat con los datos (tipoboleto) guardados
Posibles soluciones:
Problemas con ejercicios de programación turbo pascalProblemas con ejercicios de programación turbo pascal
Ejercicios de turbo pascalEjercicios de turbo pascal
Problema programacion turbo pascalProblema programacion turbo pascal
Ayuda programación turbo pascalAyuda programación turbo pascal
Problema programacion turbo pascal(otro xd)Problema programacion turbo pascal(otro xd)
Hurricane

Re: Problemas con ejercicios de programación Turbo Pascal - 2006-05-21 23:42 - Respuesta 2

Veamos.... Dice que necesitas un Array de 15 elementos, cuyos valores pueden ser 1, x ó 2.
QUINELA.PASCode:
Unit Quinela;

Type
TipoBoleto = Array[1..15] of char; {Tipo definido parea una quinela}

{Los números del boleto serán almacenados en 'Boleto'}
Procedure LeeBoleto(Var Boleto: TipoBoleto);

{Los números del 'Boleto' serán desplegados en pantalla}
Procedure EscribeBoleto(Boleto: TipoBoleto);

{Devuelve el núnmero de coincidencias entre 'Boleto1' y 'Boleto2'}
Function ComparaBoletos(Boleto1, Boleto2: TipoBoleto) :Integer;

Implementation

Procedure LeeBoleto(Var Boleto: TipoBoleto);
Var
Indice :Integer;
Begin
WriteLn('INGRESE LOS VALORES DE SU BOLETO:');
For Indice := 1 to 15 do
Begin
Write('[', Indice, ']? ');
ReadLn(Boleto[Indice]);
End; {For}
End; {LeeBoleto}


Procedure EscribeBoleto(Boleto: TipoBoleto);
Var
Indice :Integer;
Begin
For Indice := 1 to 15 do
WritelN('[', Indice, '] ', Boleto[Indice]);
End; {EscribeBoleto}


Function ComparaBoletos(Boleto1, Boleto2: TipoBoleto) :Integer;
Var
Index, Coincidencias :Integer;
Begin
Coincidencias := 0;
For Indice := 1 to 15 do
If (Boleto1[Indice]=Boleto2[Indice]) then
Coincidencias := Coincidencias + 1;
ComparaBoletos := Coincidencias;
End; {ComparaBoletos}


End. {Unit Quinela}

Esa sería la Unidad que te solicitan. Primero, plantea todas las dudas que tengas y de ahí continuamos.

Saludos

HURRICANE

Helena

Re: Problemas con ejercicios de programación Turbo Pascal - 2006-05-22 21:02 - Respuesta 3

Hola Hurricane.
Muchímas gracias por tu mensaje. Lo que me has mandado lo tenía ya más o menos hecho, aunque me ha venido muy bien tu respuesta para asegurarme de que lo que yo tenía estaba bien planteado. El resto también lo tengo ya terminado, así que no voy a abusar más de tu tiempo. Muchas gracias de nuevo. Un Saludo. Helena
Hurricane

Re: Problemas con ejercicios de programación Turbo Pascal - 2006-05-24 17:37 - Respuesta 4

Mientras podamos ayudar, por acá estaremos.

Saludos

HURRICANE

tanobrian

Re: Problemas con ejercicios de programación Turbo Pascal - 2007-05-09 22:32 - Respuesta 5


Añadir al programa anterior lo necesario para que clasifique las llamadas en Nacionales (N), Provinciales (P) y Locales (L) y realizar los mismo cálculos que antes para cada tipo de llamada (duración y numero de llamadas Nacionales, duración y numero de llamadas Provinciales y duración y numero de llamadas Locales). El programa también debe solicitar, después de presentar los resultados, si se desea realizar de nuevo todo el proceso anterior.

El resultado debe ser similar a esto:
Introduzca la duración de la llamada en minutos (0 para terminar): 5
Introduzca el tipo de llamada. N:Nacional, P:Provincial, L:Local: p

Introduzca la duración de la llamada en minutos (0 para terminar): 15
Introduzca el tipo de llamada. N:Nacional, P:Provincial, L:Local: n

Introduzca la duración de la llamada en minutos (0 para terminar): 20
Introduzca el tipo de llamada. N:Nacional, P:Provincial, L:Local: l

Introduzca la duración de la llamada en minutos (0 para terminar): 40
Introduzca el tipo de llamada. N:Nacional, P:Provincial, L:Local: p

Introduzca la duración de la llamada en minutos (0 para terminar): 0

-Especificación llamadas Nacionales, Provinciales y Locales-
El numero de llamadas nacionales a sido: 1 y su duración: 15.00 minutos.
El numero de llamadas provinciales a sido: 2 y su duración: 45.00 minutos.
El numero de llamadas locales a sido: 1 y su duración: 20.00 minutos.

-Totales-
Numero de llamadas: 4
Duración total: 80.00 minutos.
Duración media: 20.00 minutos.
Desea continuar para realizar otra lista de llamadas? S/N: n
Página:1

Respuestas relacionadas:

Problemas con turbo pascalProblemas con turbo pascalForo
Turbo pascalTurbo pascalForo
Turbo pascalTurbo pascalForo
Turbo pascalTurbo pascalForo
Turbo pascalTurbo pascalForo
Problema en turbo pascalProblema en turbo pascalForo
Ayuda con turbo pascalAyuda con turbo pascalForo
Turbo pascal- programasTurbo pascal- programasForo
Matrices en turbo pascal!Matrices en turbo pascal!Foro
Matrices en turbo pascalMatrices en turbo pascalForo
InicioSecciones
^ SubirAviso legal
Política Privacidad
Configurarequipos22 Noviembre 2024