elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Ejercicios
| | | |-+  pascal ayuda soy principiante
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: pascal ayuda soy principiante  (Leído 5,976 veces)
paed

Desconectado Desconectado

Mensajes: 1


Ver Perfil
pascal ayuda soy principiante
« en: 25 Junio 2011, 01:31 am »

en la facultad me dieron un problema en el cual yo debia pedir numeros de teclado, averiguar cuantos digitos tenia, cuantos digitos pares, la suma de los digitos. ademas debo parar de pedir numeros  cuando aparezca el digito 6 y debo averiguar cual es el numero mas grande de todos.


aca hice lo que pude pero me falta la parte de pedir numeros cuando aparezca el 6 y lo de  averiguar cual es el numero mas grande de todos.
espero que puedan ayudarme a resolver estas 2 cuestiones.


Program numerouno;

Var   num:integer;
dig:integer;
par:integer;
impar:integer
pepe integer;
Contador:integer;

Begin;
Writeln(‘escribi un  numero’)
Read(num)

Begin;
pepe:=0
contador:=0
par:=0
impar:=0

repeat
dig:=num mod 10;

if num >10 then writeln (‘los digitos son:’,dig)
if (num>10) and (dig mod 2=0) then par=par+1;
if num >10 then contador:=contador+1;
if num >10 then pepe:=pepe+dig;
if num >10 then num:=(num-dig) div diez;

if num<10 then writeln (‘los digitos son:’,num);
if (num<10) and (dig mod 2=0) then par=par+1;
if num <10 then contador:=contador+1;
if num <10 then pepe:=pepe+dig;
if num<10 then writeln (‘la cantidad de digitos pares son:’,par);
if num<10 then writeln (‘la suma de los digitos da:’,pepe);
if num<10 then writeln (‘hay:’ contador,’digitos’);
until num<10
end.


En línea

Edu


Desconectado Desconectado

Mensajes: 1.082


Ex XXX-ZERO-XXX


Ver Perfil
Re: pascal ayuda soy principiante
« Respuesta #1 en: 25 Junio 2011, 01:49 am »

Tendrias que tomar la variable num como string mejor, asi cuentas los caracteres que tiene  que serian los digitos y los guardas en la variable para la cant de digitos.
Luego recorrer caracter por caracter, si un caracter es divisible en 2 ( resto 0 obvio), lo guardas en otra variable que contara los digitos pares.
Luego tendrias que crear un array de integer, donde pondras todos los num que se iran generando, asi luego con un bucle que recorra el array vas sumandole todos los items dentro del array y guardandolo siempre en la misma variable que sera la de la suma de todos.

Todo eso lo haces con un bucle que sea Mientras el numero que ingresa no es el 6. Y cuando termine ese bucle, recorres el array que decia anteriormente y buscas cual es el mas grande.

Creo que asi seria, sino entendi mal..


En línea

Valkyr


Desconectado Desconectado

Mensajes: 646


Divide y vencerás


Ver Perfil
Re: pascal ayuda soy principiante
« Respuesta #2 en: 12 Julio 2011, 14:52 pm »

Como lo propone Edu creo que estaría bien, pero podría hacerse todo del tirón.

La idea es, lees una cadena de caracteres (en este caso serán dígitos) y la guardas en un String, empiezas a recorrer la cadena y en una variable vas almacenando la suma de cada dígito, además una variable para almacenar el número de dígitos pares. Mientras recorres la cadena vas incrementando un contador cada vez que avances un caracter. Por último, para averiguar el mayor de todos los números ingresados, llevas una variable, llamada por ejemplo mayor, la inicializas al comienzo del programa con un valor lo más pequeño posible, por ejemplo, -2147483647, cada vez que leas una secuencia de dígitos haces la comprobación
Código:
if(numeroLeido>mayor) then mayor:=numeroLeido
. Evidentemente en la explicación no te digo nada de como pasar de una cadena de caracteres a entero (integer), eso ya es cosa tuya.

Saludos.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ayuda soy principiante! « 1 2 3 »
Programación Visual Basic
xDie 28 8,285 Último mensaje 18 Enero 2007, 20:39 pm
por xDie
ayuda soy principiante
Ingeniería Inversa
nsoffia 4 4,982 Último mensaje 21 Junio 2008, 23:28 pm
por apuromafo CLS
Ayuda con .bat <Principiante>
Scripting
ChaCkaLneT 1 3,332 Último mensaje 28 Diciembre 2008, 17:00 pm
por slyfox
Ayuda principiante! :(
Programación C/C++
Makum 1 2,311 Último mensaje 14 Junio 2010, 10:33 am
por Gallu
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines