Programa pascal

Iniciado por juanrada66, 5 Diciembre 2011, 00:28 AM

0 Miembros y 1 Visitante están viendo este tema.

juanrada66

Calcule y escriba el número de términos necesarios para que el valor de la siguiente sumatoria se aproxime lo más cercanamente a 10000000, sin que lo exceda:

La serie es la sumatoria desde K=1 hasta k=? de (k^2 + 1)/k

Por favor si alguien me puede explicar que no lo entiendo

$Edu$

Tienes que hacer un programa que diga el valor de k final entonces? haces un:

While sumatoria <= 10000000

vas guardando los valores de la sumatoria en una variable y las cuentas las haces con la formula que te dieron ( sumatoria := sumatoria + (k^2 + 1)/k )
k = k + 1

Cuando salga del bucle el valor de k sera el maximo antes de que se pase de los 10 millones la sumatoria, que es lo que te piden

juanrada66

Hola yo lo estaba intentando con un repeat - until, pero sabes tengo la duda le tengo que colocar hasta 10000000.

sumatoria:=0;
k:=0;
repeat
k=k+1;
sumatoria=sumatoria + k^2 + 1/k


until(sumatoria=10000000) si esto me diera un numero con decimales tengo que hacer el redondeo al entero anterior, no se si pueda hacerlo de esta manera. lo que no entiendo como tu dices es como ella va salir en el k màximo y no se va a parar antes es decir si por ejemplo si sumatoria es 13 que es menor a 10000000, o 20 o 30 asì sucesivamente muchas gracias

$Edu$

Tienes que entender bien lo que pasa las diferencias de los bucles, si sabes ingles comprenderas que While es "mientras" y un Repeat - Until es "repetir hasta que.." entonces yo hoy decia que se repita MIENTRAS que la sumatoria sea menor o igual a 10 millones, que es lo que queremos, pero si lo haras con un repeat until, entonces tendras que hacer lo opuesto se entiende? en vez de "mientras sumatoria sea menor o igual a 10 millones" tendras que hacer un "repetir hasta que sumatoria sea mayor o igual" porque ahi dejaria de entrar al bucle y no aumentaria el valor de k, por lo que nos quedamos con el valor maximo de k.

No necesitas hacer ningun redondeo, el valor de k es un natural siempre no? si no es asi entonces no funciona lo que estamos queriendo hacer. Despues la sumatoria y eso no tiene porque redondearse.

¡Micronet!

(Si hice algo mal, no duden en decirme por favor)


Código (pascal) [Seleccionar]

{*
* Copyright (c) 2011, Necro
*
* This file is part of Free Software
*
* This file is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This file is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with AcademicCAD; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
*}
program sumatoria;
var
k: real;
suma: real;
begin
k:=1;
suma:=0;
while suma <= 10000000 do
begin
suma := suma + (((k*k) + 1) /k);
k:= k+1;
writeln(suma);
end;
end.



Bueno ya pasaron varios dias, quizas te sirva esto y ojala que no lo tengas como tarea pero bueno al fin y al cabo el que aprende soy yo (H)... jajajaja xD!, pero tarde o temprano las consecuencias vendran :D! jejeje

"La Tarea No Se Hace, Pero No Indica Que No Se Ayude Al Estudiante"