Subpage under development, new version coming soon!
Subject: Informáticos
Alguién conoce algun programa parecido al PowerPoint, o al Impress? Pero así en estilo profesional?
Gracias.
Gracias.
alguien sabe hacer este algoritmo en pascal q al ejecutarlo te de esto??
Entradas: 12345 y 67890
Salida:
12345
x 67890
-------
00000
111105
98760
86415
74070
---------
838102050
Entradas: 12345 y 67890
Salida:
12345
x 67890
-------
00000
111105
98760
86415
74070
---------
838102050
1º) Yo no utilizo el power point... utilizo el oppen office, pero son primos hermanos (aunque el mío es gratuito).
2º)
más o menos debería ser así, tradúcelo al PASCAL
numero1 = array [1..5] of integer;
numero2 = array [1..5] of integer;
numero3 = array [1..5] of integer;
numero4 = array [1..5] of integer;
numero5 = array [1..5] of integer;
numero6 = array [1..5] of integer;
numero7 = array [1..5] of integer;
para (i=1; i++; i
2º)
más o menos debería ser así, tradúcelo al PASCAL
numero1 = array [1..5] of integer;
numero2 = array [1..5] of integer;
numero3 = array [1..5] of integer;
numero4 = array [1..5] of integer;
numero5 = array [1..5] of integer;
numero6 = array [1..5] of integer;
numero7 = array [1..5] of integer;
para (i=1; i++; i
me cago en san puta... lo siento barbikane, llevo un buen rato escribiendo pero como he puesto el "menor que" se me ha jodido todo el código... no es muy complicado, simplemente pon cada número como un vector diferente y haz un montón de "fors"; si tienes problemas dilo y te lo reescribo.
jaja conque lo haga en 1 solo array basta, ahora si tomo los numeros como un string es mas falcil existe 1 funcion que pasa los string a integer. y quedaria como array
antes de eso lo puede procesar para saber cuantas letras (numeros ) son y tendria el array completo
luego con el for
for i:=1 to n+1 do
x = numeero1 * numero2[n-i];
sum = sum + x;
print x
end if
print sum
n es el largo de la palabra o altransformarlo largo del vector de numeros.
antes de eso lo puede procesar para saber cuantas letras (numeros ) son y tendria el array completo
luego con el for
for i:=1 to n+1 do
x = numeero1 * numero2[n-i];
sum = sum + x;
print x
end if
print sum
n es el largo de la palabra o altransformarlo largo del vector de numeros.
creo que tienes que imprimir todos los resultados que pone en "salida", cuando me puse a escribirlo le imprimí hasta las "---------" :P
yo haría un array de arrays, primero con un bucle "doble" metería ahí todas las multiplicaciones, después con un recorrido las mostraría por pantalla y por último los sumaría en un último vector.
pero bueno, a priori no es tan complicado. Pero eso lo dice quien lleva dos días para aprender a manejar archivos xml en c# :'( :'(
yo haría un array de arrays, primero con un bucle "doble" metería ahí todas las multiplicaciones, después con un recorrido las mostraría por pantalla y por último los sumaría en un último vector.
pero bueno, a priori no es tan complicado. Pero eso lo dice quien lleva dos días para aprender a manejar archivos xml en c# :'( :'(
¿Para qué os complicais la vida intentando sumar las filas?. El resultado ya lo sabeis: num1 * num2, :P. Además, en caso de hacerlo así (que vamos, es innecesario), habría que tener en cuenta que no es una suma directa de filas, sino que debería hacerse de forma escalonada, por lo que el algoritmo no sería tan trivial...
Ahora no me puedo parar, pero esta noche, si nadie lo pone antes, intentaré poner el código completo. Lo más latoso es el tema de las conversiones de tipos, ya que, hasta donde yo sé, pascal no hace cast implícitos y convertir, por ejemplo, un char en integer tiene su historia...
(edited)
Ahora no me puedo parar, pero esta noche, si nadie lo pone antes, intentaré poner el código completo. Lo más latoso es el tema de las conversiones de tipos, ya que, hasta donde yo sé, pascal no hace cast implícitos y convertir, por ejemplo, un char en integer tiene su historia...
(edited)
se supone que hay que hacerlo así al poner "salida" y la lista de número :P
Por lo de la suma escalonada... es una chorrada, simplemente el
resultado[1] = sumando1[1]
resultado[2]=sumando1[2] + sumando2[1]
etc
(edited)
Por lo de la suma escalonada... es una chorrada, simplemente el
resultado[1] = sumando1[1]
resultado[2]=sumando1[2] + sumando2[1]
etc
(edited)
jeje muchas gracias pero los arrays no se utilizarlos todavia y con las funciones...ando algo mal,y eso de string ya ni te cuento....a ver si me aplico q si no me queda fijo programacion....al final me ha salido ponienfo if,repeat y un while.
muchas gracias a todos.
saludos.
muchas gracias a todos.
saludos.
deja ver si me consigo el pascal y hago el programa que de dificil no tiene nada :P
ya lo hice es facil la wea. mas me costo recordar la forma de programar en pascal :P jajaj
program multi(input,output);
uses crt;
var
x: string;
y, z, suma, ind, a, w, code,i,cuad: integer;
begin
write('ingrese primer numero :');
readln(y);
write('ingrese divisor :');
readln(x);
ind :=length(x);
writeln('largo del array =',ind,'---',length(x));
suma:=0;
cuad:=1;
for i:=0 to ind-1 do
begin
val(x[ind-i],w,code);
z:=y*w*cuad;
writeln(z);
suma:=suma+z;
cuad:=cuad*10;
end;
writeln('--------------');
writeln(suma);
read(i);
end.
el ultimo read era para ver el resultado :P
si se es poco cristiano el codigo...
pero no me recordaba mucho de como funciona pascal :P jajaja
uses crt;
var
x: string;
y, z, suma, ind, a, w, code,i,cuad: integer;
begin
write('ingrese primer numero :');
readln(y);
write('ingrese divisor :');
readln(x);
ind :=length(x);
writeln('largo del array =',ind,'---',length(x));
suma:=0;
cuad:=1;
for i:=0 to ind-1 do
begin
val(x[ind-i],w,code);
z:=y*w*cuad;
writeln(z);
suma:=suma+z;
cuad:=cuad*10;
end;
writeln('--------------');
writeln(suma);
read(i);
end.
el ultimo read era para ver el resultado :P
si se es poco cristiano el codigo...
pero no me recordaba mucho de como funciona pascal :P jajaja
mete los dos numeros cada uno en un array... e inicializas las primeras 5 posiciones de cada uno a los numeros que haya...
luego basta que hagas dos for... para multiplicar cada elemento del segundo con el primero... luego el resultado de cada multiplicacion haces el mod10 para sacar lo que hay que poner... y en una variable guardas el div 10 de la multiplicacion...y eso se lo sumas ala siguiente multiplicacion....
luego basta que hagas dos for... para multiplicar cada elemento del segundo con el primero... luego el resultado de cada multiplicacion haces el mod10 para sacar lo que hay que poner... y en una variable guardas el div 10 de la multiplicacion...y eso se lo sumas ala siguiente multiplicacion....
mejor que use el codigo que le di y ya esta probado no usa array bueno si el string que es un array of char, definido por el propio pascal. le sacas el lengt y tienes cuantos numeros hay en el arreglo
luego sabiendo que los arreglos van del 0 a N metes eso en un for
de i:=0 to n-1;
validas el numero correspondiente para que sea int y no char con
val(x[n],w,code);
donde x[n] es el elemento a validar
w es un integer donde ira a parar el valor de x[n]
code devuelve 0 si la operacion fue exitosa o un numero correspondiente al error devuelto si la operacion falla
luego sabiendo que los arreglos van del 0 a N metes eso en un for
de i:=0 to n-1;
validas el numero correspondiente para que sea int y no char con
val(x[n],w,code);
donde x[n] es el elemento a validar
w es un integer donde ira a parar el valor de x[n]
code devuelve 0 si la operacion fue exitosa o un numero correspondiente al error devuelto si la operacion falla