Web Analytics

See also ebooksgratis.com: no banners, no cookies, totally FREE.

CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
Privacy Policy Cookie Policy Terms and Conditions
Hello, world — Уикипедия

Hello, world

от Уикипедия, свободната енциклопедия

Hello, world (от англ. "Здравей, свят") е стандартен пример за програмиране в много учебници и ръководства. Широката му употреба се дължи на краткостта, съчетана с показването на основните елементи на всяка програма:

  • формат на командите в езика
  • команди за извеждане на съобщения към потребителя
  • заглавна и завършваща част (при някои езици, напр. блоковите процедурни езици)
  • извикване на външни модули (при езиците без входно-изходни операции в основната библиотека)
  • създаване на класове (при обектно-ориентирани езици)

По тeзи причина това обикновено е първата програма, използвана от начинаещ програмист на даден език за програмиране. По-долу са дадени примери на някои от езиците.

Съдържание

[редактиране] Ada

   with Ada.Text_IO;

   procedure Hello is
   begin
      Ada.Text_IO.Put_Line ("Hello, world!");
   end Hello;

[редактиране] ALGOL

BEGIN
FILE F (KIND=REMOTE);
EBCDIC ARRAY E [0:11];
REPLACE E BY "HELLO WORLD!";
WHILE TRUE DO
  BEGIN
  WRITE (F, *, E);
  END;
END.

[редактиране] Assembly

[редактиране] "Само-акумулатор" архитектура: DEC PDP-8, PAL-III асемблер

  *10                   / Избиране на origin на адрес 10,
  STPTR,    0           / в авто-инткрементиран регистър (един от осем - 10-17)

  *200                  / Избиране на origin за текстовата област
  HELLO,  CLA CLL       / Изчистване на AC и Link
          TAD (STRNG-1) / Сетване на низовия указател в PRE-auto-increment регистъра
          DCA STPTR     /   :
  NEXT,   CLA CLL       / Изчистване на AC и Link още веднъж 
          TAD I STPTR   / Взимане на текстов символ недиректно през PRE-auto-increment адрес
          SNA           / Скок ако не е нула (Не е достигнат края на низа)
          HLT           / В противен случай прекъсване при нула (края на стринга)
          TLS           / Отпечатване на символа в АС принтиращата машина
          TSF           / Скок ако принтиращата машина е готова 
          JMP .-1       / В противен случай - опитай отначало
          JMP NEXT      / Скок за следващия символ

  STRNG,  310           / H
          345           / e
          354           / l
          354           / l
          357           / o
          254           / ,
          240           / (интервал)
          367           / w
          357           / o
          362           / r
          354           / l
          344           / d
          241           / !
          0             / Край на низа

[редактиране] Първа сполучлива uP/OS комбинация: Intel 8080/Zilog Z80, CP/M Операционна система, RMAC асемблер

bdos    equ    0005H    ; BDOS стартова точка
start:  mvi    c,9      ; BDOS функция: отпечатване на низ
        lxi    d,msg$   ; адрес на съобщението
        call   bdos
        ret             ; връщане в CCP

msg$:   db    'Hello, world!$'
end     start

[редактиране] Акумулатор + Индексен регистър: MOS Technology 6502, CBM KERNAL, ca65 асемблер

MSG:   .ASCIIZ "Hello, world!"
        LDX    #$F3
@LP:    LDA    MSG-$F3,X ; Зареждане на символа
        JSR    $FFD2     ; CHROUT (KERNAL), отпечатване на текущото у-во (екрана)
        INX
        BNE    @LP       ; 
        RTS


[редактиране] Раширена акумулаторна машина: Intel x86, Linux, GAS

.data
msg:
    .ascii     "Hello, world!\n"
    len = . - msg
.text
    .global _start
_start:
    movl        $len,%edx
    movl        $msg,%ecx
    movl        $1,%ebx
    movl        $4,%eax
    int $0x80
    movl        $0,%ebx
    movl        $1,%eax
    int $0x80

[редактиране] RISC процесор: ARM, RISC OS, BBC BASIC's инлайн асемблер

.program         
         ADR R0,message
         SWI "OS_Write0"
         SWI "OS_Exit"
.message         
         DCS "Hello, world!"
         DCB 0
          ALIGN


[редактиране] RISC Процесор: MIPS

         .data
msg:     .asciiz "Hello, world!"
         .align 2
         .text
         .globl main      
main:
         la $a0,msg
         li $v0,4
         syscall
         jr $ra

[редактиране] BASIC

[редактиране] Класически BASIC

10 PRINT "Hello, world!"
20 END

[редактиране] Модерен BASIC

PRINT "Hello, Wolrd!"
END

[редактиране] BCPL

GET "LIBHDR"
LET START () BE $( WRITES ("Hello, world!*N") $)

[редактиране] C

#include <stdio.h>

int main(void)
{
    printf("Hello, world!\n");
    return 0;
}

[редактиране] C++

#include <iostream>

int main(int argc, char *argv[])
{
    std::cout << "Hello, world" << std::endl;
    return 0; 
}


По принцип числата в началото на всеки ред не трябва се въвеждат, но в случая така е по-лесно за обяснение.

В ред 1 думата #include означава, че във вашия файл трябва да се вкара съдържанието на друг файл, в случая iostream.h. Ако името на файла е оградено със знаци за по-малко и по-голямо (< и >), то C++ ще потърси този файл в системната му директория за заглавни файлове. Ако името на файла е оградено с двойни кавички, то C++ ще търси за файла в същата директория, в която се намира сорс-файлът. Освен това може да зададете и пътя до търсения файл също в кавички (примерно #include "mydefs.h").

Редовете 2, 4 и 8 са празни и са сложени само за прегледност, бихте могли и да ги изтриете.

Ред 3 позволява по-удобно обръщане към стандартните библиотеки, които са в пространството от имена std.

Ред 5 дефинира функцията, която всяка C++ програма трябва да има — main. Когато стартирате програмата, системата ще извика тази функция. Редове 6 и 10 указват начало и край на тялото на функцията main. Между тези две фигурни скоби се пише самия код.

Ред 7 започва с cout, или стандартния изходен поток (на български — екран :-)). След това следва оператора <<, който в случая се използва за изкарване на текст, който се въвежда в кавички. Накрая изкарвате и модификатора endl, който изкарва нов ред. Бихте могли да използвате и форматиращия символ \n, но ще трябва да го сложите вътре в кавичките, ето така:

cout << "Hello, World\n";

Най-накрая, имате точка и запетая (;). Всеки ред в C++ завършва с този знак, освен фигурните скоби и редовете, започващи с # (като #include <iostream>).

На ред 9 указвате стойността, която програмата ви ще върне на системата. Обикновено се използва 0, ако изпълнението на програмата е минало успешно, и някаква друга стойност, ако при изпълнението е имало грешка.

Всъщност тази програма изкарва на екрана низа „Hello, World“ и премества курсора на нов ред.

[редактиране] C#

using System;

class HelloWorldApp {
    public static void Main() {
        Console.WriteLine("Hello, world!");
    }
}

[редактиране] Forth

   ." Hello, world!" CR

[редактиране] FORTRAN

   program hello
       write (*,*) 'Hello, world!'
   end program hello

[редактиране] Java

   public class Hello {
       public static void main(String[] args) {
           System.out.println("Hello, world!");
       }
   }

Принципно погледнато не е необходимо класът да е публичен. Ако класът е публичен както в примера е необходимо файлът съдържащ кодът на програмта да е със същото име като класът (включително главните и малките букви) и разширение java, т.е. Този пример трябва да се намира във файл Hello.java.

[редактиране] JavaScript

document.writeln('Hello, world!');

[редактиране] LISP

(PRINT "Hello, world!")


[редактиране] MS-DOS batch

@echo Hello, world!

За MS-DOS 3.0 или по стар:

echo off
cls
echo Hello, world!

[редактиране] Pascal

   Program Hello;
   begin
       WriteLn('Hello, world!');
   end.

[редактиране] PHP

   <?php
   echo "Hello, world!\n";
   ?>

или

   <?="Hello World!\n"?>

(Забележка: Трябва да са разрешени short_open_tags (short_open_tag = On) в php.ini short open tags) (Не е препоръчително, възможни конфликти с XML!)

[редактиране] PL/I

   Test: proc options(main) reorder;
     put skip edit('Hello, world!') (a);
   end Test;

[редактиране] Prolog

   write('Hello world'),nl.

[редактиране] Python

   write('Hello world'),nl.

[редактиране] Perl5

  print "Hello world\n";

[редактиране] Perl6

  say "Hello world";

[редактиране] Seed7

  $ include "seed7_05.s7i";

  const proc: main is func
    begin
      writeln("Hello, world!");
    end func;

[редактиране] Tex

Hello world
\bye

[редактиране] Visual Basic

Sub Main
  MsgBox "Hello, world!"
End Sub

[редактиране] Visual Basic .NET

Module HelloWorldApp
   Sub Main()
      System.Console.WriteLine("Hello, world!")
   End Sub
End Module

[редактиране] XUL

XUL e xml базиран език, разработен от Mozilla.

<?xml-stylesheet href="chrome://global/skin" type="text/css" ?>
<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
        align="center" pack="center" flex="1">
  <description>Hello, world!</description>
</window>


[редактиране] Външни препратки

Static Wikipedia (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2007 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2006 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Static Wikipedia February 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu