Buch Cover Buch Cover Buch Cover Buch Cover

Web-Code: - Webcode Help

Quersumme (Unterprogramme)

Schreiben Sie eine Funktion, die von einer vorgegebenen natürlichen Zahl die Quersumme bestimmt. Natürliche Zahlen sind positive ganze Zahlen (1, 2, 3, 4, 5, …).

3 Kommentare

Bitte melde dich an um einen Kommentar abzugeben

Kommentare (3)

wwbaselmemes 24. April 2018 14:47   reply report
エアバスA300

エアバスA300
イラン航空のA300B2-203

イラン航空のA300B2-203

用途:旅客機、貨物機
分類:ワイドボディ機
製造者:エアバス
運用者(2017年7月現在の運用数上位5社)[1]
フェデックス
UPS航空
ユーロビアン・エア・トランスポート(英語版)
マーハーン航空
エア・ホンコン
初飛行:1972年10月28日[2]
生産数:567機
運用開始:1974年5月23日[3]
運用状況:運用中

表示

エアバスA300 (Airbus A300) は、エアバス・インダストリー(後のエアバス)が開発・製造した双発ジェット旅客機である。世界初の双発ワイドボディ旅客機であり、エアバス社設立のきっかけとなった。

機種名のA300は、エアバスのAと初期構想の座席数300席にちなむ。A300は2つの世代に分けることができ、第1世代はA300Bとも呼ばれる。新技術の採用でグラスコックピット化された次世代型はA300-600と呼ばれる。本項ではA300第1世代を中心に説明する(A300-600シリーズについては当該ページを参照)。

本格的なジェット旅客機の時代を迎えた1960年代、バスのように気軽に乗れる大型旅客機「エアバス」が待望された。当時、欧州の航空機メーカーは単独で「エアバス」を事業化する体力が無かったため、国際共同開発体制によりA300構想が推進された。紆余曲折を経てフランスと西ドイツ(当時)政府が中心となって企業連合エアバス・インダストリーが設立されA300が開発された。

A300は低翼配置の主翼下に左右1発ずつターボファンエンジンを装備し、尾翼は低翼配置、降着装置は前輪配置である。A300第1世代の全長は53.62メートル[注釈 1]、全幅は44.84メートル、最大離陸重量は116.5トンから165トンで、最大巡航速度はマッハ0.82から0.84である。当初、A300は欧州域内の短距離機として開発されたが、後に離着陸性能や航続距離性能を強化した派生型が開発され、一部の海上ルートを含む中距離路線にも進出した。旅客型だけでなく貨客転換型や貨物専用型も開発された。貨物型は新造のほか旅客型からの改造も行われており、2017年現在では貨物機としての運航が中心である。

A300第1世代は1974年にエールフランスにより初就航し、A300-600は1984年にサウジアラビア航空により初就航した。役目を終えた第1世代は1985年に生産を終了し、A300-600シリーズは2007年まで生産された。総生産数はA300第1世代が250機、A300-600シリーズは317機であった。2017年1月現在、A300の関係した機体損失事故が34件、ハイジャックが30件起きている。死者を伴う事件・事故は15件発生しており、合わせて1,435人が亡くなっている。

以下、本項ではジェット旅客機については社名を省略して英数字のみで表記する。例えば、「エアバスA300」であれば「A300」、「ボーイング747」であれば「747」、「ダグラスDC-10」はDC-10、「ロッキードL-1011」はL-1011とする。
wwbaselmemes 24. April 2018 14:46   reply report
s/o Philipp Gressly Freimann
wwbaselmemes 24. April 2018 14:45   reply report
WW > FMS

6 Lösung(en)

def quersumme(z):
   summe=0
   while (z >= 1):
     a = z%10
     summe = summe + a
     print 'a: '+str(a)+'\tsumme: '+str(summe)+'\tz: '+str(z)
     z = z / 10
   return summe

z = int(raw_input("natuerliche Zahl: "))
print quersumme(z)
                
import java.util.Scanner;

public class Quersumme {
  public static void main(String[] args) {
    new Quersumme().top(); }
  
  void top() {
      int eingabe   = eingabe();
      int quersumme = quersumme(eingabe);
      ausgabe(quersumme);   }
  
  int eingabe() {
      System.out.println("Zahl: ");
      Scanner sc = new Scanner(System.in);
      return sc.nextInt();   }
  
  void ausgabe(int resultat) {
      System.out.println("Quersumme = " + resultat);  }

  int quersumme(int zahl) {
      int summe = 0;
      while(zahl > 0) {
          int a = zahl % 10; // letzte Ziffer
          summe = summe + a;
          zahl  = zahl / 10;
      }
      return summe;   }
  
}
                
public class Main {

    public static void main(String[] args) {
        int n = 1007;

        System.out.println( quersumme1( n ) );
        System.out.println( quersumme2( n ) );
    }

    public static int quersumme1( int n ) {
        int qs = 0;
        String s = String.valueOf( n );

        for( int i = 0; i < s.length(); i++ )
            qs += Character.getNumericValue( s.charAt( i ) );

        return qs;
    }

    public static int quersumme2( int n ) {
        int qs = 0;

        while( n > 0 ) {
            qs += n % 10;
            n /= 10;
        }

        return qs;
    }
}

                
Number.prototype.checksum = function() {
  let s = this.toString();
  return eval(s.split('').join('+'));
}

console.log(parseInt(prompt('Positive Ganzzahl: ')).checksum());
                

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

// NET 6.x | C# 10.x | VS-2022

Console.WriteLine(DigitSumIter(446));
Console.WriteLine(DigitSumRec(446));

// iterativ
static int DigitSumIter(int n) => n.ToString().Select(x => x - '0').Sum();

// rekursiv
static int DigitSumRec(int n) => n != 0 ? n % 10 + DigitSumRec(n / 10) : 0;
                

Lösung von: Jens Kelm (@JKooP)

// C++ 14 | VS-2022
#include <iostream>
#include <string>
#include <numeric>
#include <functional>

int main() {
    // iterativ (Umwandlung in string)
    const auto get_digit_sum_iter_str{ [](int n) {
        const auto s{ std::to_string(n) };
        return std::accumulate(s.begin(), s.end(), 0, [](auto a, auto b) {return b += a - '0'; });
    } };

    // iterativ (int)
    const auto get_digit_sum_iter_int{ [](int n) {
        int result{ 0};
        while (n) { result += n % 10; n /= 10; }
        return result;
    } };

    // rekursiv
    const std::function<int(int)>get_digit_sum_rec{ [&](int n) {
        return n ? n % 10 + get_digit_sum_rec(n / 10) : 0;
    } };

    std::cout << get_digit_sum_iter_str(446) << "\n";
    std::cout << get_digit_sum_iter_int(446) << "\n";
    std::cout << get_digit_sum_rec(446) << "\n";
}
                

Lösung von: Jens Kelm (@JKooP)

Verifikation/Checksumme:

in 446 -> out 14

in 12034 -> out 10

Aktionen

Bewertung

Durchschnittliche Bewertung:

Eigene Bewertung:
Bitte zuerst anmelden

Meta

Zeit: 1
Schwierigkeit: k.A.
Webcode: wvfg-ndmx
Autor: Philipp G. Freimann (BBW (Berufsbildungsschule Winterthur) https://www.bbw.ch)

Zu Aufgabenblatt hinzufügen