• Jueves 25 de Abril de 2024, 09:11

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Temas - tomas_sauron

Páginas: [1]
1
GNU/Linux / Duda sobre distros linux (nuevito soy)
« en: Domingo 9 de Septiembre de 2012, 16:33 »
buenas!!!

Estoy comenzando en el  mundo linux como 1° distro ubuntu por el momento no hay complicaciones

lo unico q noto es q me reduce la duracion de la bateria y el alcance de la antena  wifi es posible esto ???

no tuve tiempo de investigarlo si alguien saabe , se agradece


2
C/C++ / Busqueda en una matriz
« en: Domingo 25 de Marzo de 2012, 21:23 »
Gente qeria ver si alguien conoc 1 libro o si me da una mano para optimizar una busqueda de una fila y una columna en una matriz...al dcir si m da una mano no digo la solucion sino como comenzar a pnsarlo dsd ya muchas graciaas

3
C/C++ / Eclipse no resuelve includes en .cpp
« en: Martes 28 de Febrero de 2012, 00:11 »
Buenas tengo un problema con includes en los ficheros .cpp si declaro la implementacion de los metodos de clase en los .h no hay problema pero si lo hago en .cpp (como debe ser )no puede resolver la referencia al o los metodos utilizados creo que es algo de configuracion de eclipse uso el helios con el compilador mingw si alguien sabe se lo agradecere !!!

Saludos!!

4
Pascal / No cargar en memoria un archivo
« en: Jueves 8 de Diciembre de 2011, 23:50 »
Buenas tardes ;

               Quisiera hacer una consulta a la gente del foro en el apareo de archivos alguien sabe como hacer para no cargar en memoria (o si es posible) el archivo que se esta apareando .

Muchas gracias

Saludos.

5
C/C++ / Problema con punteros el O.S. cierra el programa
« en: Viernes 9 de Septiembre de 2011, 19:42 »
Buenas gtn tngo problemas con punteros es mi primera experiencia con ellos y c++ el programa es un producto de matrices con memoria dinamica pero cuando entra al tercer for de productoMatriz() el OS cierra el programa por lo poco que se debe estar tocando memoria q no db pero no veo bien el error si m pueden dar una mano mil gracias !! ak va el codigo :

Código: C++
  1.  *
  2.  *  Created on: 04/09/2011
  3.  *      Author: tomas
  4.  */
  5.  
  6. #include "reservaMemoria.h"
  7. #include "ingresoDatos.h"
  8. #include <string.h>
  9. #include <iostream>
  10. using namespace std;
  11.  
  12. void ingresoMatriz(int **A,int **B,int &filA,int &colA,int &filB,int &colB){
  13.  
  14.         int n;int m;
  15.  
  16.         cout<<"Ingrese filas de A"<<endl;
  17.         cin>>filA;
  18.         cout<<"Ingrese columnas de A"<<endl;
  19.         cin>>colA;
  20.         int datos;
  21.         reservaMemoria(A,filA,colA);
  22.         for(n=0;n<filA;n++){
  23.                 for(m=0;m<colA;m++){
  24.                                 cout<<"ingrese datos matriz A["<<n+1<<","<<m+1<<"]"<<endl;
  25.                                 cin>>datos;
  26.                                 A[n][m] = datos;
  27.  
  28.                 }
  29.         }
  30.         for(int n=0;n<filA;n++){
  31.                                  cout<<"  "<<endl;
  32.                                  for(int m=0;m<colA;m++){
  33.                                         cout<<A[n][m]<<"  ";
  34.  
  35.                                  }
  36.                                  cout<<"  "<<endl;
  37.                 }
  38.             cout<<" "<<endl;
  39.                 cout<<"Ingrese filas de B"<<endl;
  40.                 cin>>filB;
  41.                 cout<<"Ingrese columnas de B"<<endl;
  42.                 cin>>colB;
  43.                 reservaMemoria(B,filB,colB);
  44.             for(n=0;n<filB;n++){
  45.                 for(m=0;m<colB;m++){
  46.                                 cout<<"ingrese datos matriz B["<<n+1<<","<<m+1<<"]"<<endl;
  47.                                 cin>>B[n][m];
  48.  
  49.                 }
  50.  
  51.         }
  52.         for(int n=0;n<filB;n++){
  53.                                  cout<<"  "<<endl;
  54.                                  for(int m=0;m<colB;m++){
  55.                                         cout<<B[n][m]<<"  ";
  56.  
  57.                                  }
  58.                                  cout<<"  "<<endl;
  59.  
  60.         }
  61.         cout<<" "<<endl;
  62.  
  63.  
  64.  
  65.  
  66. }
  67.  
  68.  
  69.  
Código: C++
  1. /*
  2.  * productoMatricial.cpp
  3.  *
  4.  *  Created on: 21/08/2011
  5.  *      Author: tomas
  6.  */
  7. #include "reservaMemoria.h"
  8. #include "constantes.h"
  9. #include <iostream>
  10. #include "productoMatricial.h"
  11. using namespace std;
  12.  void productoMatriz(int **A,int **B,int **C,int filA,int colA,int filB,int colB){
  13.  
  14.                  int acumulador;
  15.          reservaMemoria(C,filA,colB);
  16.                  if(filB == colA){
  17.                          for(int n=0;n<filA;n++){
  18.                                  cout<<"Generando producto matricial..."<<endl;
  19.                                  for(int k=0;k<colB;k++){
  20.                                          C[n][k]=0;
  21.                                          acumulador=0;
  22.                                          for(int m=0;m<filB;m++){//aca seria el problema !!
  23.                                                  acumulador = ((A[n][m]) * (B[m][k]));
  24.                                                  C[n][k] = acumulador + C[n][k];
  25.  
  26.                                          }
  27.  
  28.                                  }
  29.  
  30.                          }
  31.                          cout<<"Fin de Producto Matricial"<<endl;
  32.  
  33.                  }else{
  34.                          cout<<"El producto de matrices no es valido,dado que el numero de filas de B es distinto al numero de columnas de A"<<endl;
  35.                          return;
  36.                  }
  37.  
  38.  
  39.  }
  40.  
Código: C++
  1. /*
  2.  * reservaMemoria.cpp
  3.  *
  4.  *  Created on: 04/09/2011
  5.  *      Author: tomas
  6.  */
  7.  
  8. #include "reservaMemoria.h"
  9. #include <iostream>
  10. using namespace std;
  11.  
  12.  
  13. int** reservaMemoria(int fil,int col){
  14.  
  15.         int **p;
  16.     p = new int*[fil];
  17.     for(int n=0;n<fil;n++){
  18.         p[n] = new int[col];
  19.     }
  20.  
  21.         return p**;
  22. }
  23.  
Código: C++
  1. /*
  2.  * menu.cpp
  3.  *
  4.  *  Created on: 21/08/2011
  5.  *      Author: tomas
  6.  */
  7. #include <iostream>
  8. #include "menu.h"
  9. #include "ingresoDatosAleatorios.h"
  10. #include "ingresoDatos.h"
  11. #include "mostrarResultado.h"
  12. #include "productoMatricial.h"
  13. using namespace std;
  14.  
  15. void menu(){
  16.                  int i=-1;int filA,colA,filB,colB;
  17.                  int **A;int **B;int **C;
  18.                  while(i!=0){
  19.                              cout<<"***********MENU***********"<<endl;
  20.                                  cout<<"*1:Ingreso de datos manualmente******"<<endl;
  21.                                  cout<<"*2:Ingreso de datos aleatorios*******"<<endl;
  22.                                  cout<<"*3:Producto Matricial****************"<<endl;
  23.                                  cout<<"*4:Mostrar Resultado*****************"<<endl;
  24.                                  cout<<"*0:Salir*****************************"<<endl;
  25.                                  cin>>i;
  26.                                  switch(i){
  27.  
  28.                                          case 1:ingresoMatriz(A,B,filA,colA,filB,colB);break;
  29.                                          //case 2:ingresoAleatorio(A,B,maxColA,maxColB,maxFilA,maxFilB);break;
  30.                                          case 3:productoMatriz(A,B,C,filA,colA,filB,colB);break;
  31.                                          //case 4:mostrarResultado(C,colA,filB);break;
  32.  
  33.                                  }
  34.  
  35.                  }
  36.                  cout<<"Bye!!"<<endl;
  37.  
  38.  }
  39.  

espero m puedan dar una mano !!

saludos !!

6
Java / Obtener encoding de un XML en aplicacion JAVA
« en: Sábado 13 de Agosto de 2011, 00:58 »
hola gnt !!
               Quisiera si alguien m da una mano alguna forma o alguna herramienta (castor,spring,xerces,etc)que conozcan para obtener de un XML su respectivo encoding(UTF-8,ISO,etc) ,ya probe con la mencionada XERCES pero no obtengo nada igual sigo probando ,la idea es leer el XML y saber com esta codificado no si es posible o de ultima setearlo para luego al serializarlo q salga con ese encoding unicamente no c si m explico

dsd ya muchas gracias !!


7
Java / host Java+MySql Gratis
« en: Viernes 1 de Julio de 2011, 21:39 »
gtn!! buenas ;

    necesito un servicio de host gratis ,la dire si alquien conoc para empezar a
   colgar una pagina q tngo hecha s basica pero qisiera empezar a ponerla en internet ,
   la pagina va con java y base de dato MySql  q sea gratis por favor noc si el post pertenece
   a esta seccion del foro sino es asi disculpen !!

saludos !!!

8
Publicaciones y e-books / Manueles Spring+Hibernate 3
« en: Lunes 6 de Junio de 2011, 04:32 »
hola gnt alquien sab algun libro manual o link d integracion hibernate 3 + spring  y DAO, DTO

dsd ya muchas gracias!!

9
JSP/Servlets / duda con administrar permisos usuarios
« en: Lunes 16 de Mayo de 2011, 05:33 »
hola gnt !! estoy leyendo sobre java web la part d srvlts y jsp, y m surge una duda com administrar prmisos de ususari o
yo tngo hecha una pagina hecha q muestra datos de un club y los modifica da d alta a nuevos socios y da bajas tmb  y qeriia poner
restricciones a los usuarios normales para q solo vean sus datos personales y no podr modificarlos y las modificaciones las hagan los administradores del club
pnc  en  darles contrasenia a los administradores para q se registren d esa manera para q en el posterior logueo un metodo consult en la base d datos en una tabla
d id d administradores para asignarle el permiso correspondiente mi duda es si hay alquien sab si hay una manera mas eficas y si estoy bien encaminado
dsd ya muchas gracias !!!

10
Java / problema mostrar datos en un jsp
« en: Martes 10 de Mayo de 2011, 02:37 »
alguien sabe como mostrar en un jsp una lista de datos tomados de una base de datos y almacenados en un arraylist ????
la cosa seria guardar los datos de socios en un array list
 
Código: Java
  1. package GimnasioWeb;
  2.  
  3. import java.util.*;
  4.  
  5.  
  6. public class Socio {
  7.    
  8.    
  9.    
  10.  
  11.     private int Id;
  12.     private String Nombre;
  13.     private String Apellido;
  14.     private double Cuota;
  15.     private double Saldo;
  16.     private Membrecia unaMembrecia;
  17.     private List<Actividad>Actividades;
  18.     private int ActAnotado;
  19.     private boolean seAgrego=false;
  20.  
  21.  
        donde Membrecia es un objeto de tipo membrecia ,y actividaddes tambien el probloema se me presenta en sacar los datos d membrecia y actividades q estan dntro d socio
Código: Text
  1. <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
  2.     pageEncoding="ISO-8859-1"%>
  3. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  4. <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
  5. <html>
  6. <head>
  7. <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  8. <title>Insert title here</title>
  9. </head>
  10. <body>
  11.        <table border="2">
  12.          <c:forEach var ="current" items="${lista}">
  13.          <tr>
  14.              <td>
  15.                  <b>
  16.                     <c:out value="${current.nombre }"/><c:out value="      "/><c:out  value="${current.apellido }"/><c:out value="                   "/><c:out value="${current.cuota }"/><c:out value="             "/><c:out value="${current.saldo }"/><c:out value="        "/><c:out value="${current.id }"/>
  17.                   </b>
  18.                  
  19.              </td>
  20.              
  21.          </tr>
  22.          
  23.         </c:forEach>
  24.                    
  25.        </table>            
  26. </body>
  27. </html>
  28.  

este es el jsp
graciaas d antemano !!!!!!!

11
Java / llamar 1 frame deesd otro frame
« en: Sábado 23 de Abril de 2011, 00:57 »
Hola gente alguien sab como hacer para al clickear 1 boton en 1 frame q llame a otro frame ??
osea para x ejemplo en una agenda al pinchar sobre un contacto y clickear el boton q muestre en otro frame los datos del contacto
si contstan muchas gracias !!!!!

12
Java / Error con archivos y ArrayList
« en: Miércoles 13 de Abril de 2011, 07:06 »
hola gente!!! estoy empezando en java hace un mes y algo mas y leyendo un poco logre llegar  hasta archivos en mi entendimiento pero m falta mucho todavia.Bueno la cosa es esta , tengo problemas con este codigo estoy intentando a hacer una especie d agenda pero lo unico q m importa ees ver el funcionamiento de archivos y ArrayList y su relacion el programa esta hecho en netbeans 6.9
y el problema salta cuando quiero leer el archivo paara mostrar los datos al guardar no hay problema el error qu tira es en tiempo d ejecucion y es est
[color=#FF0000Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException]
aqui el codigo del boton q abre los datos
Código: Java
  1.  private void btnSavePerson1ActionPerformed(java.awt.event.ActionEvent evt) {
  2.  
  3.       try{
  4.           ObjectInputStream fileIn=new ObjectInputStream(new FileInputStream("agenda.dat"));
  5.             try {
  6.                 book = (ArrayList) fileIn.readObject();
  7.             } catch (ClassNotFoundException ex) {
  8.                 Logger.getLogger(Formulario.class.getName()).log(Level.SEVERE, null, ex);
  9.             }
  10.           fileIn.close();
  11.          Datos agenda=book.get(i-1);
  12.          nom=agenda.getNombre();
  13.          ape=agenda.getApellido();
  14.          dir=agenda.getDireccion();
  15.          mail=agenda.getEmail();
  16.          tel=agenda.getTelefono();
  17.          txtName1.setText(nom);
  18.          txtApe1.setText(ape);
  19.          txtDire1.setText(dir);
  20.          txtmail1.setText(mail);
  21.          txtTel1.setText(""+tel);
  22.       }catch(FileNotFoundException ex){
  23.           JOptionPane.showMessageDialog(this,"Error!! No se encuentra archivo");
  24.  
  25.       }catch(IOException ex){
  26.           JOptionPane.showMessageDialog(this,"Error!!");
  27.  
  28.       }
  29.  
  30.  
  31.     }
  32.  
  33.  
y el boton qu guarda es este
Código: Java
  1.  private void btnSavePersonActionPerformed(java.awt.event.ActionEvent evt) {
  2.  
  3.            ape=txtApe.getText();
  4.            nom=txtName.getText();
  5.            dir=txtDire.getText();
  6.            mail=txtmail.getText();
  7.            tel=Integer.parseInt(txtTel.getText());
  8.            Datos agenda = new Datos(nom,ape,mail,dir,tel);
  9.            book.add(i,agenda);
  10.            i++;
  11.            txtApe.setText("");
  12.            txtName.setText("");
  13.            txtDire.setText("");
  14.            txtmail.setText("");
  15.            txtTel.setText("");
  16.  
  17.            try{
  18.                ObjectOutputStream fileOut=new ObjectOutputStream(new FileOutputStream("agenda.dat"));
  19.                fileOut.writeObject(agenda);
  20.                fileOut.close();
  21.            }catch(FileNotFoundException ex){
  22.                JOptionPane.showMessageDialog(this,"Error!! No se encuentra archivo");
  23.            }catch(IOException ex){
  24.               JOptionPane.showMessageDialog(this,"Error!!");
  25.  
  26.  
  27.            }
  28.  
  29.  
  30.     }
  31.  
PD: hay una cclase Datos q possee todos los geters y seters con los atributos nombre apellido direccion email y telefono si alguien m puede contestar se lo agradecere mucho !!!!!!!!!!!!


[/color]

13
Java / numero primo(pasaje por referencia)
« en: Martes 8 de Marzo de 2011, 05:31 »
hola gente de java soy muy nuevo en java es mas empece anoche leyendo un manual q encontre en la web,bueno lo q mas me importa es si me pueden ayudar a entender
el pasaje por referencia de java ya q yo conozco el de pascal y no son iguales,intente implementar el pase de parametros por referencia con un clasico como el de
los numeros primos pero no quedo bien al compilar sale primos_ppal.java:27:cannot find symbol
smbol:constructor
es el error de estar mal hecha la referencia supongo bueno si alguien me puede ayudar se agradece de antemano !!
Código: Java
  1. class primos {
  2.        boolean esPrimo;
  3.        public  boolean primos(int n){
  4.           int k=2;
  5.           esPrimo=true;
  6.           while((k<=n-1) && (esPrimo)){
  7.              if((n%k)==0)
  8.                 esPrimo=false;
  9.              else
  10.                 esPrimo=true;
  11.              
  12.               k++;
  13.           }
  14.          
  15.           return(esPrimo);
  16.  
  17.  
  18.         }
  19.  
  20.  
  21. }
  22.  
  23. class primos_ppal {
  24.  
  25.         public static void main(String args[]) {
  26.            primos var;
  27.            var=new primos(3);
  28.            System.out.println(var);
  29.                  
  30.         }
  31.  
  32.        
  33.  
  34. }  
  35.  
pd:una funcion q devuelve un booleano puede ser static????

14
Pascal / soy tan tonto q no me sale este ej con archivos
« en: Domingo 13 de Febrero de 2011, 01:41 »
gente necesito ayuda con este programa de pascal...se trata de una aplicacion para solicitudes de autos este es el enunciado estoy practicando para mi final de programacion 1 si alguien me pued ayudar muchas gracias de antemano.....hice casi todo el programa pero no logro q ejecute despues de los ingresos de los datos y ya noc q mas hacer
.- Desarrollar un algoritmo que permita la actualización de un archivo de solicitudes de planes de ahorro para compra de automóviles.

Se cuenta con un archivo secuencial ordenado en forma ascendente por el campo NRO-SOLICITUD donde están registradas todas las solicitudes vigentes. Los registros de este archivo tienen la siguiente estructura:

           REGISTRO-SOLICITUD
NRO-SOLICITUD       entero
TITULAR                     cadena de 40 caracteres
MARCA                       entero (1 a 4)
MODELO                     entero (1 a 3)
COLOR              entero (1 a 8)

 
Y un archivo también secuencial que informa las altas a procesar. Este archivo tiene la misma estructura de registros que el archivo de solicitudes  y también está ordenado en forma ascendente por el campo NRO-SOLICITUD

Se quiere generar un nuevo archivo de solicitudes resultado de efectuar las altas correspondientes. (Este archivo tendrá la misma estructura que el archivo de solicitudes.)
Se podrán rechazar altas  por nro. de solicitud ya existente o por valor inválido en marca, modelo o color. Se listará cada alta rechazada indicando la razón del rechazo.

Al final del proceso se emitirá un informe indicando para cada marca, la cantidad de solicitudes existentes por modelo y color.
También al final del proceso se indicará la cantidad de registros leídos en cada uno de los archivos de entrada, la cantidad de registros grabados en el archivo actualizado, la cantidad de altas  rechazadas.
Código: Pascal
  1. program autos;
  2. uses crt;
  3. type
  4.     tnum=integer;
  5.     tregAlta=record
  6.                  nro:tnum;
  7.                  titular:string[40];
  8.                  marca:tnum;
  9.                  modelo:tnum;
  10.                  color:tnum
  11.             end;
  12.      tregRech=record
  13.                  nro:tnum;
  14.                  titular:string[40];
  15.                  motivo:string[20]
  16.             end;
  17.      tregMarca=record
  18.                     mod1M1,mod2M1,mod3M1:tnum;
  19.                     mod1M2,mod2M2,mod3M2:tnum;
  20.                     mod1M3,mod2M3,mod3M3:tnum;
  21.                     mod1M4,mod2M4,mod3M4:tnum;
  22.                     color1M1,color2M1,color3M1,color4M1,color5M1,color6M1,color7M1,color8M1:tnum;
  23.                     color1M2,color2M2,color3M2,color4M2,color5M2,color6M2,color7M2,color8M2:tnum;
  24.                     color1M3,color2M3,color3M3,color4M3,color5M3,color6M3,color7M3,color8M3:tnum;
  25.                     color1M4,color2M4,color3M4,color4M4,color5M4,color6M4,color7M4,color8M4:tnum;
  26.                 end;
  27.       arAlta=file of tregAlta;
  28.       arRech=file  of tregRech;
  29.       arMarca=file of tregMarca;
  30.  
  31. var
  32.    alta,solic,solic_n:arAlta;
  33.    marca:arMarca;regSol,regAlta:tregAlta;motivo:arRech;
  34.    regMarca:tregMarca;finSol,finAlta,finMarca,finmotivo:boolean;
  35.  
  36.  
  37. procedure ingAlta(var alta:arAlta;var regAlta:tregAlta);
  38. var
  39.    tecla:char;
  40. begin
  41.       assign(alta,'c:userstomasarch_pascalalta.dat');
  42.       rewrite(alta);
  43.       writeln('ingresa datos de altas');
  44.       readln(tecla);
  45.       while(tecla='s')do
  46.          begin
  47.                writeln('ingrese nro de solicitud');readln(regAlta.nro);
  48.               writeln('ingrese titular');readln(regAlta.titular);
  49.               writeln('ingrese marca');readln(regAlta.marca);
  50.               writeln('ingrese modelo');readln(regAlta.modelo);
  51.               writeln('ingrese color');readln(regAlta.color);
  52.               write(alta,regAlta);
  53.               writeln('ingresa mas datos(s/n)');readln(tecla)
  54.          end;
  55.  
  56.        close(alta)
  57. end;
  58. procedure ingSol(var solic:arAlta;var regSol:tregAlta);
  59. var
  60.    tecla:char;
  61. begin
  62.      assign(solic,'c:userstomasarch_pascalsolic.dat');
  63.      rewrite(solic);
  64.      writeln('ingresa datos de solicitud');readln(tecla);
  65.      while(tecla='s')do
  66.        begin
  67.               writeln('ingrese nro de solicitud');readln(regsol.nro);
  68.               writeln('ingrese titular');readln(regSol.titular);
  69.               writeln('ingrese marca');readln(regSol.marca);
  70.               writeln('ingrese modelo');readln(regSol.modelo);
  71.               writeln('ingrese color');readln(regSol.color);
  72.               write(solic,regSol);
  73.               writeln('ingresa mas datos(s/n)');readln(tecla)
  74.          end;
  75.  
  76.        close(solic)
  77. end;
  78. procedure leer_alta(var F:arAlta;var reg:tregAlta;var fin_alta:boolean);
  79.  
  80. begin
  81.      fin_alta:=eof(F);
  82.      if not(fin_alta)then
  83.        read(F,reg)
  84.      else fin_alta:=true
  85. end;
  86. procedure leer_sol(var F:arAlta;var reg:tregAlta;var fin_sol:boolean);
  87.  
  88. begin
  89.      fin_sol:=eof(F);
  90.      if not(fin_sol)then
  91.        read(F,reg)
  92.      else fin_sol:=true
  93. end;
  94. procedure actualizar(var alta,solic,solic_n:arAlta);
  95. var
  96.    regAlta,regSol:tregAlta;
  97. begin
  98.         assign(alta,'c:userstomasarch_pascalalta.dat');
  99.         assign(solic,'c:userstomasarch_pascalsolic.dat');
  100.         assign(solic,'c:userstomasarch_pascalsolic_n.dat');
  101.         reset(alta);reset(solic);rewrite(solic_n);
  102.         leer_sol(solic,regSol,finsol);leer_alta(alta,regAlta,finAlta);
  103.         while(not(finSol))and(not(finAlta))do
  104.            begin
  105.                 if(regSol.nro=regAlta.nro)or(regAlta.marca>4)or(regalta.modelo>3)or(regAlta.color>8)then
  106.                   begin
  107.                        leer_sol(solic,regSol,finsol);
  108.                        leer_alta(alta,regAlta,finalta)
  109.                   end
  110.                 else
  111.                     if(regSol.nro<regAlta.nro)then
  112.                        begin
  113.                             write(solic_n,regSol);
  114.                             leer_sol(solic,regSol,finsol)
  115.                        end
  116.                     else
  117.                        if(regAlta.nro<regSol.nro)and(regAlta.marca<=4)and(regAlta.modelo<=3)and(regAlta.color<=8)then
  118.                           begin
  119.                                write(solic_n,regAlta);
  120.                                leer_alta(alta,regAlta,finalta)
  121.                           end
  122.  
  123.             end;
  124.           close(solic);close(alta);close(solic_n)
  125.  
  126. end;
  127.  
  128. procedure motivo_x_rech(var solic,alta:arAlta;var motivo:arrech);
  129. var
  130.    regAlta,regSol:tregalta;
  131.    regrech:tregrech;
  132. begin
  133.         assign(alta,'c:userstomasarch_pascalalta.dat');
  134.         assign(solic,'c:userstomasarch_pascalsolic.dat');
  135.         assign(motivo,'c:userstomasarch_pascalmotivo.dat');
  136.         reset(alta);reset(solic);rewrite(motivo);
  137.         leer_sol(solic,regSol,finsol);leer_alta(alta,regAlta,finalta);
  138.         while(not(finsol))and(not(finalta))do
  139.           begin
  140.                if(regSol.nro=regAlta.nro)then
  141.                   begin
  142.                        regrech.nro:=regAlta.nro;
  143.                        regrech.titular:=regAlta.titular;
  144.                        regrech.motivo:='solicitud existente';
  145.                        write(motivo,regrech);
  146.                        leer_sol(solic,regsol,finsol);leer_alta(alta,regAlta,finalta)
  147.                   end
  148.                else
  149.                    if(regAlta.marca>4)then
  150.                       begin
  151.                            regrech.nro:=regAlta.nro;
  152.                            regrech.titular:=regAlta.titular;
  153.                            regrech.motivo:='marca invalida';
  154.                            write(motivo,regrech);
  155.                            leer_alta(alta,regAlta,finalta)
  156.                       end
  157.                    else
  158.                        if(regAlta.modelo>3)then
  159.                           begin
  160.                                regrech.nro:=regAlta.nro;
  161.                                regrech.titular:=regAlta.titular;
  162.                                regrech.motivo:='modelo invalida';
  163.                                write(motivo,regrech);
  164.                                leer_alta(alta,regAlta,finalta)
  165.                            end
  166.                        else
  167.                            if(regAlta.color>8)then
  168.                               begin
  169.                                    regrech.nro:=regAlta.nro;
  170.                                    regrech.titular:=regAlta.titular;
  171.                                    regrech.motivo:='color invalido';
  172.                                    write(motivo,regrech);
  173.                                    leer_alta(alta,regAlta,finalta)
  174.                                end
  175.  
  176.                end;
  177.  
  178.              close(solic);close(alta);close(motivo)
  179.  
  180. end;
  181.  
  182. procedure armar_solic(var marca:arMarca;var solic_n:arAlta);
  183. var
  184.     regSol:tregAlta;
  185.     regMarca:tregMarca;
  186. begin
  187.      assign(solic_n,'c:userstomasarchivos_pascalsolic_n.dat');
  188.      assign(marca,'c:userstomasarchivos_pascalmarca.dat');
  189.      reset(solic_n);rewrite(marca);
  190.      with(regMarca)do
  191.         begin
  192.              mod1M1:=0;mod2M2:=0;mod3M3:=0;color1M1:=0;color2M1:=0;
  193.              color3M1:=0;color4M1:=0;color5M1:=0;color6M1:=0;color7M1:=0;
  194.              color8M1:=0;mod1M2:=0;mod2M2:=0;mod3M2:=0;color1M2:=0;color2M2:=0;color3M2:=0;color4M2:=0;
  195.              color5M2:=0;color6M2:=0;color7M2:=0;color8M2:=0;mod1M3:=0;mod2M3:=0;mod3M3:=0;color1M3:=0;
  196.              color2M3:=0;color3M3:=0;color4M3:=0;color5M3:=0;color6M3:=0;color7M3:=0;color8M3:=0;
  197.              mod1M4:=0;mod2M4:=0;mod3M4:=0;color1M4:=0;color2M4:=0;color3M4:=0;color4M4:=0;color5M4:=0;
  198.              color6M4:=0;color7M4:=0;color8M4:=0
  199.         end;
  200.      leer_sol(solic_n,regSol,finSol);
  201.      while(not finSol)do
  202.        begin
  203.         with(regMarca)do
  204.           begin
  205.              if(regSol.marca=1)then
  206.                 begin
  207.                      case(regSol.modelo)of
  208.                         1:inc(mod1M1);
  209.                         2:inc(mod2M1);
  210.                         3:inc(mod3M1)
  211.                      end;
  212.                      case(regSol.color)of
  213.                         1:inc(color1M1);
  214.                         2:inc(color2M1);
  215.                         3:inc(color3M1);
  216.                         4:inc(color4M1);
  217.                         5:inc(color5M1);
  218.                         6:inc(color6M1);
  219.                         7:inc(color7M1);
  220.                         8:inc(color8M1)
  221.                      end;
  222.                      write(marca,regMarca);
  223.                      leer_sol(solic,regSol,finsol)
  224.                   end
  225.              else
  226.                  if(regSol.marca=2)then
  227.                     begin
  228.                          case(regSol.modelo)of
  229.                             1:inc(mod1M2);
  230.                             2:inc(mod2M2);
  231.                             3:inc(mod3M2)
  232.                          end;
  233.                          case(regSol.color)of
  234.                             1:inc(color1M2);
  235.                             2:inc(color2M2);
  236.                             3:inc(color3M2);
  237.                             4:inc(color4M2);
  238.                             5:inc(color5M2);
  239.                             6:inc(color6M2);
  240.                             7:inc(color7M2);
  241.                             8:inc(color8M2)
  242.                          end;
  243.                          write(marca,regMarca);
  244.                          leer_sol(solic_n,regSol,finsol)
  245.                      end
  246.                   else
  247.                       if(regSol.marca=3)then
  248.                          begin
  249.                              case(regSol.modelo)of
  250.                                 1:inc(mod1M3);
  251.                                 2:inc(mod2M3);
  252.                                 3:inc(mod3M3)
  253.                              end;
  254.                              case(regSol.color)of
  255.                                 1:inc(color1M3);
  256.                                 2:inc(color2M3);
  257.                                 3:inc(color3M3);
  258.                                 4:inc(color4M3);
  259.                                 5:inc(color5M3);
  260.                                 6:inc(color6M3);
  261.                                 7:inc(color7M3);
  262.                                 8:inc(color8M3)
  263.                              end;
  264.                              write(marca,regMarca);
  265.                              leer_sol(solic_n,regSol,finsol)
  266.                           end
  267.                         else
  268.                             if(regSol.marca=4)then
  269.                                begin
  270.                                    case(regSol.modelo)of
  271.                                       1:inc(mod1M4);
  272.                                       2:inc(mod2M4);
  273.                                       3:inc(mod3M4)
  274.                                    end;
  275.                                    case(regSol.color)of
  276.                                       1:inc(color1M4);
  277.                                       2:inc(color2M4);
  278.                                       3:inc(color3M4);
  279.                                       4:inc(color4M4);
  280.                                       5:inc(color5M4);
  281.                                       6:inc(color6M4);
  282.                                       7:inc(color7M4);
  283.                                       8:inc(color8M4)
  284.                                    end;
  285.                                    write(marca,regMarca);
  286.                                    leer_sol(solic_n,regSol,finsol)
  287.                                 end
  288.  
  289.  
  290.  
  291.  
  292.           end
  293.  
  294.  
  295.        end;
  296.  
  297.  
  298.      close(solic_n);
  299.      close(marca)
  300.  
  301. end;
  302.  
  303. procedure leer_marca(var marca:arMarca;regMarca:tregMarca;fin:boolean);
  304.  
  305. begin
  306.      fin:=eof(marca);
  307.      if(not(fin))then
  308.        read(marca,regMarca)
  309.      else
  310.         fin:=true
  311. end;
  312. procedure leer_motivo(var motivo:arrech;regrech:tregrech;fin:boolean);
  313.  
  314. begin
  315.      fin:=eof(motivo);
  316.      if(not(fin))then
  317.         read(motivo,regrech)
  318.      else
  319.         fin:=true
  320. end;
  321.  
  322. procedure mostrar_motivo(var motivo:arrech);
  323. var
  324.    regrech:tregrech;
  325. begin
  326.      assign(motivo,'c:userstomasarchivos_pascalmotivo.dat');
  327.      reset(motivo);
  328.      leer_motivo(motivo,regrech,finmotivo);
  329.      while(not(finmotivo))do
  330.         begin
  331.              writeln(regrech.nro:10,regrech.titular:10,regrech.motivo:10);
  332.              leer_motivo(motivo,regrech,finmotivo)
  333.         end;
  334.      close(motivo)
  335. end;
  336.  
  337. procedure mostrar_sol(var marca:arMarca);
  338. var
  339.    regMarca:tregMarca;
  340. begin
  341.      assign(marca,'c:userstomasarchivos_pascalmarca.dat');
  342.      reset(marca);
  343.      leer_marca(marca,regMarca,finMarca);
  344.      while(not(finMarca))do
  345.          begin
  346.               with(regMarca)do
  347.                  begin
  348.                       writeln('marca 1',mod1M1:10,mod2M1:10,mod3M1:10,'':19,color1M1:10,color2M1:10,color3M1:10,color4M1:10,color5M1:10,color6M1:10,color7M1:10,color8M1:10);
  349.                       writeln('marca 2',mod1M2:10,mod2M2:10,mod3M2:10,'':19,color1M2:10,color2M2:10,color3M2:10,color4M2:10,color5M2:10,color6M2:10,color7M2:10,color8M2:10);
  350.                       writeln('marca 3',mod1M3:10,mod2M3:10,mod3M3:10,'':19,color1M3:10,color2M3:10,color3M3:10,color4M3:10,color5M3:10,color6M3:10,color7M3:10,color8M3:10);
  351.                       writeln('marca 4',mod1M4:10,mod2M4:10,mod3M4:10,'':19,color1M4:10,color2M4:10,color3M4:10,color4M4:10,color5M4:10,color6M4:10,color7M4:10,color8M4:10);
  352.                  end;
  353.               leer_marca(marca,regMarca,finMarca)
  354.          end;
  355.  
  356. end;
  357.  
  358. begin
  359.      ingAlta(alta,regAlta);
  360.      ingSol(solic,regSol);
  361.      actualizar(alta,solic,solic_n);
  362.      motivo_x_rech(solic,alta,motivo);
  363.      armar_solic(marca,solic_n);
  364.      mostrar_motivo(motivo);
  365.      mostrar_sol(marca);
  366.      readkey
  367. end.
  368.  
  369.  
  370.  

15
Pascal / archivos se come el ultimo registro
« en: Jueves 3 de Febrero de 2011, 18:40 »
hola gente del foro necesito ayuda con este programa  se trata de actuakizar un archivo de socios de un club con sus respectivos pagos,esta hecho el programa
el unico problema es en el procedure actualizar actualiza bien pero se come el ultimo registro si alguien sabe y m pued ayudar muchas gracias !!!!!

AQUI EL CODIGO

program ing_archivo;
uses crt;

type
     tmes=1..12;
     tdeuda=array[tmes]of real;
     reg1=record
                cod:integer;
                nomape:string;
                dir:string;
                deuda:tdeuda
           end;
      reg2=record
                 cod:integer;
                 mes:tmes;
                 monto:real
           end;


      tsocio=file of reg1;
      tpago=file of reg2;


var

    socio:tsocio;rsoc:reg1;
    pago:tpago;rpago:reg2;
    socion:tsocio;tecla:string;

procedure ingrsoc(var socio:tsocio;var rsoc:reg1);
var
   tecla:char;
   i:tmes;


   begin
      assign(socio,'c:userstomassocio.dat');
      rewrite(socio);
      writeln('ingresa datos al archivo socios(s/n)' );
      readln(tecla);
      while(tecla='s')do
        begin
             writeln('ingrese cod soc');readln(rsoc.cod);
             writeln('ingrese nom apell');readln(rsoc.nomape);
             writeln('ingrese dir');readln(rsoc.dir);
             for i :=1 to 12do
               begin
                   writeln('ingrese deuda mes',i);
                   readln(rsoc.deuda)
               end;
             write(socio,rsoc);
             writeln('ingresa mas datos  (s/n)' );
             readln(tecla)
        end;
       close(socio)
end;

procedure ingpago(var pago:tpago;var rpago:reg2);

var
    tecla:char;
begin
     assign(pago,'c:userstomaspago.dat');
     rewrite(pago);
     writeln('ingresa datos al archivo pagos(s/n)');
     readln(tecla);
     while(tecla='s')do
       begin
            writeln('ingrese cod soc');readln(rpago.cod);
            writeln('ingrese mes abonado');readln(rpago.mes);
            writeln('ingrese monto');readln(rpago.monto);
            write(pago,rpago);
            writeln('ingresa mas datos (s/n)');readln(tecla)
       end;
      close(pago)
end;

procedure actualizar(var socio:tsocio;var pago:tpago;var socion:tsocio);
var
    rsoc,rnew:reg1;
    rpago:reg2;cuenta:word;
begin
     clrscr;cuenta:=0;
     assign(socio,'c:userstomassocio.dat');assign(pago,'c:userstomaspago.dat');assign(socion,'c:userstomassocion.dat');
     reset(socio);reset(pago);rewrite(socion);
      read(socio,rsoc);read(pago,rpago);
     while(not(eof(socio)))and(not(eof(pago)))do
        begin

             if rsoc.cod=rpago.cod then
                begin
                     rnew:=rsoc;
                     rnew.deuda[rpago.mes]:=0;
                     write(socion,rnew);inc(cuenta);
                     read(socio,rsoc);
                     read(pago,rpago)
                end

      end;
      writeln('se ingresaron',cuenta,'registros');
      close(socio);
      close(pago);
      close(socion)

end;
function suma(vector:tdeuda):real;
var
   i:tmes;
   aux:real;
begin
     aux:=0;
     for i:=1to 12do
       aux:=aux+vector;
     suma:=aux
end;
procedure leer_socion(var socion:tsocio);

var
   rsoc:reg1;i:tmes;cuenta:word;
begin
      cuenta:=0;
      writeln('codigo socio':10,'   nombre apellido,':10,'direccion':10);
      assign(socion,'c:userstomassocion.dat');  reset(socion);

      while(not eof(socion))do
        begin
             read(socion,rsoc);
             writeln(  rsoc.cod:10,'    ',rsoc.nomape:10,'    ',rsoc.dir:10);
             writeln('deuda');
             for i:=1 to 12do
                writeln('mes  ',i,rsoc.deuda:10:2);
             inc(cuenta)
        end;
      close(socion);write('leeyeron',cuenta);
      writeln()
end;
procedure mostrar_deuda(var socion:tsocio);

var
   rsoc:reg1;i:tmes;cuenta:word;
begin
      writeln('socios que poseem deuda:');
      assign(socion,'c:userstomassocion.dat');  reset(socion);
      cuenta:=0;
      while(not eof(socion))do
        begin
            read(socion,rsoc);
            if suma(rsoc.deuda)<>0 then
               writeln(rsoc.cod:10,rsoc.nomape:10,suma(rsoc.deuda):10:2);
            inc(cuenta)
        end;
      close(socion);writeln('se leyeron',cuenta,'registros');
      writeln()
end;
procedure opcion(var tecla:string);

begin
     writeln('desea ingresar actualizar o leer');
     writeln('si quiere ingresar presione ing,si quiere actualizar act o si quiere leer presione leer');
     read(tecla);
     if tecla='ing'then
       begin
            ingrsoc(socio,rsoc);
            ingpago(pago,rpago)
       end
     else
         if tecla='act'then
            actualizar(socio,pago,socion)
         else
             if tecla='leer'then
               begin
                   leer_socion(socion) ;
                   mostrar_deuda(socion)
               end

end;

begin
     clrscr;
     opcion(tecla);
     readkey
end.

16
Pascal / ej con archivos
« en: Viernes 28 de Enero de 2011, 20:57 »
HOLA GENTE DEL FORO ESTOY PRACTICANDO EJERCICIOS CON ARCHIVOS Y SOY NUEVO EN ESTO PERO DENTRO DE TODO VOY BIEN HASTA AHORA NECESITO SI ME PUEDEN AYUDAR
EL PROBLEMA ES UN CLUB POSEE DOS ARCHIVOS SECUENCIALES SOCIOS.DAT Y OTRO PAGOS .DAT HAY Q ACTUALIZAR EL DE SOCIOS.DAT CON LOS DATOS DE PAGOS.DAT
HICE EL PROGRAMA PERO TNGO UN PROBLEMA POR LO Q VI EN EL     PROCEDURE ACT() ES HAY Q AL EJECUTARLO QEDA TILDADO EL PROGRAMA
BUSQE D MIL MANERAS PERO NO LOGRO VER EL PROBLEMA SI ME AYUDAN LO AGRADECERE MUCHO!!!!



AQUI EL CODIGO


program archivos;

uses crt;


     
type
     tmes=1..12;
     tdeuda=array[tmes]of real;
     reg1=record
                cod:integer;
                nomape:string;
                dir:string;
                deuda:tdeuda
           end;
      reg2=record
                 cod:integer;
                 mes:tmes;
                 monto:real
           end;
      reg3=record
                 cod:integer;
                 nomape:string;
                 totdeuda:real
           end;
      tsocio=file of reg1;
      tpago=file of reg2;
      tmoroso=file of reg3;

var

    socio:tsocio;rsoc:reg1;
    pago:tpago;rpago:reg2;
    moroso:tmoroso;rmoroso:reg3;
    socion:tsocio;

procedure ingrsoc(var socio:tsocio;var rsoc:reg1);
var
   tecla:char;
   i:tmes;

begin
      assign(socio,'c:archivospascalsocio.dat');
      rewrite(socio);
      writeln('ingresa datos al archivo socios(s/n)' );
      readln(tecla);
      while(tecla='s')do
        begin
             writeln('ingrese cod soc');readln(rsoc.cod);
             writeln('ingrese nom apell');readln(rsoc.nomape);
             writeln('ingrese dir');readln(rsoc.dir);
             for i :=1 to 12do
               begin
                   writeln('ingrese deuda mes',i);
                   readln(rsoc.deuda)
               end;
             write(socio,rsoc);
             writeln('ingresa mas datos  (s/n)' );
             readln(tecla)
        end;
       close(socio)
end;

procedure ingpago(var pago:tpago;var rpago:reg2);

var
    tecla:char;
begin
     assign(pago,'c:archivospascalpago.dat');
     rewrite(pago);
     writeln('ingresa datos al archivo pagos(s/n)');
     readln(tecla);
     while(tecla='s')do
       begin
            writeln('ingrese cod soc');readln(rpago.cod);
            writeln('ingrese mes abonado');readln(rpago.mes);
            writeln('ingrese monto');readln(rpago.monto);
            write(pago,rpago);
            writeln('ingresa mas datos (s/n)');readln(tecla)
       end;
      close(pago)
end;

procedure act(var socio:tsocio;var pago:tpago;var socion:tsocio);

var
   rsoc:reg1;
   rpago:reg2;

begin
     assign(socio,'c:archivospascalsocio.dat');
     assign(pago,'c:archivospascalpago.dat');
     assign(socion,'c:archivospascalsocion.dat');
     reset(socio);
     reset(pago);
     rewrite(socion);
     read(socio,rsoc);
     read(pago,rpago);
     while(not eof(socio))or(not eof(pago))do

          begin

                if rsoc.cod=rpago.cod then
                   begin
                        rsoc.deuda[rpago.mes]:=0;
                        write(socion,rsoc);
                        read(socio,rsoc);
                        read(pago,rpago)
                    end
                 else

                     if rsoc.cod<rpago.cod then
                        read(socio,rsoc)

                      else
                           read(pago,rpago)



          end;

      close(socio);
      close(pago);
      close(socion)


end;
function suma(vector:tdeuda):real;

var
   i:tmes;
   aux:real;

begin
     suma:=0;
     for i :=1 to 12 do
        aux:=vector+aux;

     suma:=aux

end;

procedure  morosos(var socion:tsocio;var moroso:tmoroso);

var
    rsoc:reg1;
    rmoroso:reg3;



begin
       assign(socion,'c:archivospascalsocion.dat');
       assign(moroso,'c:archivospascalmoroso.dat');
       reset(socion);
       rewrite(moroso);
       read(socion,rsoc);
       while(rsoc.cod<=clave_max)do

            begin
                 rmoroso.cod:=rsoc.cod;
                 rmoroso.nomape:=rsoc.nomape;
                 rmoroso.totdeuda:=suma(rsoc.deuda);
                 write(moroso,rmoroso);
                 read(socion,rsoc)

             end;

        close(socion);
        close(moroso)

end;
procedure mostrar_moroso(var moroso:tmoroso);

var
    rmorso:reg3;
begin
     assign(moroso,'c:archivospascalmoroso.dat');
     reset(moroso);
     read(moroso,rmoroso);
     while(not(eof(moroso)))do
        begin
             if rmoroso.totdeuda<>0 then
               writeln(rmoroso.cod:5,rmoroso.nomape:5,rmoroso.totdeuda:10:2);
             read(moroso,rmoroso)
        end;
     close(moroso)
end;

begin//bloqe ppal.//
     clrscr;
     ingrsoc( socio, rsoc);
     ingpago(pago,rpago);
     act(socio,pago,socion);
     morosos(socion,moroso);
     mostrar_moroso(moroso);
     readkey
end.

17
Pascal / ej con archivos
« en: Miércoles 26 de Enero de 2011, 00:30 »
buenas gent espero m ayudn estoy practicando sigo bah...estoy con el tema de archivos todo va bien hasta q el progrrama llega a ejecutar el procedure actual() hay qda muerto el programa..ah! el programa es una aplicacion para llevar 1 registro de entrega de medicacion y en algun momento se debe actualizar el archivo el problema esta maas q nada en  la part de actualizacion adjunto el programa
si alguien m pued ayudar lo agradecere

18
Pascal / sacar notacion cientifica a reales
« en: Lunes 17 de Enero de 2011, 18:27 »
buenas gente alguien sabe como sacar la notacion cientifica al usar numeros reales ?????
o sea que al escribir 9000 salga por pantalla 9000.0 y no 9.0 E 002 ...
se agradece la ayuda !!

19
Pascal / EJERCICIO SOBRE VCTORES
« en: Sábado 8 de Enero de 2011, 16:20 »
BUEN DIA GNT DEL FORO NECESITO AYUDA CON ESTE PEDAZO DEL ALGORITMO AL INGRESAR EN CICLO WHILE QEDA TILDADO SUSPENDIDO EL PROGRAMA

program max_min;
 uses crt;
 const
      ini=1;
      max=100;

 type
     tnum=integer;
     trango=ini..max;
     tvector=array[trango]of tnum;

 var
     vector:tvector;
     ulpos:tnum;

procedure ingresar(var vector:tvector; var ulpos:tnum);



begin
     ulpos:=ini;
     writeln('ingrese');
     read(vector[ulpos]);
     while(ulpos <= max)and(vector[ulpos] <> 0) do;

         begin
              inc(ulpos);
              writeln('inrese');
              read(vector[ulpos])
         end;

     if vector[ulpos] = 0 then
        dec(ulpos)

end;

begin

     ingresar(vector,ulpos);
     readkey

end.
DESDE YA MUCHAS GRACIAS
Citar

20
Pascal / procedure recursivo para obtener division y resto entero
« en: Miércoles 24 de Noviembre de 2010, 18:36 »
hola gente del foro soi nuevo en el tema de la programacion y necesito 1 poco de su ayuda
requiero hacer un procedure recursivo para obtener el resto y la division (enteros) por restas sucesivas
yo pense en lo sgte pero me da error de segmentacion

procedure div_resto(a:tnum;b:tnum;s:tnum)


begin
                                           if a >= b
                                                                              then
                                                                                    begin
                                                                                                                      a:=a-b;
                                                                                                                      inc(s)
                                                                                     end;
                                            div_resto(a-b,b,s+1)

 end;

el tipo tnum es de tipo integer probe con cambiarlo con smallint pero sigue tirando segmentation fault
si alguien puede ayudarme lo agradeceria mucho !!!!!!
saludos
pd:el codigo de un posible programa es el que sigue[attachment=0:1zvsqi2j]divission.txt[/attachment:1zvsqi2j]

Páginas: [1]