1.- No se si rebisaste el mensaje ke te deje en el tema ke iniciaste sobre:Diseño Extructurado de algoritmo. ahi te recomiendo que uses las, para que te des cuenta, que hace el codigo, en cual esta el problema y saber en que parte se debe cambiar con cierto fundamento y no cambiarlo al azar.
2.- Con respecto a los codigos a mi parecer estan bien, por que la respuesta es 15, claro si se trata de 5 primero numeros.
3.- Ya que te diste cuenta de que se puede hacer de diferentes formas, lo que debes buscar ahora es hacer mas robusto el codigo. Por ejemplo ese aplicación lo distribulles a una escuela, y el alumno no kisiera solo sumar los 5 primero, y quisiera los 6 primeros, no creo que le digan al alumno: que tenemos que llamar al programador para que lo cambie.
Osea lo que te recomiendo es que despues de que practiques un codigo, entiendas que haces, lo que tienes que buscar luego es tratar de simular que pasaria si lo pones en práctica en la vida real, que pasaria si le das a cualquier persona que no sepa nada de programación que dificultades se presentaria, no se si me hago entender, osea que te pongas en el papel del usuario(una persona comun y corriente).
4.- por ejemplo yo te lo pondria asi:
el algoritmo seria asi:
1. INICIO
2.Variables: //declarando variables
num;
suma=0, contador=1; //suma inicializamos con cero y el contador con 1
3.pedir valor para la variable num; //cantidad de numero a sumar ya sea 5, 6 o 7
//maso menos el while seria asi
//while(contador<=num)
4. mientras(contador<=num) hacer
4.1. suma=suma+contador;
4.2.contador++; //contador=contador+1
/*algo opcional cuando la cantidad de numeros es pequeña podrias poner lo siguiente
4.3. mostrar contador "+"*///opcional
//fin del cuerpo del bucle
5.mostrar suma; //mostrar en pantalla
6.fin
5.- otra forma de hacer el codigo seria asi
1.inicio
2. declarar variables: suma,numero;
3. pedir valor para la variable numero; // ya sea 5 o 6 o el que quieras
4. suma=((numero)*(numero+1)) / 2;
6. mostrar suma;
7. fin
Por que al momento de hacer la suma de los 1000 primero numeros, la pc haria 1000 veces las operaciones en el codigo que propusiste, mientras que en este codigo no importa la cantidad que se ponga solo realiza una sola vez la operación.
Siempre buscar la eficacia en el código. No se si me hago entender.
No se e opinen, siempre abierto a criticas.