Форум Всеукраїнської інтернет-олімпіади NetOI


На форумі обговорюються лише питання, пов'язані з олімпіадою

Ви не зайшли.

#1 2012-07-07 16:18:06

IskanderUA
Новий користувач
Зареєстрований: 2012-07-07
Повідомлень: 9

Створення певного стандарту засобів

У наш час с Паскалем уже все зрозуміло, навіть при використанні FPC (Free Pascal Compiler) код компілюється в режимі BPC (Borland Pascal Compiler). Але у випадку з C/C++ все зовсім не так. Справа у тому, що після виходу Borland C++ 5.5 (1999 рік) вже було впроваджено 2 стандарти С++ і один стандарт С. Ці нестиковки у стандартах чітко ілюструє приклад: є 2 приклади коду програми:

#include <iostream.h>

int main()
{
    cout << "Hi!";   
    return 0;
}

Borland C++ 5.02 (найновіша версія цієї IDE, яку я знайшов): Компіляція успішна, программа виконана.
Borland C++ <5.02 (тобто така, яка стоїть у ВТЛ і школі №4 м. Жмеринка): теж успішно компілюється і виконується.
Dev-C++ 4.9.9.2 (GCC): Видало попередження, але скомпілювалось і виконалось.

#include <iostream>
using namespace std;

int main()
{
    cout << "Hi!";   
    return 0;
}

Borland C++ 5.02 (найновіша версія цієї IDE, яку я знайшов): Видало помилку, не скомпілювалося.
Borland C++ <5.02 (тобто така, яка стоїть у ВТЛ і школі №4 м. Жмеринка): теж видає помилку і не компілюється.
Dev-C++ 4.9.9.2 (GCC): Компіляція успішна, программа виконана.

Візьмемо будь-яку программу на С з кодом, наприклад:

for (int i = 0; i <= 5; i++)
{
    printf(%d, i);
}

Всі компілятори видадуть помилку, але тільки GCC із Dev-C++ 4.9.9.2 напише, що потрібно дописать ключ компіляції -std=c99.

До чого я веду: справа у тому, що навіть на обласному рівні олімпіади учні не знаходяться у рівних умовах - у ФМГ17 і ПДЮ є Dev-C++ з, порівняно новим, GCC, а у ВТЛ - стоїть старий BCC. Добре якщо учень знає, що для підтримки старого компілятора замість:

#include <iostream>
using namespace std;

потрібно писати:

#include <iostream.h>

а замість:

for (int i = 0; i <= 5; i++)

писати:

int i;
for (i = 0; i <= 5; i++)

А якщо учень цього не знає? Навіщо такі "костилі", якщо можна зробити стандарт засобів для використання на олімпіадах?
До речі, у більшості систем перевірки задач (типу http://acm.timus.ru/) якщо і є компілятор BCC, то є і GCC, і MVSC.

Поза форумом

 

#2 2012-09-24 12:41:37

LVV
Олімпієць
Звідки: Олешки
Зареєстрований: 2010-11-19
Повідомлень: 338
Вебсайт

Re: Створення певного стандарту засобів

Підтримую, стосовно "зробити стандарт засобів для використання на олімпіадах". Мені взагалі довелось встановлювати MSVC під час змагань... добре, що диск з собою прихватив, бо офіційний сайт на рівні сервера школи був заблокований...

Відредаговано LVV (2012-09-24 12:42:00)


Вік живи - вік навчайся.

Поза форумом

 

#3 2016-02-18 12:37:53

Vivos
Новий користувач
Звідки: Винница
Зареєстрований: 2016-02-18
Повідомлень: 1
Вебсайт

Re: Створення певного стандарту засобів

да, важно обговорить это сразу и иметь систему "не с коленки", а отменно функционирующую.


Для победы в олимпиаде важно шампунь с кератином для волос купить.

Поза форумом

 

#4 2016-03-25 16:09:08

Chelos
Новий користувач
Звідки: Винница
Зареєстрований: 2016-03-25
Повідомлень: 1
Вебсайт

Re: Створення певного стандарту засобів

стандарты в любом случае важны - устраняют неверные толкования.


Рекомендуем выбрать и купить ультразвуковой скрабер - ums-beauty.com.ua. Качественные УЗ!

Поза форумом

 

#5 2019-01-28 21:33:15

Пашун
Олімпієць
Зареєстрований: 2019-01-22
Повідомлень: 8

Re: Створення певного стандарту засобів

Стандарты обязательно должны быть, при чем во всем. Мы же знаем, что, например, на физру надо обувать специальные ботинки для мальчиков http://www.sportmaster.ua/ru/catalog/vz … ereviki22/ , так почему бы и тут стандарты не прописать?

Поза форумом

 

Нижній колонтитул

Powered by Likt
© Copyright 2002–2009 Likt