Run Code
|
API
|
Code Wall
|
Misc
|
Feedback
|
Login
|
Theme
|
Privacy
|
Patreon
practica 6 ejercicio 4
//fpc 3.0.4 program HelloWorld; {-----------------------------------------------------------------------------------------------------------} {-------------------------------------------------------------------------- CONST - Crea constantes que permanecen durante el programa} const FIN = 'fin'; {-----------------------------------------------------------------------------------------------------------} {-----------------------------------------------------------------------------------------------------------} {-------------------------------------------------------------------------- TYPE - Crea los tipos ingresados por el usuario} type {-----------------------------tipoNombre-----------------------------} Tnombre = string [15]; {-----------------------------tipoVideojuego-------------------------} Tvideojuego = record nombre : Tnombre; categoria : Tnombre; idioma : Tnombre; votos : integer; end; {-----------------------------------------------------------------------------------------------------------} {-----------------------------------------------------------------------------------------------------------} {-------------------------------------------------------------------------- VARIABLES GLOBALES - Variables que sirven para todos los modulos sin necesidad de pasarlas como parametros ... } var v : Tvideojuego; votos:integer; videojuegos,videojuegos2 : integer; maxVideo : integer; maxVideoCategoria:Tnombre;//variable que almacena la categoria con mas videojuegos cvotos,cvotos2: integer; maxcvotos : integer; maxcvotosCategoria:Tnombre; // almacena la categoria con mas cantidad de votos max : Tvideojuego; //almacena el videojuego mas votado {-----------------------------------------------------------------------------------------------------------} {-----------------------------------------------------------------------------------------------------------} {-------------------------------------------------------------------------- MAS VOTADO - Almacena el videojuego mas votado} procedure masVotado; begin if max.votos < v.votos then max:=v; end; {-------------------------------------------------------------------------- INFORMAR C - Informa el nombre e idioma del videojuego mas votado} procedure InformarC; begin writeln('-----------------INFORME-C-----------------------'); writeln(); writeln('el nombre del videojuego mas votado es ',max.nombre); writeln; writeln('el idioma del videojuego mas votado es ',max.idioma); writeln; end; {-----------------------------------------------------------------------------------------------------------} {-----------------------------------------------------------------------------------------------------------} {-------------------------------------------------------------------------- PROMEDIO VOTOS - Informa el promedio de votos por idioma para la categoria educativo} procedure promedioVotos(Ridioma:Tnombre); var promedio : real; begin if v.categoria = 'educativo' then begin promedio := cvotos2 / videojuegos2; writeln; writeln('-----------------INFORME-B-----------------------'); writeln; writeln(' el promedio de votos para la categoria "educativo" '); writeln; writeln(' en el idioma "',Ridioma, '" es ',promedio:8:2); writeln; end; end; {-----------------------------------------------------------------------------------------------------------} {-----------------------------------------------------------------------------------------------------------} {-------------------------------------------------------------------------- MAX VIDEO JUEGOS - Calcula la categoria con mas cantidad de videojuegos } procedure maxVideojuegos(Rcategoria:Tnombre); begin if videojuegos > maxVideo then begin maxVideo := videojuegos; maxVideoCategoria := Rcategoria; end; end; {-------------------------------------------------------------------------- MAX CANTIDAD DE VOTOS - Calcula la categoria con mas cantidad de votos } procedure maxcantidadvotos(Rcategoria:Tnombre); begin if cvotos > maxcvotos then begin maxcvotos:=cvotos; maxcvotosCategoria:=Rcategoria; end; end; {-------------------------------------------------------------------------- INFORMAR A - informa los datos pedidos en a } procedure InformarA ; begin writeln; writeln('-----------------INFORME-A-----------------------'); writeln; writeln('la categoria que tiene mas videojuegos es ',maxVideoCategoria); writeln; writeln('la categoria que tiene mas votos es ', maxcvotosCategoria); writeln; end; {-----------------------------------------------------------------------------------------------------------} {-----------------------------------------------------------------------------------------------------------} {-------------------------------------------------------------------------- LEER VOTOS } procedure leerVotos; begin write('ingrese votos positivos: '); readln(votos); write(votos); v.votos:= votos + v.votos; writeln; writeln; end; {-------------------------------------------------------------------------- LEER NOMBRES } procedure leerNombres; begin write('ingrese nombre: '); readln(v.nombre); write(v.nombre); writeln; end; {-------------------------------------------------------------------------- LEER IDIOMAS } procedure leerIdiomas; begin write('ingrese idioma: '); readln(v.idioma); write(v.idioma); writeln; end; {-------------------------------------------------------------------------- LEER CATEGORIAS } procedure leerCategorias; begin write('ingrese categoria: '); readln(v.categoria); write(v.categoria); writeln; end; {-------------------------------------------------------------------------- LEER - Lee la primera vez ... } procedure leer ; begin leerCategorias; if v.categoria <> FIN then begin leerIdiomas; leerNombres; end; end; {-----------------------------------------------------------------------------------------------------------} {-----------------------------------------------------------------------------------------------------------} {-------------------------------------------------------------------------- NOMBRE - Mientras sea el mismo nombre se actualizan sus votos positivos} procedure Xnombre; var Rnombre : Tnombre; begin v.votos := 0; Rnombre := v.nombre; while v.nombre = Rnombre do begin leerVotos; leerNombres; end; videojuegos2 := videojuegos2 + 1; // cantidad de video juegos x idioma cvotos2:= v.votos + cvotos2; // camtidad de votos x idioma masVotado; end; {-------------------------------------------------------------------------- IDIOMA - Mientras sea el mismo idioma se actualizan los nombres ...} procedure Xidioma; var Ridioma : Tnombre; begin cvotos2 := 0; videojuegos2:=0; Ridioma := v.idioma; while Ridioma = v.idioma do begin Xnombre; leerIdiomas; end; promedioVotos(Ridioma); //ejercicio b videojuegos := videojuegos2 + videojuegos; // cantidad de videojuegos x categoria cvotos := cvotos + cvotos2; // cantidad de votos x categoria end; {-------------------------------------------------------------------------- CATEGORIA - Mientras sea la misma categoria se actualizan los idiomas} procedure Xcategoria; var Rcategoria : Tnombre; begin Rcategoria := v.categoria; while v.categoria = Rcategoria do begin Xidioma; leerCategorias; end; maxVideojuegos(Rcategoria); //ejercicio a maxcantidadVotos(Rcategoria); //ejercicio a end; {-----------------------------------------------------------------------------------------------------------} {-----------------------------------------------------------------------------------------------------------} {-------------------------------------------------------------------------- PROGRAMA PRINCIPAL - Mientras la categoria no sea fin anda el programa} begin // Inicializacion ... maxcvotos:=0; maxVideo:=0; max.votos:=0; leer; while v.categoria <> FIN do begin // inicializacion ... videojuegos := 0; cvotos:=0; //-------------------- Xcategoria; //-------------------- end; InformarA(); InformarC(); end.
run
|
edit
|
history
|
help
0
Task 3a
Урок 4 задача 8
Урок 3 задача 4
PrimoPerfecto
Douane fini
formato_real
practica 9 ejercicio 12
1
khaithien
test04