Buch Cover Buch Cover Buch Cover Buch Cover

Web-Code: - Webcode Help

Hundert Quadratzahlen (Schleifen)

Schreiben Sie ein Programm (mit einer while()-Schleife), das die ersten hundert Quadratzahlen ausgibt.

Zusatzaufgabe: Erstellen Sie die Schleife auch so, dass keine Multiplikation vorkommt. Verwenden Sie ausschließlich die viel schnellere Addition. Tipp: Betrachten Sie die Differenzen je zweier aufeinanderfolgender Quadratzahlen oder schauen Sie sich die Summe der ungeraden Zahlen von 1 bis n an.

1 Kommentare

Bitte melde dich an um einen Kommentar abzugeben

Kommentare (1)

nicoacht 20. März 2018 14:35   reply report
Liebes Programmieren lernen Team

Dese seite hatt mir sehr gefffallen. Hab trotzdm zwai Setrne gegeben. haha Xd!! trolololololl

Ich üübe jetz weiter und froie mich auff die nägsten Aufgabeln

Tschüss.

8 Lösung(en)

i = 1
while i <= 100:
    print i*i
    i = i +1
                
# phi@gress.ly
# hundert Quadratzahlen ohne Multiplikation
zahl        = 1
differenz   = 3
quadratzahl = 1
while zahl <= 100:
  print quadratzahl
  quadratzahl = quadratzahl + differenz
  differenz   = differenz + 2
  zahl        = zahl + 1

                
/**
 * Programmieraufgaben.CH
 *
 * date  : 2011-10-15
 * author: philipp gressly freimann (Santis Training AG)
 * PL/1: www.iron-spring.com
 */

Hundert:
  procedure options(main);
  
  declare 
    zaehler fixed(7)  init (1), /* 1 .. 100 */
    quadrat fixed(15) init (1), /* Die Quadratzahlen */
    diff    fixed(15) init (3); /* Differenzen der Quadratzahlen */

  /* Schleife */
  do while(zaehler <= 100);
    put skip list(zaehler, ' im Quadrat: ', quadrat);
    quadrat = quadrat + diff;
    diff = diff + 2;
    zaehler = zaehler + 1;
  end;

end Hundert;
                

Lösung von: Philipp G. Freimann (BBW (Berufsbildungsschule Winterthur) https://www.bbw.ch)

/**                                                                                      
 * Author: ph. gressly freimann, Version 1.0 - 2. 4. 2012
 */                                                                                      

function quadratzahlen()
    for(i = 1; i <= 100; i++) {  
        ausgabeQuadratzahl(i * i);  
    }   
} 

function ausgabeQuadratzahl(quadrat) {    
  var bodys     = document.getElementsByTagName("body");
  var body      = bodys[0];   
  var neuerPara = macheNeuenParagraphen("" + quadrat);          
  body.appendChild(neuerPara);  
}    
  
function macheNeuenParagraphen(txt) {     
  var par = document.createElement("p");   
  par.innerHTML = txt;           
  return par;                  
} 


/////////// html zu obigem "quadratzahlen.js" //////////////////

<?xml version="1.0" encoding="utf-8" ?>          
<!DOCTYPE html> 
<html xmlns="http://www.w3.org/1999/xhtml">

 <head>  
  <title>Aufgabe 4.2 Quadratzahlen</title>   
  <meta name="author"  content="ph. gressly freimann" /> 
  <meta name="version" content="2. 4. 2012 V. 1.0"    />    
  <script type="text/javascript" src="quadratzahlen.js"></script>          
 </head>
         
 <body onload="quadratzahlen();"> 
   <h1>Quadratzahlen</h1>    
 </body>
 
</html> 
                

Lösung von: Philipp G. Freimann (BBW (Berufsbildungsschule Winterthur) https://www.bbw.ch)

package ch.programmieraufgaben.iteration;

/**
 * Aufgabe 4.2 "Programmieren Lernen"
 * @author Philipp Gressly (phi AT gressly DOT ch)
 */
public class HundertQuadratzahlen {
  public static void main(String[] args) {
    new HundertQuadratzahlen().top();  
  }
  
  void top() {
    int i    = 1;
    int q    = 1;
    
    // Lösung zur Zusatzaufgabe:
    // Trick: 
    // Die Differenzen der Quadratzahlen nehmen immer um 2 zu. 
    int diff = 3;
    
    
    while(i <= 100) {
        System.out.println("Zahl: " + i + " Quadrat: " + q);
        q    = q + diff;
        diff = diff + 2;
        i    = i + 1;
    }
  }

} // end of class HundertQuadratzahlen
                

Lösung von: Philipp G. Freimann (BBW (Berufsbildungsschule Winterthur) https://www.bbw.ch)

{$R+}
{$B+}

program Quadratzahlen (input, output);
{ Berechnet die Quadtratzahlen von 1 bis 100 }

	var
	Zahl : integer;
	Quadrat : integer;
	
begin
	Zahl := 1;
	while (Zahl <= 100) do
	begin
		Quadrat := Zahl * Zahl;
		writeln(Quadrat);
		Zahl := Zahl + 1
	end
end.
                

Lösung von: Katja Rummler ()

static private List<int> Quadratzahlen = new List<int>();

        static void Main(string[] args)
        {
            int quadrat = 0; 
            int x = 1;

            while (Quadratzahlen.Count <= 99)
            {
                

                quadrat = quadrat + x;
                Quadratzahlen.Add(quadrat);
                x += 2;
            }

            for (int i = 0; i <= Quadratzahlen.Count-1; i++)
            {
                Console.WriteLine(Quadratzahlen[i]);
            }

            Console.ReadLine();
        }

       
    }
                

Lösung von: Michael Senzenberger (Lehrausbildung zum IT-Informatiker)

function getSquares1(limit) {
  limit = limit || 100;
  let out = [], i = 1;
  while (out.length <= limit) {
    out.push(i ** 2);
    i++;
  }
  return out;
}

// ausgabe
let squares = getSquares1();
console.log(`Die ersten hundert Quadratzahlen: ${squares.join(', ')}`);

// stellt die einzelnen differenzen der quadratzahlen dar:
let sums = [];
for (let i = 0; i < squares.length-1; i++)
  sums.push(squares[i+1] - squares[i]);
console.log(`Differenzen der Quadratzahlen: ${sums.join(', ')}`);

// darum:
function getSquares2(limit) {
  limit = limit || 100;
  let out = [],
      i = 1, j = 2;
  while (out.length <= limit) {
    out.push(i);
    i += j;
    i++; j += 2;
  }
  return out;
}

// ausgabe
console.log(`
  Die ersten hundert Quadratzahlen (mit Summen berechnet): ${getSquares2().join(', ')}`);

// geschwindigkeitsvergleich!
let start = new Date();
getSquares1(1e6);
let stop = new Date();
console.log(`**-Operator: ${stop - start} ms`);

start = new Date();
getSquares2(1e6);
stop = new Date();
console.log(`+-Operator: ${stop - start} ms`);               // lissalanda@gmx.at
                

Lösung von: Lisa Salander (Heidi-Klum-Gymnasium Bottrop)

Aktionen

Bewertung

Durchschnittliche Bewertung:

Eigene Bewertung:
Bitte zuerst anmelden

Meta

Zeit: 0.5
Schwierigkeit: k.A.
Webcode: rnuy-razx
Autor: Philipp G. Freimann (BBW (Berufsbildungsschule Winterthur) https://www.bbw.ch)

Download PDF

Download ZIP

Zu Aufgabenblatt hinzufügen