Jump to content

A+B

Վիքիպեդիայից՝ ազատ հանրագիտարանից

A+B, սպորտային ծրագրավորման մեջ հանդիսանում փորձնական խնդիր։ Այդ խնդիրն օգտագործվում է օլիմպիադաներում՝ մասնակիցների թեստային համակարգի հետ ծանոթացնելու համար[1]։

Սովորաբար ծրագրավորման մրցաշարերի ժամանակ կազմակերպիչներն ընդհանրապես չեն նայում այդ ծրագրի կոդին։ Հատուկ թեստավորման համակարգը կոմպիլացնում է խնդրի լուծումը և մեկնարկում է դա նախապես պատրաստված թեստերով։ Եթե լուծումը անցնում է մուտքագրման թեստերով և հաջող արդյունք է ցույց տալիս, ապա խնդիրը համարվում էր լուծված։ Ընդ որում, մասնակիցը պետք է խստորեն հետևի օլիմպիադաների կանոններին, մուտքագրի և դուրս բերի ամբողջ տեղեկությունը ճիշտ ձևաչափով և չմիացնի ծրագրին տարբեր արգելված մոդուլներ (օրինակ՝ conio.h-ը)։

Օլիմպիադայի տևողությունը, որպես կանոն, շատ սահմանափակ է։ Եվ օլիմպիադայի սկզբում մասնակիցների մոտ ժամանակ չկա ստուգել թեստավորող համակարգի հնարավորությունները։ Մրցույթի սկզբում մասնակիցները պետք է կարողանան հեշտությամբ կառավարել թեստավորման համակարգը և նրա միջերեսը։ Որպեսզի մասնակիցներին ծանոթացնեն թեստավորման համակարգին մինչև հիմնական տուրը, անցկացվում է փորձնական տուր, որի ժամանակ մասնակիցներին առաջարկվում են պարզ խնդիրներ, որի լուծման համար անհրաժեշտ ալգորիթմները պարզունակ են։ Հաճախ փորձնական տուրի ժամանակ լինում է «A+B» խնդիրը։

Հասկանալի է, որ փորձնական փուլի ժամանակ կարող է լինել ցանկացած ուրիշ պարզ խնդիր։ Երբեմն փորձնական փուլի ժամանակ լինում են մի քանի պարզ խնդիրներ, որպեսզի մասնակիցները մուտքագրեն տարբեր տեսակի տվյալներ։ Փորձնական փուլի խնդիրների բարդությունը կարող է լինել «A+B» խնդրի հեշտության կամ ավելի բարդ, չնայած որ շատ բարդ խնդիրներ փորձնական փուլում չեն տեղադրում։

«A+B»-ն պատկանում է սպորտային ծրագրավորման այն սակավաթիվ խնդիրների շարքին, որոնք չունեն սյուժե։

Խնդրի պայմանները

[խմբագրել | խմբագրել կոդը]

Տրված է երկու թիվ՝ A-ն և B-ն։ Պահանջում է գտնել նրանց գումարը․

Մուտքային տվյալներ

[խմբագրել | խմբագրել կոդը]

Մուտքային հոսքում՝ միակ տողում բացատով գրված են երկու թվեր՝ A-ն և B-ն․

Ելքային տվյալներ

[խմբագրել | խմբագրել կոդը]

Ելքային հոսքում պետք է մուտքագրել միակ ամբողջական թիվը՝ A և B թվերի գումարը։

Տվյալներ Արդյունք
2 2 4
3 2 5

Խնդրի լուծումը

[խմբագրել | խմբագրել կոդը]

Լուծման ալգորիթմ

[խմբագրել | խմբագրել կոդը]

«A+B» խնդրի լուծման ալգորիթմը իրենից ներկայացնում է գործողությունների պարզ հաջորդականություն։ Ալգորիթմը կարելի է կազմել հետևյալ կերպ․

  1. Հաշվել A-ն
  2. Հաշվել B-ն
  3. Գումարել A-ն և B-ն
  4. Արտածել ստացված գումարը

Այդ խնդրի լուծումները տարբեր ծրագրավորման լեզուներով

[խմբագրել | խմբագրել կոդը]

C ծրագրավորման լեզվով

[խմբագրել | խմբագրել կոդը]
#include <stdio.h>

void main()
{
    int a, b;

    scanf("%d%d", &a, &b);
    printf("%d\n", a + b);
}

Պասկալ ծրագրավորման լեզվով

[խմբագրել | խմբագրել կոդը]
program aplusb;
var a, b : longint;
begin
    Read(a, b);
    WriteLn(a + b);
end.

Ջավա ծրագրավորման լեզվով

[խմբագրել | խմբագրել կոդը]
import java.util.Scanner;

public class AplusB {

	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		int a = scanner.nextInt();
		int b = scanner.nextInt();
		System.out.println(a + b);
	}

}

C++ ծրագրավորման լեզվով

[խմբագրել | խմբագրել կոդը]
#include <iostream>
using namespace std;
int main()
{
    int a, b;
    cin >> a >> b;
    cout << a + b;
    return 0;
}

С# ծրագրավորման լեզվով

[խմբագրել | խմբագրել կոդը]
using System;

class Program
{
    static void Main()
    {
        string[] input = Console.ReadLine().Split(' ');
        Console.WriteLine(int.Parse(input[0]) + int.Parse(input[1]));
    }
}

Python 3 ծրագրավորման լեզվով

[խմբագրել | խմբագրել կոդը]
a, b = map(int, input().split(' '))
print(a + b)

Perl ծրագրավորման լեզվով

[խմբագրել | խմբագրել կոդը]
($a, $b) = split /\s/, <>; 
print $a + $b . "\n";

Common Lisp ծրագրավորման լեզվով

[խմբագրել | խմբագրել կոդը]
(let ((a (read))
      (b (read))
  (format t "~a~%" (+ a b)))

Ruby ծրագրավորման լեզվով

[խմբագրել | խմբագրել կոդը]
puts gets.split.map(&:to_i).inject(:+)

Haskel ծրագրավորման լեզվով

[խմբագրել | խմբագրել կոդը]
main = print . sum . map read . words =<< getLine

AWK ծրագրավորման լեզվով

[խմբագրել | խմբագրել կոդը]
{print $1+$2}

A+B խնդիրը տարբեր կայքերում

[խմբագրել | խմբագրել կոդը]

Ծանոթագրություններ

[խմբագրել | խմբագրել կոդը]