Al cerrar un archivo que no ha sido guardado o si el código ha tenido modificaciones muestra algunas veces la ruta completa en el título de la ventana emergente, el cual no permite identificar el nombre del archivo que se está guardando, otras veces muestra en el título "wxPseInt.exe"
2: Al guardar un archivo no está colocando en el campo del nombre del algoritmo/proceso, en versiones anteriores lo efectuaba.
2.1 para el control de versiones que realiza el estudiante al guardar como tomar como base el nombre actual del algoritmo/proceso
3: El panel de 'Resultados' y 'ayuda de Acerca del error', deben actualizarse en cada corrida o ejecución nueva, muchas veces queda en estos paneles, los mensajes de corridas anteriores
por ejemplo
ProcesotestPseint2023escribir"Bienvenidos a PseInt 2023";abc;FinProceso
Muestra
ERROR 106: Instrucción no válida.
La instrucción de esta línea no se reconoce como una instrucción válida. Puede haber errores de tipeo.
Verifique que la palabra clave este escrita correctamente.
Si es una asignación recuerde utilizar el operador "<-" (o alternativamente el operador = si su perfil de lenguaje lo permite).
Al eliminar la siguiente sentencia
abc;
el mensaje anterior prevalece, el cual no debe ser así.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Anonymous
Anonymous
-
2023-05-22
Al definir un subproceso sin argumentos genera un error
Procesofuncion_principalEscribir"Bienvenidos a PseInt "sinsaltar;funcion_secundaria();Escribir"";FinProcesoSubProcesofuncion_secundaria()Escribir"2023";FinSubProceso
ERROR 247: Falta nombre de argumento.
Si se elimina el paréntesis opera
Procesofuncion_principalEscribir"Bienvenidos a PseInt "sinsaltar;funcion_secundaria;Escribir"";FinProcesoSubProcesofuncion_secundariaEscribir"2023";FinSubProceso
RQ: para dar uniformidad a la definición de funciones, la función principal debería aceptar paréntesis, asi no tome argumentos. Los estudiantes, me preguntan siempre en cada curso, por que si un subproceso o función secundaria no requiere de argumentos se puede o no colocar un par de paréntesis de apertura y de cierre y porque no es igual en la función principal, esto les genera en su pensamiento una disrupción de conceptos y en la practica la función principal en algunos lenguajes si aceptan argumentos, el mismo C++ lo hace, otro lenguaje es Matlab, PASCAL, etc, además en pseint al predefinir una entrada debería hacerse por paso de argumentos y no por caja de dialogo
Procesofuncion_principal()Escribir"Bienvenidos a PseInt "sinsaltar;funcion_secundaria();Escribir"";FinProcesoSubProcesofuncion_secundaria()Escribir"2023";FinSubProceso
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Anonymous
Anonymous
-
2023-05-23
nuevamente hay problemas al correr paso a paso un algoritmo en win10 64 bits
Lo que si veo es que aun no esta definido en la conversión a otros lenguajes, acá se necesitan colaboradores, esto es el código anterior como se porta a C, C++ C# etc, porque yo nunca he hecho en un lenguaje formal.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Anonymous
Anonymous
-
2023-05-24
Hola
Al abrir un archivo, y si luego se abre nuevamente el mismo archivo se coloca en una nueva pestaña, el cual no se debe hacer. Al ejecutar el algoritmo muestra el siguiente mensaje
File 'C:\Users\user-name\pseint\temp_2.out' couldn't be removed (error 32: El proceso no tiene acceso al archivo porque está siendo utilizado por otro proceso.)
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Anonymous
Anonymous
-
2023-05-24
hola al convertir a C++, la función SubCadena en algunos casos al calcular el numero de elementos a subtraer llega a una expresión como --2 que en c++ es decremento
#include<iostream>usingnamespacestd;intmain(){intpos1;intpos2;pos1=0;pos2=2;cout<<string("hola").substr(pos1,pos2-pos1+1)<<endl;cout<<string("hola").substr(0,2-(-1))<<endl;// aca esta el errorreturn0;}
seria excelente si se portara como función
~~~
# include<iostream>
using namepace std;</iostream>
string SubCadena( string s, int posicion1, int posicion2 );
int main() {
int pos1;
int pos2;
pos1 = 0;
pos2 = 2;
cout << string("hola").substr(pos1, pos2-pos1+1) << endl;
cout << string("hola").substr(0, 2--1) << endl; // acá esta el problema cout << string("hola").substr(0, 2-(-1)) << endl;
string s, s1;
s = "hola";
s1 = SubCadena( s, 0, 2 ); // INVOKA A LA FUNCION
cout << s1 << endl;
return 0;
}
// Por favor incluir en el port la siguiente función
string SubCadena( string s, int posicion1, int posicion2 ){
return string(s).substr(posicion1, (posicion2-posicion1)+1 );
}
~~~
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Anonymous
Anonymous
-
2023-05-28
Hola
A: Al pasar al panel grafico, algunas veces la instrucción SIN SALTAR, se une a una instrucción anterior, por ej.
Escribir mensaje Sin Saltar;
=>
Escribir mensajeSin Saltar;
B: Cuando se edita el diagrama de flujo, los comentarios se desfazan dos sentancias abajo.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Anonymous
Anonymous
-
2023-05-28
Al ejecutar un algoritmo y luego pulsar ejecución paso a paso, se abre una segunda consola, pienso que se debe cerrar la actual y ejecutar una nueva consola pero paso a paso
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Anonymous
Anonymous
-
2023-05-30
Hola, algunos de los problemas detectados se presentan en códigos bastantes largos, en los cortos casi no
por ejp.
SubAlgoritmomodoBanco(flag_salir_menu_principalporreferencia,arreglo_clientes_zonasporreferencia,arreglo_zonasporreferencia,arreglo_clientesporreferencia,num_clientes_maximo,num_zonas_maximo,numCuentaporreferencia)DefinirTABULACION3ComoCadena;TABULACION3<-' ';Escribir('');DefinirmensajeComoCadena;mensaje<-TABULACION3+'» ENTRANDO EN MODO BANCO';Escribir(mensaje);Esperar1000Milisegundos;Definirmenu_zona_bancaria,menu_operaciones_banco,menu_seleccion_clienteComoCadena;Definirmenu_zona_bancaria_int,menu_operaciones_banco_int,menu_seleccion_cliente_intComoEntero;Definirtest_menuComoLogico;Definirzona_actual,cliente_actual,num_clientes_zonaComoEntero;Definirflag_salir_menu_operBanco,flag_salir_menu_zonaComoLogico;Definirdata_pag1_numCuenta,data_pag2_nombres,data_pag3_telefonos,data_pag4_emailComoEntero;data_pag1_numCuenta<-0;data_pag2_nombres<-1;data_pag3_telefonos<-2;data_pag4_email<-3;flag_salir_menu_zona<-Falso;Mientras(flag_salir_menu_zona==Falso)Hacertest_menu<-Falso;RepetirLimpiarPantalla;Esperar200Milisegundos;Si(test_menu==Verdadero)EntoncesEscribir('Opción ['+(menu_zona_bancaria)+'] no disponible, vuelva a intentarlo');Escribir('');FinSimensaje<-'+ MODO BANCO ¿En qué zona de Colombia desea registrar clientes?';Escribir(mensaje);mensaje<-TABULACION3+'Pulse [0]: Regresar menu Principal.';Parazona_actual<-0Hastanum_zonas_maximo-1Hacermensaje<-mensaje+' ['+ConvertirATexto(zona_actual+1)+']: '+arreglo_zonas[zona_actual]+'. ';FinParamensaje<-mensaje+" >";EscribirmensajeSinSaltar;Leermenu_zona_bancaria;test_menu<-validar_numero_entero(menu_zona_bancaria);Si(test_menu==Verdadero)Entoncesmenu_zona_bancaria_int<-ConvertirANumero(menu_zona_bancaria);test_menu<-((menu_zona_bancaria_int<0)O(menu_zona_bancaria_int>num_zonas_maximo));SiNo//almacenafalsosiesmenúvalidotest_menu<-Verdadero;FinSiMientrasQue(test_menu==Verdadero)Si(menu_zona_bancaria_int==0)EntoncesEscribirTABULACION3+'Regresando a Menu Principal.';flag_salir_menu_zona<-Verdadero;SiNoEscribir('');mensaje<-TABULACION3+'« CONSULTADO ZONA '+getZona(arreglo_zonas,menu_zona_bancaria_int);Escribir(mensaje);Esperar1500Milisegundos;flag_salir_menu_operBanco<-Falso;Mientras(flag_salir_menu_operBanco==Falso)Hacer//MENUDEOPCIONESDELBANCOLimpiarPantalla;Esperar200Milisegundos;test_menu<-Falso;RepetirLimpiarPantalla;Esperar200Milisegundos;Si(test_menu==Verdadero)EntoncesEscribir('Opción ['+(menu_operaciones_banco)+'] no disponible, vuelva a intentarlo');Escribir('');FinSimensaje<-'+ MODO: BANCO. Zona: '+getZona(arreglo_zonas,menu_zona_bancaria_int)+' ¿Qué operación desea efectuar?';Escribir(mensaje);mensaje<-TABULACION3+'[0]: Regresar a Zonas Bancarias. Pulse [1]: Registrar Cliente. [2]: Mostrar o cambiar información del Cliente. [3]: Mostrar información de Clientes entre zonas.>';EscribirmensajeSinSaltar;Leermenu_operaciones_banco;test_menu<-validar_numero_entero(menu_operaciones_banco);Si(test_menu==Verdadero)Entoncesmenu_operaciones_banco_int<-ConvertirANumero(menu_operaciones_banco);test_menu<-((menu_operaciones_banco_int<0)O(menu_operaciones_banco_int>3));SiNotest_menu<-Verdadero;FinSiMientrasQue(test_menu==Verdadero)Segun(menu_operaciones_banco_int)Hacer0:flag_salir_menu_operBanco<-Verdadero;1:registroCliente(menu_zona_bancaria_int,arreglo_clientes_zonas,arreglo_zonas,arreglo_clientes,num_clientes_maximo,numCuenta);2:modificarCliente(menu_zona_bancaria_int,arreglo_clientes_zonas,arreglo_zonas,arreglo_clientes);//RegistrodeClientes3:mostrarClientes(arreglo_clientes_zonas,arreglo_zonas,num_clientes_maximo,num_zonas_maximo);FinSegunFinMientrasFinSiFinMientrasFinSubAlgoritmoSubAlgoritmomostrarClientes(arreglo_clientes_zonas,arreglo_zonas,num_clientes_maximo,num_zonas_maximo)DefinirTABULACION3ComoCadena;TABULACION3<-' ';Definirzona_actualComoEntero;DefinirmensajeComoCadena;Escribir'';mensaje<-' » OPERACIÓN: CONSULTAR INFO CLIENTES POR ZONA';Escribir(mensaje);Esperar1000Milisegundos;mensaje<-' » TOTAL CLIENTES POR ZONA:';Escribir(mensaje);Esperar100Milisegundos;Parazona_actual<-1Hastanum_zonas_maximoHacermensaje<-' Zona '+getZona(arreglo_zonas,zona_actual)+': '+ConvertirATexto(arreglo_clientes_zonas[zona_actual-1])+' cliente(s) encontrado(s).';Escribir(mensaje);FinParaEscribir(' ');EscribirTABULACION3+'« CONSULTA SATISFACTORIA.';Esperar100Milisegundos;EscribirTABULACION3+'» PULSE LA PANTALLA/[TECLA] PARA CONTINUAR. >';EsperarTecla;FinSubAlgoritmoSubAlgoritmomodificarCliente(zona_actual,arreglo_clientes_zonas,arreglo_zonas,arreglo_clientes)DefinirTABULACION3ComoCadena;TABULACION3<-' ';Definircliente_actual,num_clientes_zonaComoEntero;Definirtest_menuComoLogico;Definirdata_pag1_numCuenta,data_pag2_nombres,data_pag3_telefonos,data_pag4_emailComoEntero;data_pag1_numCuenta<-0;data_pag2_nombres<-1;data_pag3_telefonos<-2;data_pag4_email<-3;Definirmenu_zona_bancaria,menu_operaciones_banco,menu_seleccion_clienteComoCadena;Definirmenu_zona_bancaria_int,menu_operaciones_banco_int,menu_seleccion_cliente_intComoEntero;DefinirmensajeComoCadena;Escribir'';mensaje<-TABULACION3+'» OPERACIÓN: CONSULTAR INFO CLIENTE, ZONA '+getZona(arreglo_zonas,zona_actual);Escribir(mensaje);num_clientes_zona<-get_NumClientesZonas(arreglo_clientes_zonas,zona_actual);Esperar100Milisegundos;Si(num_clientes_zona==0)Entoncesmensaje<-TABULACION3+'« En la Zona '+getZona(arreglo_zonas,zona_actual)+'. NO HAY CLIENTES REGISTRADOS.';Escribir(mensaje);Esperar100Milisegundos;SiNoEscribir('');mensaje<-TABULACION3+'« En la Zona '+getZona(arreglo_zonas,zona_actual)+'. Se encontró '+ConvertirATexto(num_clientes_zona)+' cliente(s).';Escribir(mensaje);test_menu<-Falso;RepetirSi(test_menu==Verdadero)EntoncesEscribir(TABULACION3+'« Opción ['+(menu_seleccion_cliente)+'] no disponible, vuelva a intentarlo');Escribir('');FinSimensaje<-TABULACION3+'» SELECCIONE EL NUMERO DEL CLIENTE A CONSULTAR';Escribir(mensaje);Paracliente_actual<-0Hastanum_clientes_zona-1Hacermensaje<-TABULACION3+'» Cliente # ['+ConvertirATexto(cliente_actual+1)+']: '+arreglo_clientes[zona_actual-1,cliente_actual,1];Escribir(mensaje);FinParaEscribirTABULACION3+'» Salir: [0]';EscribirTABULACION3+'>'SinSaltar;Leermenu_seleccion_cliente;test_menu<-validar_numero_entero(menu_seleccion_cliente);Si(test_menu==Verdadero)Entoncesmenu_seleccion_cliente_int<-ConvertirANumero(menu_seleccion_cliente);test_menu<-((menu_seleccion_cliente_int<0)O(menu_seleccion_cliente_int>num_clientes_zona));SiNotest_menu<-Verdadero;FinSiMientrasQue(test_menu==Verdadero)Si(menu_seleccion_cliente_int<>0)Entoncesmensaje<-TABULACION3+'××× Consultando en la BD, posicion'+' (Zona#'+ConvertirATexto(zona_actual)+', Cliente#'+ConvertirATexto(menu_seleccion_cliente_int)+', Cuenta: pag#1)';Escribir(mensaje);mensaje<-TABULACION3+'Cuenta del Cliente # '+arreglo_clientes[zona_actual-1,menu_seleccion_cliente_int-1,data_pag1_numCuenta];Escribir(mensaje);Escribir(' ');mensaje<-TABULACION3+'××× Consultando en la BD, posicion'+' (Zona#'+ConvertirATexto(zona_actual)+', Cliente#'+ConvertirATexto(menu_seleccion_cliente_int)+', Nombre: pag#2)';Escribir(mensaje);mensaje<-TABULACION3+'Nombre del Cliente: '+arreglo_clientes[zona_actual-1,menu_seleccion_cliente_int-1,data_pag2_nombres];Escribir(mensaje);Escribir(' ');mensaje<-TABULACION3+'××× Consultando en la BD, posicion'+' (Zona#'+ConvertirATexto(zona_actual)+', Cliente#'+ConvertirATexto(menu_seleccion_cliente_int)+', Telefonos: pag#3)';Escribir(mensaje);mensaje<-TABULACION3+'Telefonos del Cliente: '+arreglo_clientes[zona_actual-1,menu_seleccion_cliente_int-1,data_pag3_telefonos];Escribir(mensaje);Escribir(' ');mensaje<-TABULACION3+'××× Consultando en la BD, posicion'+' (Zona#'+ConvertirATexto(zona_actual)+', Cliente#'+ConvertirATexto(menu_seleccion_cliente_int)+', Correo: pag#4)';Escribir(mensaje);mensaje<-TABULACION3+'Correo del Cliente: '+arreglo_clientes[zona_actual-1,menu_seleccion_cliente_int-1,data_pag4_email];Escribir(mensaje);Escribir(' ');FinSiFinSiEscribir(' ');EscribirTABULACION3+'« CONSULTA SATISFACTORIA.';Esperar100Milisegundos;EscribirTABULACION3+'» PULSE LA PANTALLA/[TECLA] PARA CONTINUAR. >';EsperarTecla;FinSubAlgoritmoSubAlgoritmocadena_texto_out<-f_eliminarEspacios(cadena_texto_in)Definirindice_cadena,long_cadena,pos_caracterComoEntero;Definircadena_texto_out,car_consecutivo,parteLeft,parteRightComoCadena;cadena_texto_out<-cadena_texto_in;long_cadena<-Longitud(cadena_texto_out);Paraindice_cadena<-0Hastalong_cadena-1Hacerpos_caracter<-f_posicion_car(cadena_texto_out,' ');Si(pos_caracter>0)Entoncescar_consecutivo<-SubCadena(cadena_texto_out,pos_caracter,pos_caracter);//Escribir"-"+car_consecutivo+"-";Si(car_consecutivo=' ')EntoncesparteLeft<-SubCadena(cadena_texto_out,0,pos_caracter-2);//Escribir"p-"+parteLeft+"-";parteRight<-SubCadena(cadena_texto_out,pos_caracter+1,Longitud(cadena_texto_out));//Escribir"s-"+parteRight+"-";cadena_texto_out<-parteLeft+parteRight;long_cadena<-Longitud(cadena_texto_out);SiNoparteLeft<-SubCadena(cadena_texto_out,0,pos_caracter-2);//Escribir"p-"+parteLeft+"-";parteRight<-SubCadena(cadena_texto_out,pos_caracter,Longitud(cadena_texto_out));//Escribir"s-"+parteRight+"-";cadena_texto_out<-parteLeft+parteRight;long_cadena<-Longitud(cadena_texto_out);FinSiSiNoindice_cadena<-long_cadena+10;FinSiFinParaFinSubAlgoritmoSubAlgoritmozona_str<-getZona(arreglo_zonas,zona_num)Definirzona_strComoCadena;zona_str<-arreglo_zonas[zona_num-1];FinSubAlgoritmoSubAlgoritmonum_clientes_zona<-get_NumClientesZonas(arreglo_clientes_zonasporreferencia,zona_actual)Definirnum_clientes_zonaComoEntero;num_clientes_zona<-arreglo_clientes_zonas[zona_actual-1];FinSubAlgoritmoSubAlgoritmoincrementar_cliente_zona(arreglo_clientes_zonasporreferencia,zona_actual,cliente_num)arreglo_clientes_zonas[zona_actual-1]<-cliente_num;FinSubAlgoritmoSubAlgoritmosuma_clientes_zonas<-get_SumaClientesZonas(arreglo_clientes_zonasporreferencia,num_zonas_maximo)Definirsuma_clientes_zonas,zona_actual,num_clientes_zonaComoEntero;suma_clientes_zonas<-0;Parazona_actual<-1Hastanum_zonas_maximoHacernum_clientes_zona<-arreglo_clientes_zonas[zona_actual-1];suma_clientes_zonas<-suma_clientes_zonas+num_clientes_zona;FinParaFinSubAlgoritmoSubAlgoritmoregistroCliente(zona_actual,arreglo_clientes_zonasporreferencia,arreglo_zonasporreferencia,arreglo_clientesporreferencia,num_clientes_maximo,numCuentaporreferencia)DefinirTABULACION3ComoCadena;TABULACION3<-' ';Definirmensaje,nombre_cliente,numero_telefono,correoComoCadena;Escribir('');DefinirFila1,Fila2,Columna1,Columna2,Columna3ComoEntero;Definirdata_pag1_numCuenta,data_pag2_nombres,data_pag3_telefonos,data_pag4_emailComoEntero;data_pag1_numCuenta<-0;data_pag2_nombres<-1;data_pag3_telefonos<-2;data_pag4_email<-3;Definiroperador_telefonos_arrComoCadena;Dimensionaroperador_telefonos_arr(2,3);//Fila1paracelulares,/Fila2parafijosFila1<-0;Fila2<-1;Columna1<-0;Columna2<-1;Columna3<-2;operador_telefonos_arr[Fila1,Columna1]<-'300';operador_telefonos_arr[Fila1,Columna2]<-'310';operador_telefonos_arr[Fila1,Columna3]<-'320';operador_telefonos_arr[Fila2,Columna1]<-'250';operador_telefonos_arr[Fila2,Columna2]<-'260';operador_telefonos_arr[Fila2,Columna3]<-'-';Definirtest_menuComoLogico;Definirmenu_auxComoEntero;Definirmenu_telefono,lista_telefonosComoCadena;Definirmenu_telefono_int,num_operadores,tipo_celular,num_digitosComoEntero;mensaje<-TABULACION3+'« OPERACIÓN: INSERTAR CLIENTE, ZONA '+getZona(arreglo_zonas,zona_actual);Escribir(mensaje);Definirnum_clientes_zonaComoEntero;num_clientes_zona<-get_NumClientesZonas(arreglo_clientes_zonas,zona_actual);//INCREMENTARNUMERODECLIENTEEscribir(TABULACION3+'» El numero de clientes encontrados actualmente en la zona son: '+ConvertirATexto(num_clientes_zona)+' cliente(s)');Si(num_clientes_zona<num_clientes_maximo)Entoncesnum_clientes_zona<-num_clientes_zona+1;numCuenta<-numCuenta+1;incrementar_cliente_zona(arreglo_clientes_zonas,zona_actual,num_clientes_zona);mensaje<-TABULACION3+'××× INSERCCION DE CLIENTE en la BD, posicion'+' ('+ConvertirATexto(zona_actual)+','+ConvertirATexto(num_clientes_zona)+')';Escribir(mensaje);mensaje<-TABULACION3+'» POR FAVOR REGISTRE LOS DATOS DEL CLIENTE';Escribir(mensaje);Escribir('');Esperar200Milisegundos;mensaje<-TABULACION3+'» NOMBRE DE CLIENTE:';EscribirmensajeSinSaltar;nombre_cliente<-f_validar_nombre('');arreglo_clientes[zona_actual-1,num_clientes_zona-1,data_pag2_nombres]<-nombre_cliente;Escribir('');Esperar200Milisegundos;mensaje<-TABULACION3+'» CELULAR DEL CLIENTE:';Escribir(mensaje);lista_telefonos<-'';menu_aux<-1;RepetirSegun(menu_aux)Hacer0:test_menu<-Falso;1:test_menu<-Falso;RepetirSi(test_menu==Verdadero)EntoncesEscribir('Opción ['+(menu_telefono)+'] no disponible, vuelva a intentarlo');Escribir('');FinSimensaje<-TABULACION3+'+ Seleccione el telefono a registrar';Escribir(mensaje);mensaje<-TABULACION3+'Pulse [0]: No Registar. [1]: Celular. [2]: Fijo Casa. [3]: Fijo Oficina. >';EscribirmensajeSinSaltar;Leermenu_telefono;test_menu<-validar_numero_entero(menu_telefono);Si(test_menu==Verdadero)Entoncesmenu_telefono_int<-ConvertirANumero(menu_telefono);test_menu<-((menu_telefono_int<0)O(menu_telefono_int>3));SiNotest_menu<-Verdadero;FinSiMientrasQue(test_menu==Verdadero)Segun(menu_telefono_int)Hacer0:arreglo_clientes[zona_actual-1,num_clientes_zona-1,data_pag3_telefonos]<-'NULO';1:num_operadores<-3;tipo_celular<-1;num_digitos<-10;numero_telefono<-f_validar_celular(operador_telefonos_arr,tipo_celular,num_digitos,num_operadores);//Escribir"tel"+numero_telefono;Si(lista_telefonos=='')Entonceslista_telefonos<-numero_telefono;SiNolista_telefonos<-lista_telefonos+', '+numero_telefono;FinSiarreglo_clientes[zona_actual-1,num_clientes_zona-1,data_pag3_telefonos]<-lista_telefonos;2,3:num_operadores<-2;tipo_celular<-2;num_digitos<-5;numero_telefono<-f_validar_celular(operador_telefonos_arr,tipo_celular,num_digitos,num_operadores);Si(lista_telefonos=='')Entonceslista_telefonos<-numero_telefono;SiNolista_telefonos<-lista_telefonos+', '+numero_telefono;FinSiarreglo_clientes[zona_actual-1,num_clientes_zona-1,data_pag3_telefonos]<-lista_telefonos;//Escribir"tel"+numero_telefono;FinSegunSi(menu_telefono_int<>0)Entoncesmensaje<-TABULACION3+'DESEA REGISTAR OTRO NUMERO TELEFÓNICO';Escribirmensaje;mensaje<-TABULACION3+'[0]: Salir [1]: Registrar otro telefono. >';EscribirmensajeSinSaltar;Leermenu_telefono;test_menu<-validar_numero_entero(menu_telefono);Si(test_menu==Verdadero)Entoncesmenu_telefono_int<-ConvertirANumero(menu_telefono);test_menu<-((menu_telefono_int==0)O(menu_telefono_int==1));menu_aux<-menu_telefono_int;SiNotest_menu<-Verdadero;menu_aux<-0;FinSiFinSiFinSegunMientrasQue(test_menu==Verdadero)Escribir"";mensaje<-TABULACION3+'» E.MAIL DEL CLIENTE:';Escribirmensaje;mensaje<-TABULACION3+'» escriba el e.mail >';EscribirmensajeSinSaltar;correo<-validar_correo("");arreglo_clientes[zona_actual-1,num_clientes_zona-1,data_pag4_email]<-correo;//Escribir"";//mensaje<-TABULACION3+'» DIRECCION DEL CLIENTE:';//Escribirmensaje;arreglo_clientes[zona_actual-1,num_clientes_zona-1,data_pag1_numCuenta]<-ConvertirATexto(numCuenta);SiNomensaje<-' « NO SE PUEDE REGISTRAR EL CLIENTE, SUPERADO EL NUMERO DE CLIENTES EN ESTA ZONA: '+ConvertirATexto(num_clientes_maximo);Escribir(mensaje);FinSiEscribir(' ');EscribirTABULACION3+'« CONSULTA SATISFACTORIA.';Esperar100Milisegundos;EscribirTABULACION3+'» PULSE LA PANTALLA/[TECLA] PARA CONTINUAR. >';EsperarTecla;FinSubAlgoritmoSubAlgoritmomodoCajero(flag_salir_menu_principalporreferencia,arreglo_clientes_zonasporreferencia,num_zonas_maximo)DefinirTABULACION3ComoCadena;TABULACION3<-' ';Escribir('');DefinirmensajeComoCadena;Definirmenu_operacionComoCadena;Definirmenu_operacion_intComoEntero;Definirtest_menucomologico;mensaje<-TABULACION3+'« ENTRANDO EN MODO CAJERO ...';Escribir(mensaje);LimpiarPantalla;Esperar500Milisegundos;Definirsuma_clientes_zonasComoEntero;suma_clientes_zonas<-get_SumaClientesZonas(arreglo_clientes_zonas,num_zonas_maximo);Si(suma_clientes_zonas==0)Entoncesmensaje<-TABULACION3+'« No hay clientes para realizar operaciones.';Escribirmensaje;Esperar500Milisegundos;//flag_salir_menu_principal<-Falso;SiNotest_menu=Verdadero;Mientras(test_menu==Verdadero)mensaje=TABULACION3+"¿Qué transacción desea realizar?";Escribirmensaje;mensaje=TABULACION3+"Pulse [0]: Regresar. [1]: Colsulta de Saldo. [2]: Abono. [3]: Retiro. [4]: Trasferencia. [5]: Cambio de clave. [6]: Pago de servicios. >";EscribirmensajeSinSaltar;Leermenu_operacion;test_menu<-validar_numero_entero(menu_operacion);Si(test_menu==Verdadero)Entoncesmenu_operacion_int<-ConvertirANumero(menu_operacion);test_menu<-((menu_operacion_int<0)O(menu_operacion_int>6));SiNotest_menu<-Verdadero;FinSiFinMientrassegun(menu_operacion_int)0://NOP1:f_Colsulta_Saldo("");2:f_abono("");3:f_retiro("");4:f_transferencia("");5:f_cambio_clave("");6:f_pago_servicios("");FinSegunFinSiFinSubAlgoritmoSubAlgoritmof_Colsulta_Saldo(null)DefinirTABULACION3ComoCadena;TABULACION3<-' ';escribirTABULACION3;escribirTABULACION3+"funciones en construccion";EscribirTABULACION3+'» PULSE LA PANTALLA (TECLA) PARA CONTINUAR >';EsperarTecla;FinSubAlgoritmoSubAlgoritmof_abono(null)DefinirTABULACION3ComoCadena;TABULACION3<-' ';escribirTABULACION3;escribirTABULACION3+"funciones en construccion";EscribirTABULACION3+'» PULSE LA PANTALLA (TECLA) PARA CONTINUAR >';EsperarTecla;FinSubAlgoritmoSubAlgoritmof_retiro(null)DefinirTABULACION3ComoCadena;TABULACION3<-' ';escribirTABULACION3;escribirTABULACION3+"funciones en construccion";EscribirTABULACION3+'» PULSE LA PANTALLA (TECLA) PARA CONTINUAR >';EsperarTecla;FinSubAlgoritmoSubAlgoritmof_transferencia(null)DefinirTABULACION3ComoCadena;TABULACION3<-' ';escribirTABULACION3;escribirTABULACION3+"funciones en construccion";EscribirTABULACION3+'» PULSE LA PANTALLA (TECLA) PARA CONTINUAR >';EsperarTecla;FinSubAlgoritmoSubAlgoritmof_cambio_clave(null)DefinirTABULACION3ComoCadena;TABULACION3<-' ';escribirTABULACION3;escribirTABULACION3+"funciones en construccion";EscribirTABULACION3+'» PULSE LA PANTALLA (TECLA) PARA CONTINUAR >';EsperarTecla;FinSubAlgoritmoSubAlgoritmof_pago_servicios(null)DefinirTABULACION3ComoCadena;TABULACION3<-' ';escribirTABULACION3;escribirTABULACION3+"funciones en construccion";EscribirTABULACION3+'» PULSE LA PANTALLA (TECLA) PARA CONTINUAR >';EsperarTecla;FinSubAlgoritmoProcesof_main_proyecto_finalDefinirTABULACION3ComoCadena;TABULACION3<-' ';Definirmensaje,animacion_bancoComoCadena;animacion_banco<-TABULACION3+'÷ Animacion BanColombia ÷';//MENUDefinirflag_salir_menu_principal,test_menuComoLogico;flag_salir_menu_principal<-Falso;test_menu<-Falso;Definirmenu_banco_o_cajeroComoCadena;Definirmenu_banco_o_cajero_intComoEntero;//FINdeMenus//NÚMEROMÁXIMODECLIENTESYZONASDefinirnum_clientes_maximo,num_zonas_maximoComoEntero;num_clientes_maximo<-3;num_zonas_maximo<-4;//máximapoblacióndeclienteporzona,puededefinirlavariableporzona//FINnúmeromáximoclientesyzonas//ARREGLOS//ARREGLOUNIDIMENSIONALLISTADECLIENTESPORZONADefinirarreglo_clientes_zonasComoEntero;//máximonúmerodezonasDimensionararreglo_clientes_zonas(num_zonas_maximo);//Inicializarcon0clientesDefinirzona_actualComoEntero;//ParacadazonaDearreglo_clientes_zonasHacer//zona=0;//Cadazonacon0clientes//FinParaParazona_actual<-0Hastanum_zonas_maximo-1Hacerarreglo_clientes_zonas[zona_actual]<-0;FinPara//Cadazonacon0clientes//FINarreglounidimensionallistadeclientesporzona//ARREGLOUNIDENOMBRESDEZONADefinirarreglo_zonasComoCadena;Dimensionararreglo_zonas(num_zonas_maximo);arreglo_zonas[0]<-'Central';arreglo_zonas[1]<-'Cafetera';arreglo_zonas[2]<-'Atlántica';arreglo_zonas[3]<-'Pacifico';//arreglo_zonas[4]="NUEVA ZONA DISPONIBLE";//arreglo_zonas[5]="NUEVA ZONA DISPONIBLE";//FINarreglounidimensionalnombreszonanum_zonas_maximo<-4;Definirtotal_paginasComoEntero;total_paginas<-4;//PAGINASpagina#1:cliente_nombre,pagina#2:cliente_celular,pagina#3:cliente_cuenta,pagina#4:cliente_password;Definirarreglo_clientesComoCadena;//->"Pacifico"Dimensionararreglo_clientes(num_zonas_maximo,num_clientes_maximo,total_paginas);//FINARREGLOSDefinirnumCuentaComoEntero;numCuenta<-1000;Escribiranimacion_banco;Esperar1500Milisegundos;Mientras(flag_salir_menu_principal==Falso)Hacer//MENUPRINCIPALRepetirLimpiarPantalla;Esperar200Milisegundos;Si(test_menu==Verdadero)EntoncesEscribir('Opción ['+(menu_banco_o_cajero)+'] no disponible, vuelva a intentarlo');Escribir('');FinSimensaje<-'+ Seleccione Oficina Bancaria o Cajero Electrónico';Escribir(mensaje);mensaje<-TABULACION3+'Pulse [0]: Salir App. [1]: Banco.'+TABULACION3+'[2]: Cajero. >';EscribirmensajeSinSaltar;Leermenu_banco_o_cajero;test_menu<-validar_numero_entero(menu_banco_o_cajero);Si(test_menu==Verdadero)Entoncesmenu_banco_o_cajero_int<-ConvertirANumero(menu_banco_o_cajero);test_menu<-((menu_banco_o_cajero_int<0)O(menu_banco_o_cajero_int>2));SiNotest_menu<-Verdadero;FinSiMientrasQue(test_menu==Verdadero)Si(menu_banco_o_cajero_int==0)Entoncesflag_salir_menu_principal<-Verdadero;mensaje<-'+ Cerrando Aplicación de BanColombia';Escribir(mensaje);SinoSi(menu_banco_o_cajero_int==1)EntoncesmodoBanco(flag_salir_menu_principal,arreglo_clientes_zonas,arreglo_zonas,arreglo_clientes,num_clientes_maximo,num_zonas_maximo,numCuenta);SiNo//RepetirsiesverdaderoSi(menu_banco_o_cajero_int==2)EntoncesmodoCajero(flag_salir_menu_principal,arreglo_clientes_zonas,num_zonas_maximo);FinSiFinSiFinSiFinMientrasFinProcesoSubAlgoritmoemail<-validar_correo(NULO)DefinirTABULACION3ComoCadena;TABULACION3<-' ';DefinirmensajeComoCadena;Definircadena_valida_testComoLogico;Definirprefijo_cadena,sufijo_cadena,dominio,emailComoCadena;Definirposicion_caracter,posicion_caracter2,long_cadenaComoEntero;//VALIDARCORREOELECTRÓNICOcadena_valida_test<-Verdadero;mensaje<-TABULACION3+'>';RepetirSi(cadena_valida_test==Falso)EntoncesEscribir"";mensaje<-TABULACION3+'Escriba nuevamente el correo >';EscribirmensajeSinSaltar;FinSiLeeremail;//email="juan@gmail.com";posicion_caracter<-f_posicion_car(email,'@');//Escribirposicion_caracter;cadena_valida_test=(posicion_caracter>0);//@Si(cadena_valida_test==Falso)Entoncesmensaje<-TABULACION3+'No se encontró ´@´';Escribirmensaje;SiNoprefijo_cadena<-SubCadena(email,0,posicion_caracter-2);//pp@long_cadena<-Longitud(prefijo_cadena);//Extraeprimerapartecadena_valida_test=(long_cadena>1);//pp@Si(cadena_valida_test==Falso)Entoncesmensaje<-TABULACION3+'El prefijo del correo debe contener mas de 1 caracter: ´'+prefijo_cadena+'´';Escribirmensaje;SiNomensaje<-TABULACION3+'El prefijo del correo es ´'+prefijo_cadena+'´';Escribirmensaje;posicion_caracter2<-f_posicion_car(email,'.');//pp@.//Escribir"pos ."+ConvertirATexto(posicion_caracter2);cadena_valida_test=(posicion_caracter2>0);Si(cadena_valida_test==Falso)Entoncesmensaje<-TABULACION3+'No se encontró ´.´';Escribirmensaje;SiNosufijo_cadena<-SubCadena(email,posicion_caracter,posicion_caracter2-2);//pp@ss.//Escribirsufijo_cadena;long_cadena<-Longitud(sufijo_cadena);cadena_valida_test=(long_cadena>1);Si(cadena_valida_test==Falso)Entoncesmensaje<-TABULACION3+'El sufijo del correo debe contener mas de 1 caracter: ´'+sufijo_cadena+'´';//ExtraesegundaparteEscribirmensaje;SiNomensaje<-TABULACION3+'El sufijo del correo es ´'+sufijo_cadena+'´';Escribirmensaje;long_cadena<-Longitud(email);dominio<-SubCadena(email,posicion_caracter2,long_cadena);//.ddlong_cadena<-Longitud(dominio);cadena_valida_test=(long_cadena>1);Si(cadena_valida_test==Falso)Entoncesmensaje<-TABULACION3+'El dominio del correo debe contener mas de 1 caracter: ´'+dominio+'´';//ExtraesegundaparteEscribirmensaje;SiNomensaje<-TABULACION3+'El dominio del correo es: ´'+dominio+'´';Escribirmensaje;cadena_valida_test=(Minusculas(dominio)=='com'OMinusculas(dominio)=='co');Si(cadena_valida_test==Verdadero)Entoncesmensaje<-TABULACION3+'Dominio valido: ´'+dominio+'´. Correo valido ';Escribirmensaje;SiNomensaje<-TABULACION3+'Dominio invalido: ´'+dominio+'´';Escribirmensaje;FinSiFinSiFinSiFinSiFinSiFinSiMientrasQue(cadena_valida_test==Falso)FinSubAlgoritmoSubAlgoritmonum_telefono_str<-f_validar_celular(operador_arrporreferencia,tipo_celular,num_digitos,num_operadores)DefinirTABULACION3ComoCadena;TABULACION3<-' ';Definirmensaje,mensaje2ComoCadena;Definirnum_telefono_str,operador_tel,operador_tel2ComoCadena;Definirindice_operadorComoEntero;Definirposicion_caracter,posicion_caracter2,long_cadenaComoEntero;Definirnumerico_valido_testComoLogico;Definirtest_valido_acumuladoComoLogico;numerico_valido_test<-Verdadero;RepetirSi(numerico_valido_test==Falso)Entoncesmensaje<-TABULACION3+'Numero de telefono invalido.';Escribirmensaje;FinSiEscribir'';mensaje2<-'';Paraindice_operador<-0Hastanum_operadores-1HacerSi(mensaje2=='')Entoncesmensaje2<-operador_arr[tipo_celular-1,indice_operador];SiNomensaje2<-mensaje2+', '+operador_arr[tipo_celular-1,indice_operador];FinSiFinParamensaje2<-'Operadores: '+mensaje2;Segun(tipo_celular)Hacer1:mensaje<-TABULACION3+'Ingrese numero de celular de 10 digitos. '+mensaje2+' >';2:mensaje<-TABULACION3+'Ingrese numero fijo hogar de 5 digitos. '+mensaje2+' >';3:mensaje<-TABULACION3+'Ingrese numero fijo oficina de 5 digitos. '+mensaje2+' >';FinSegunEscribirmensajeSinSaltar;Leernum_telefono_str;num_telefono_str=f_eliminarEspacios(num_telefono_str);numerico_valido_test<-validar_numero_entero(num_telefono_str);Si(numerico_valido_test==Falso)Entoncesmensaje<-TABULACION3+'Digitó un valor alfanumerico';Escribirmensaje;SiNonumerico_valido_test=(ConvertirANumero(num_telefono_str)>=0);Si(numerico_valido_test==Falso)Entoncesmensaje<-TABULACION3+'Numero negativo';Escribirmensaje;SiNolong_cadena<-Longitud(num_telefono_str);numerico_valido_test=(long_cadena==num_digitos);Si(numerico_valido_test==Falso)Entoncesmensaje<-TABULACION3+'Numero incorrecto de digitos';Escribirmensaje;SiNotest_valido_acumulado=Falso;Paraindice_operador<-0Hastanum_operadores-1Haceroperador_tel<-operador_arr[tipo_celular-1,indice_operador];//Escribiroperador_tel;operador_tel2<-SubCadena(num_telefono_str,0,2);numerico_valido_test<-(operador_tel2==operador_tel);test_valido_acumulado<-(test_valido_acumuladoOnumerico_valido_test);//escribirtest_valido_acumulado;FinParanumerico_valido_test=test_valido_acumulado;Si(numerico_valido_test==Falso)Entoncesmensaje<-TABULACION3+'Operador '+operador_tel2+' invalido';Escribirmensaje;SiNomensaje<-TABULACION3+'Operador '+operador_tel2+' valido. Celular Valido: '+num_telefono_str;Escribirmensaje;Escribir"";FinSiFinSiFinSiFinSiMientrasQue(numerico_valido_test==Falso)FinSubAlgoritmoSubAlgoritmonombre<-f_validar_nombre(NULO)DefinirTABULACION3ComoCadena;TABULACION3<-' ';DefinirmensajeComoCadena;Definircadena_valida_testComoLogico;DefinirnombreComoCadena;Definirprefijo_cadena,sufijo_cadenaComoCadena;Definirposicion_caracter,posicion_caracter2,long_cadenaComoEntero;cadena_valida_test<-Verdadero;//VALIDARNOMBRECLIENTECONAPELLIDORepetirSi(cadena_valida_test==Falso)Entoncesmensaje<-TABULACION3+'Nombre invalido.';Escribirmensaje;FinSiEscribir'';mensaje<-TABULACION3+'Ingrese primer nombre y primer apellido del cliente >';EscribirmensajeSinSaltar;Leernombre;cadena_valida_test<-validar_texto(nombre);Si(cadena_valida_test==Verdadero)Entoncesposicion_caracter<-f_posicion_car(nombre,' ');Si(posicion_caracter>0)Entonces//Buscaunespacioprefijo_cadena<-SubCadena(nombre,0,posicion_caracter-2);long_cadena<-Longitud(prefijo_cadena);Si(long_cadena<=1)Entoncesmensaje<-TABULACION3+'El nombre debe contener más de un carácter: ´'+prefijo_cadena+'´';Escribirmensaje;cadena_valida_test<-Falso;FinSilong_cadena<-Longitud(nombre);sufijo_cadena<-SubCadena(nombre,posicion_caracter,long_cadena);long_cadena<-Longitud(sufijo_cadena);//ExtraeelapellidoSi(long_cadena<=1)Entoncesmensaje<-TABULACION3+'El apellido debe contener más de un carácter: ´'+sufijo_cadena+'´';Escribirmensaje;cadena_valida_test<-Falso;FinSiSiNocadena_valida_test<-Falso;FinSi//"el nombre no contiene un espacio para el apellido";FinSiMientrasQue(cadena_valida_test==Falso)posicion_caracter<-f_posicion_car(nombre,' ');prefijo_cadena<-SubCadena(nombre,0,posicion_caracter-2);EscribirTABULACION3+'El nombre del cliente es: ´'+prefijo_cadena+'´';long_cadena<-Longitud(nombre);sufijo_cadena<-SubCadena(nombre,posicion_caracter,long_cadena);EscribirTABULACION3+'El apellido del cliente es: ´'+sufijo_cadena+'´';FinSubAlgoritmoSubAlgoritmocadena_valida_test<-validar_texto(dato_texto)Definircadena_valida_test,test_valido_acumuladoComoLogico;Definirpos_caracter,long_cadenaComoEntero;Definirsub_caracterComoCadena;test_valido_acumulado<-Verdadero;long_cadena<-Longitud(dato_texto);Parapos_caracter<-0Hasta(long_cadena-1)ConPaso1Hacersub_caracter<-SubCadena(dato_texto,pos_caracter,pos_caracter);//Escribirsub_caracter;//FormaalternativaSegun(sub_caracter)Hacer' ','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z':cadena_valida_test<-Verdadero;//"á","é","í","ó","ü","Á","É","Í","Ó","Ü"://caracteresconacentoDeOtroModo:cadena_valida_test<-Falso;//debeestardeseleccionado:LimitarlaestructuraSegúnavariablesdecontrolnuméricasFinSeguntest_valido_acumulado<-(test_valido_acumuladoYcadena_valida_test);FinParacadena_valida_test<-test_valido_acumulado;FinSubAlgoritmoSubAlgoritmonumerico_valido_test<-validar_numero_entero(dato_texto)Definirnumerico_valido_test,test_valido_acumuladoComoLogico;Definirpos_caracter,long_cadenaComoEntero;Definirsub_caracterComoCadena;test_valido_acumulado<-Verdadero;long_cadena<-Longitud(dato_texto);Parapos_caracter<-0Hasta(long_cadena-1)ConPaso1Hacersub_caracter<-SubCadena(dato_texto,pos_caracter,pos_caracter);Segun(sub_caracter)Hacer'0','1','2','3','4','5','6','7','8','9','-':numerico_valido_test<-Verdadero;DeOtroModo:numerico_valido_test<-Falso;FinSeguntest_valido_acumulado<-(test_valido_acumuladoYnumerico_valido_test);FinParanumerico_valido_test<-test_valido_acumulado;FinSubAlgoritmoSubAlgoritmocadena_valida_test<-validar_alfaNumerico(dato_alfaNumerico)Definircadena_valida_test,test_valido_acumuladoComoLogico;Definirpos_caracter,long_cadenaComoEntero;Definirsub_caracterComoCadena;test_valido_acumulado<-Verdadero;long_cadena<-Longitud(dato_alfaNumerico);Parapos_caracter<-0Hasta(long_cadena-1)ConPaso1Hacersub_caracter<-SubCadena(dato_alfaNumerico,pos_caracter,pos_caracter);//Escribirsub_caracter;Segun(sub_caracter)Hacer' ','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z':cadena_valida_test<-Verdadero;//"á","é","í","ó","ü","Á","É","Í","Ó","Ü"://caracteresconacento'0','1','2','3','4','5','6','7','8','9','-':cadena_valida_test<-Verdadero;DeOtroModo:cadena_valida_test<-Falso;FinSeguntest_valido_acumulado<-(test_valido_acumuladoYcadena_valida_test);FinParacadena_valida_test<-test_valido_acumulado;FinSubAlgoritmo//Devuelvelaposiciónentre1y1000delelementobuscado(primeraocurrencia),//Sinoencuentradevuelve0,sihayerrordevuelve-1,devuelve-2siseestabuscandolacadenavaciaSubAlgoritmoposicion_caracter<-f_posicion_car(cadena_in,caracter_buscar)//Escribir"caracter a substraer. "+caracter_buscar+":";Definirposicion_caracterComoEntero;Definirchar_sub_iComoCadena;Definirchar_pos,char_maximoComoEntero;//caracter'i'enesimoextraidoDefinirchar_indexComoEntero;//posiciondelcaracterabuscarymaximonumdecharsDefinirtestComoLogico;//IndicedelaextracciondecaracteresdelacadenaingresadaDefinirlong_char_buscarComoEntero;long_char_buscar<-Longitud(caracter_buscar);char_maximo<-1000;Si(long_char_buscar>1)Entonces//seasumequelacadenapuedecontenermaximo1000charschar_pos<--1;//Error:lacadenaabuscarcontienemasdeuncaracter.devuelve-1SiNoSi(long_char_buscar==0)Entonceschar_pos<--2;SiNoParachar_index<-0Hastachar_maximoConPaso1Hacerchar_sub_i<-SubCadena(cadena_in,char_index,char_index);//seestabuscandolacadenavacia//Escribir"caracter en indice"+ConvertirATexto(char_index+1)+" es "+char_sub_i;test<-(char_sub_i<>'');//Escribir"prueba1 "sinsaltar;Escribirtest;Si(test==Verdadero)Entoncestest<-(char_sub_i==caracter_buscar);//subtraecadacaracter,MientrasQuesea""//Escribir"prueba2 "sinsaltar;Escribirtest;Si(test==Verdadero)Entonceschar_pos<-char_index+1;//sielcaracteresdiferentede""char_index<-char_maximo+1;//posicionactualdelindice+1eslaposiciondelcaracterabuscarSiNo//Desbordepararomperelbuclechar_pos<-0;FinSi//NoseencontróelcaracterSiNochar_pos<-0;char_index<-char_maximo+1;FinSi//DesbordepararomperelbucleFinParaFinSiFinSiposicion_caracter<-char_pos;FinSubAlgoritmo
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hola
2: Al guardar un archivo no está colocando en el campo del nombre del algoritmo/proceso, en versiones anteriores lo efectuaba.
2.1 para el control de versiones que realiza el estudiante al guardar como tomar como base el nombre actual del algoritmo/proceso
3: El panel de 'Resultados' y 'ayuda de Acerca del error', deben actualizarse en cada corrida o ejecución nueva, muchas veces queda en estos paneles, los mensajes de corridas anteriores
por ejemplo
Muestra
Al eliminar la siguiente sentencia
abc;
el mensaje anterior prevalece, el cual no debe ser así.
Al definir un subproceso sin argumentos genera un error
ERROR 247: Falta nombre de argumento.
Si se elimina el paréntesis opera
RQ: para dar uniformidad a la definición de funciones, la función principal debería aceptar paréntesis, asi no tome argumentos. Los estudiantes, me preguntan siempre en cada curso, por que si un subproceso o función secundaria no requiere de argumentos se puede o no colocar un par de paréntesis de apertura y de cierre y porque no es igual en la función principal, esto les genera en su pensamiento una disrupción de conceptos y en la practica la función principal en algunos lenguajes si aceptan argumentos, el mismo C++ lo hace, otro lenguaje es Matlab, PASCAL, etc, además en pseint al predefinir una entrada debería hacerse por paso de argumentos y no por caja de dialogo
nuevamente hay problemas al correr paso a paso un algoritmo en win10 64 bits
aunque si cierro la app y la vuelvo abrir algunas veces funciona
no entiendo muy bien como funciona Redimensionar un arreglo
estoy probando lo siguiente
Muestra: ERROR 288: Posición no inicializada (V(3)).
el código anterior si funciona, solo que me faltaba llamar a la segunda función =)
Bueno se podría agregar este ejemplo a la lista de ejemplos predefinidas en Pseint
Lo que si veo es que aun no esta definido en la conversión a otros lenguajes, acá se necesitan colaboradores, esto es el código anterior como se porta a C, C++ C# etc, porque yo nunca he hecho en un lenguaje formal.
Hola
Al abrir un archivo, y si luego se abre nuevamente el mismo archivo se coloca en una nueva pestaña, el cual no se debe hacer. Al ejecutar el algoritmo muestra el siguiente mensaje
File 'C:\Users\user-name\pseint\temp_2.out' couldn't be removed (error 32: El proceso no tiene acceso al archivo porque está siendo utilizado por otro proceso.)
hola al convertir a C++, la función SubCadena en algunos casos al calcular el numero de elementos a subtraer llega a una expresión como --2 que en c++ es decremento
portado a c++
seria excelente si se portara como función
~~~
# include<iostream>
using namepace std;</iostream>
string SubCadena( string s, int posicion1, int posicion2 );
int main() {
int pos1;
int pos2;
pos1 = 0;
pos2 = 2;
cout << string("hola").substr(pos1, pos2-pos1+1) << endl;
cout << string("hola").substr(0, 2--1) << endl; // acá esta el problema cout << string("hola").substr(0, 2-(-1)) << endl;
string s, s1;
s = "hola";
s1 = SubCadena( s, 0, 2 ); // INVOKA A LA FUNCION
cout << s1 << endl;
return 0;
}
// Por favor incluir en el port la siguiente función
string SubCadena( string s, int posicion1, int posicion2 ){
return string(s).substr(posicion1, (posicion2-posicion1)+1 );
}
~~~
Hola
A: Al pasar al panel grafico, algunas veces la instrucción SIN SALTAR, se une a una instrucción anterior, por ej.
Escribir mensaje Sin Saltar;
=>
Escribir mensajeSin Saltar;
B: Cuando se edita el diagrama de flujo, los comentarios se desfazan dos sentancias abajo.
Al ejecutar un algoritmo y luego pulsar ejecución paso a paso, se abre una segunda consola, pienso que se debe cerrar la actual y ejecutar una nueva consola pero paso a paso
Hola, algunos de los problemas detectados se presentan en códigos bastantes largos, en los cortos casi no
por ejp.