Helló XY
Változók
Egy program működése közben különböző adatokat tárol a memóriában, ezekkel műveleteket végez. Az adatok tárolására a programozási nyelvek bevezették a
változó (
variable) fogalmát. A változó egy névvel megjelölt memória-rész. Általában a következők jellemzők egy változóra:
- a változó neve, ezzel hivatkozunk rá a programban
- a változó típusa (type) (típusos nyelvekben); ez dönti el, hogy milyen értékek tárolhatók a változóban, és milyen műveletek végezhetők vele
- a változó hatásköre; ami azt adja meg, hogy egy összetett program mely részein hivatkozhatunk a változóra
- a változó élettartama; ez határozza meg, hogy a program futása során mettől meddig létezik a változó
Változók deklarációja
Bizonyos programozási nyelvekben használat előtt deklarálnunk kell a változókat, más nyelvekben erre nincs szükség. A deklarációnál megadjuk a változó nevét és típusát.
Konzol bemenet és kimenet
Minden programhoz tartozik egy szabványos bemenet (standard input), és egy szabványos kimenet (standard output). Legtöbbször ez a bemenet és kimenet a "konzol", ami azt jelenti, hogy egy (szöveges) képernyőn begépelhetünk adatokat, és a program üzenetei is ezen a képernyőn jelennek meg.
Az operációs rendszerek általában megengedik a szabványos bemenet és kimenet átirányítását (redirection), ami azt jelenti, hogy a bemenet egy állományból olvasható és egy másik állományba írható a kimenet.
A bemenet és kimenet kezelése a programozás nyelvek egyik legbonyolultabb része, itt térnek el leginkább egymástól a különböző nyelvek. Később foglalkozunk részletesebben a kérdéssel, most csak egy rövid példát adunk.
Példa
Egy karakterlánc típusú változóba beolvassuk a felhasználó nevét, majd köszönünk neki.
Pascal
program helloxy;
var nev : string;
begin
write('Mi a neved?');
readln(nev);
writeln('Hello ',nev,'!');
end.
Java
Az újabb nyelveknél a bemenet kezelése elválaszthatatlan az objektumoktól és a kivételkezeléstől, ezért a java példa jóval bonyolultabb, mint a pascal nyelven írt.
import java.io.*;
class helloxy
{
public static void main(String args[]) throws IOException
{
String nev;
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.print("Mi a neved? ");
nev = br.readLine();
System.out.println("Hello "+nev+"!");
}
}
A Java 1.5 óta megjelent a Scanner osztály, ami picit kényelmesebbé teszi a konzol bemenet feldolgozását.
import java.util.Scanner;
class helloxy
{
public static void main(String args[])
{
String nev;
Scanner be = new Scanner(System.in);
System.out.print("Mi a neved? ");
nev = be.nextLine();
System.out.println("Hello "+nev+"!");
}
}
C#
using System;
class helloxy
{
public static void Main()
{
string nev;
Console.Write("Mi a neved? ");
nev = Console.ReadLine();
Console.WriteLine("Hello " + nev + "!");
}
}