вторник, 30 сентября 2014 г.

ИНФОРМАТИКА

Учитель информатики Ушакова Н.П. добавила комментарии к олимпиаде!

Инструкция по решению

Пример формулировки олимпиадной задачи по программированию (Задача №1 в текущей системе из раздела Архив задач):
A+B
(Время: 1 сек. Память: 16 Мб Сложность: 2%)
Требуется сложить два целых числа А и В.
Входные данные
В единственной строке входного файла INPUT.TXT записано два натуральных числа через пробел, не превышающих 109.
Выходные данные
В единственную строку выходного файла OUTPUT.TXT нужно вывести одно целое число — сумму чисел А и В.
Пример

INPUT.TXT
OUTPUT.TXT
1
2 3
5
Эта классическая простая задача используется для ознакомления участников с системой автоматической проверки и соответствует всем критериям правильной постановки олимпиадной задачи. При решении этой задачи необходимо из входного файла input.txt, расположенного в текущей папке (где и Ваша программа) считать 2 целых числа и вывести их сумму в выходной файл output.txt . Ограничения по памяти в 16Мб и времени 1 сек. весьма условны, так как такая простая задача потребует минимальную память и выполнится за минимальный промежуток времени (операция сложения выполнится мгновенно, современные ЭВМ способны выполнять 108 таких операций в секунду). Каждая задача имеет пример входных и выходных данных (часто даже несколько примеров), это позволяет участникам более однозначно понять содержание задачи. В данном примере в разделе "Пример" отражен пример входных данных "2 3" и выходных "5", это означает, что 2+3=5.

В мире предпочтение отдается языку С++, но в России по-прежнему классическим языком программирования остается Pascal, а именно, большинство олимпиадных задач в России решается на DelphiДалее мы в основном будем использовать язык С++ для рассмотрения примеров решения задач. Здесь можно ознакомиться с различными средами разработки программ на С++ на примере решения задачи "А+В".

Приведем пример решения рассмотренной выше задачи о сложении двух чисел на языках С и Pascal:
//Реализация задачи №1 "A+B" на C
#include <stdio.h>
long a,b;
int main(){
  freopen("input.txt","r",stdin);
  freopen("output.txt","w",stdout);
  scanf("%ld%ld",&a,&b);
  printf("%ld",a+b);
  return 0;
}
{Реализация задачи №1 "A+B" на Pascal}
var a, b : longint;
begin
  assign(input, 'input.txt'); reset(input);
  assign(output, 'output.txt'); rewrite(output); {Обязательные строки для всех задач}
  read(a, b);
  write(a + b);
end.
//Реализация задачи №1 "A+B" на Java
import java.util.*;
import java.io.*;
public class Main{ //имя класса должно быть Main
  public static void main(String[] argv) throws IOException{
    new Main().run();
  }
  PrintWriter pw;
  Scanner sc;
  public void run() throws IOException{
    sc = new Scanner(new File("input.txt"));
    int a=sc.nextInt(), b=sc.nextInt();
    pw = new PrintWriter(new File("output.txt"));
    pw.print(a+b);
    pw.close();
  }
}
'Реализация задачи №1 "А+В" на Basic
Sub Main()
  open "input.txt" for input as #1
  open "output.txt" for output as #2
  input #1,a#,b#
  print #2,a#+b#
  close #1
  close #2
End Sub

Комментариев нет:

Отправить комментарий