Ich bin dir immer zu Dank verpflichtet. Ich bin Drumath, ein High-School-Programmierer. Dieses Mal werde ich einen Artikel über die Fibonacci-Sequenz schreiben. Vielleicht jemand, der gerade mit dem Programmieren beginnt Einige Leute fragen sich vielleicht: "Ich möchte mit dem Programmieren beginnen, aber mit welcher Sprache soll ich beginnen?" In diesem Artikel implementieren wir denselben Algorithmus in acht Sprachen: C / C ++, Java, Python, Ruby, PHP, Perl, JavaScript und CoffeeScript! Vielleicht können wir Ihnen bei der Auswahl Ihrer Sprache helfen.
Ich traf mich, als ich die Junior High School Prüfung ablegte.
1,1,2,3,5,8,13,21 ...
Wie lautet die folgende Nummer? Zuerst wird jeder von der Frage beunruhigt sein. Die richtige Antwort ist 34. Als ich die Erklärung der Summe der beiden vorhergehenden Begriffe hörte, fand ich sie wirklich mathematisch und interessant. Das wahre Erscheinungsbild der Fibonacci-Sequenz war jedoch wirklich "mathematisch". Ich habe es zwei Jahre später erfahren, als ich ein Mathe-Mädchen las. Ich werde hier nicht viel darüber sprechen, aber die Fibonacci-Sequenz ist in der Natur allgegenwärtig, wie Tannenzapfen und goldene Schnitte, und ihre Präsenz ist edel und schön. .. .. Und selbst in der Welt der Programmierung wird es manchmal mit Algorithmen vom Anfänger bis zur Mittelstufe eingeführt. Ich denke, dies ist ein Beispiel für einen guten Algorithmus, mit dem Anfänger das Gefühl haben, etwas erreicht zu haben, weil es einfach ist, Code zu schreiben.
Nun, das ist das Hauptthema.
Als Programm
--Erstellen Sie eine Funktion (oder Methode) `fibona (num)`
, die eine Fibonacci-Folge von Zahlen ausgibt
Ich werde ein Programm namens machen.
C/C++ C / C ++ ist ein allgemeiner Begriff für die Sprache C und die Sprache C ++. C-Sprache ist die erste Sprache, die mir begegnet ist, daher habe ich viel nachgedacht. Es ist etwas schwieriger und komplizierter in der Grammatik als andere Sprachen, aber es hat die schnellste Verarbeitungsgeschwindigkeit und es ist keine Übertreibung zu sagen, dass es die Sprache ist, die dem Computer am nächsten ist. C ++ ist eine Erweiterung der C-Sprache mit einer hinzugefügten Objektorientierung. Es ermöglicht das Schreiben von Code einfacher als die Sprache C und wird hauptsächlich für die DirectX-Spielprogrammierung verwendet.
Zuerst aus der C-Sprache
fibona.c
#include <stdio.h>
void fibona(int num);
int main(void)
{
fibona(20);
return 0;
}
void fibona(int num)
{
int x=1, y=1, i=0, tmp=0;
while (i < num) {
printf("%d\n", x);
tmp=x;
x=y;
y+=tmp;
i++;
}
}
Und C ++
fibona.cpp
#include <iostream>
using namespace std;
void fibona(int num);
int main(void)
{
fibona(20);
return 0;
}
void fibona(int num)
{
int x=1,y=1,i=0,tmp=0;
while (i < num) {
cout << x << endl;
tmp=x;
x=y;
y+=tmp;
i++;
}
}
Wenn ich versuche, es mit etwas zu kompilieren, das bcc heißt (Borland C ++ Compile)
Console
>bcc32 fibona.c
Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
fibona.c:
Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland
>fibona.exe
1
1
2
3
5
8
13
21
34
55
89
144
233
377
610
987
1597
2584
4181
6765
Java ist eine Sprache, die auf der Grammatik der C-Sprache basiert. Ich bin sicher, einige von Ihnen haben das Wort Java selbst gehört. Java läuft auf einer virtuellen Maschine namens JVM (Java Virtual Machine). Daher kann sogar eine Win-Maschine auf einer Mac-Maschine programmiert werden. Wird hauptsächlich in der Android-Programmierung verwendet.
fibona.java
public class fibona
{
public static void main(String[] args) {
fibonachi(20);
}
public static void fibonachi(int num)
{
int x=1,y=1,i=0,tmp=0;
while(i < num){
System.out.println(x);
tmp=x;
x=y;
y+=tmp;
i++;
}
}
}
Da Java eine VM-Sprache ist, verwenden Sie den Befehl javac, um sie zu kompilieren. Dadurch wird eine Klassendatei mit dem Namen `` `fibona.class``` erstellt. Tun Sie dies mit dem Java-Interpreter.
Console
>javac fibona.java
>java fibona
1
1
2
3
5
8
13
21
34
55
89
144
233
377
610
987
1597
2584
4181
6765
Python Python ist eine objektorientierte Skriptsprache. Da es zeilenweise ausgeführt wird, ist es leicht zu debuggen, und da das Programm mit Einrückungen erstellt wird, können auch Anfänger Code schreiben, der leicht zu lesen ist. Es verfügt über ein breites Verteidigungsspektrum und kann für künstliche Intelligenz, Big Data und Anwendungserweiterungen verwendet werden.
fibona.py
def fibona(num):
x=1
y=1
i=0
while(i<num):
print(x)
(x,y)=(y,x+y)
i+=1
fibona(20)
Da es sich um eine Skriptsprache handelt, kann sie sofort mit Python-Befehlen ausgeführt werden. Übrigens können alle Programme, die ich schreiben werde, sofort mit einem Interpreter wie Python ausgeführt werden.
Console
>python fibona.py
1
1
2
3
5
8
13
21
34
55
89
144
233
377
610
987
1597
2584
4181
6765
Ruby Ruby ist wie Python eine objektorientierte Skriptsprache. Da die Entwickler Japaner sind, gibt es viele japanische Dokumente und es ist einfach, Code zu schreiben. Darüber hinaus gibt es "Spaßprogrammierung" als Philosophie von Ruby, und Sie können intuitiv programmieren. Es ist auch meine Lieblingssprache. Es scheint, dass es häufig beim Erstellen von Webanwendungen verwendet wird, hauptsächlich mit dem Framework Ruby on Rails.
fibona.rb
def fibona(num)
x=1
y=1
num.times do
print "#{x}\n"
x,y=y,x+y
end
end
fibona(20)
Lass es uns laufen.
Console
>ruby fibona.rb
1
1
2
3
5
8
13
21
34
55
89
144
233
377
610
987
1597
2584
4181
6765
PHP
PHP wird hauptsächlich zum Erstellen von Webseiten verwendet. Sie können eine Webseite dynamisch erstellen, indem Sie den PHP-Code in das Tag `<??>`
schreiben. Frameworks umfassen CakePHP.
fibona.php
<?
function fibona($num){
$x=1;$y=1;$i=0;
while ($i < $num) {
echo $x."\n";
list($x, $y)=array($y, $x+$y);
$i++;
}
}
fibona(20);
?>
Console
1
1
2
3
5
8
13
21
34
55
89
144
233
377
610
987
1597
2584
4181
6765
Perl Perl wird hauptsächlich als WebCGI verwendet. Perl ist eine alte objektorientierte Sprache, daher ist es auch schön, einige seltsame Teile zu haben, die andere Sprachen nicht haben.
fibona.pl
sub fibona {
my($num) = @_;
$x=1; $y=1; $i=0;
while ($i < $num) {
print "$x\n";
($x, $y)=($y, $x+$y);
$i++;
}
}
fibona(20);
Console
>perl fibona.pl
1
1
2
3
5
8
13
21
34
55
89
144
233
377
610
987
1597
2584
4181
6765
JavaScript Es ist heutzutage eine der aufregendsten Sprachen. Eine Sprache, mit der Sie Skripte für die Webentwicklung in HTML schreiben können. Sie können universelle Apps für Windows erstellen und mit Electron, das von GitHub erstellt wurde, native Apps wie .exe und .app erstellen. Dieses Mal werde ich ein Tool namens Node verwenden, um js als Allzweckanwendung zu programmieren.
MyFibona.js
var fibona = function(num){
var x=1;
var y=1;
var i=0;
while (i<num) {
var tmp;
console.log(x);
tmp=x;
x=y;
y+=tmp;
i++;
}
};
fibona(20);
Console
>node MyFibona.js
1
1
2
3
5
8
13
21
34
55
89
144
233
377
610
987
1597
2584
4181
6765
CoffeeScript CoffeeScript ist eine Sprache, die das Schreiben von JavaScript erleichtert. Das Kompilieren von CoffeeScript generiert also JavaScript-Code.
fibona.coffee
fibona = (num)->
x=1;y=1;i=0;
while i<num
console.log x
[x,y] = [y,x+y]
i++
fibona(20)
Console
>coffee -c fibona.coffee
Generierter Code
fibona.js
// Generated by CoffeeScript 1.10.0
(function() {
var fibona;
fibona = function(num) {
var i, ref, results, x, y;
x = 1;
y = 1;
i = 0;
results = [];
while (i < num) {
console.log(x);
ref = [y, x + y], x = ref[0], y = ref[1];
results.push(i++);
}
return results;
};
fibona(20);
}).call(this);
Console
>node fibona.js
1
1
2
3
5
8
13
21
34
55
89
144
233
377
610
987
1597
2584
4181
6765
Wie wär es damit? Sprachen haben auch verschiedene Persönlichkeiten und sind interessant. Sie können auch sehen, dass anthropomorphe Cartoons angezeigt werden. Wenn ich eine neue Sprache lerne, fühle ich mich wie in einem neuen Land. Sprechen Sie mit Ihrem Computer gemäß den Regeln des Landes. Früher dachte ich, dass "Programmieren etwas ist, was die Wissenschaft tut?", Aber wie das Wort "Sprache" impliziert, ist der sprachliche Spaß in den Vordergrund gerückt. Es gibt kein Lernen in der Schule, keinen Test, keine Hausaufgaben usw. wie Japanisch und Englisch, und es ist auch attraktiv, dass es einfacher ist als diese. Deshalb ist es eine Verschwendung, zweisprachig zu sein.