Особенности компиляторов, используемых во время Зимней Школы



Скачать 127.76 Kb.
Дата17.02.2013
Размер127.76 Kb.
ТипДокументы

Особенности компиляторов, используемых во время Зимней Школы

С++

Доступные типы данных


Тип данных

Размер

Доступные значения

short

2 байта

-32 768 … 32 767

unsigned short

2 байта

0 … 65 535

Int

4 байта

-2 147 483 648 … 2 147 483 647

unsigned int

4 байта

0 … 4 294 967 295

long

4 байта

-2 147 483 648 … 2 147 483 647

unsigned long

4 байта

0 … 4 294 967 295

long long

8 байтов

- 9 223 372 036 854 775 808 … 9 223 372 036 854 775 807

unsigned long long

8 байтов

0 … 184 467 440 737 095 516 615

float

4 байта

- 3.40282346638528859811704183485 * 1038 … 3.40282346638528859811704183485 * 1038

double

8 байтов

- 1.79769313486231570814527423732 * 10308 … 1.79769313486231570814527423732 * 10308

long double

12 байтов



Изменение размеров стека


#pragma comment(linker, "/STACK:10000000")

Размер стека указывается в байтах

Открытие файлов


В С++ для более быстрого доступа к содержимому файла принято использовать перенаправление консоли в файл. Это делается с помощью следующей функции:

freopen("file.in", "r", stdin);

freopen("file.
out", "w", stdout);

Для использования функции необходимо подключить библиотеку:

#include

Считывание различных типов данных


scanf("[*][ширина][модификаторы]тип");

[*] - аргумент, который показывает, что считываемые данные не сохраняются

[ширина] - указывает количество символов которые должны быть считаны с данной позиции.

[модификаторы] h : short int или unsigned short int

l : long int или unsigned long int или double

L : long double

типы: с: считывает следующий символ. Если ширина отличается от 1, функция считывает строку символов. Функция не ожидает нулевого завершителя в конце строки!!!

d: число в 10-ричной системе счисления. Может быть начато со знака + или -

e,E,f,g,G: число с плавающей точкой. Число в 10-ричной системе счисления, которое может начинаться со знака + или - и опционально завершаться символом e(E) и числом в 10-ричной системе счисления.

e - число в научной нотации (содержащее символ e).

E - число в научной нотации (содержащее символ E).

f - число в обычной нотации

g - автоматический выбор между e и f

G - автоматический выбор между E и f

o: число в 8-ричной системе счисления.

s: считывает последовательность символов до тех пор пока не встретиться первый не печатаемый символ.

u: беззнаковое число в 10-ричной системе счисления

x, X: число в 16-ричной системе счисления x - в маленьких буквах X - в больших буквах

Примеры использования для типов:

short scanf(“%hd”, &a);

unsigned short scanf(“%hu”, &a);

int (long) scanf(“%d”, &a); scanf(“%ld”, &a);

unsigned int (unsigned long) scanf(“%i”, &a); scanf(“%lu”, &a);

long long (int64) scanf(“%Ld”, &a);

float scanf(“%f”, &a); scanf(“%lf”, &a);

double scanf(“%Lf”, &a);

Пример ввода-вывода ряда значений:




double* L = new double[k];



int i = 0;

while(scanf("%lg", &L[i++]));



for(i = 0; i < k; i++) {

printf("%lg", L[i]);


}С#

Доступные типы данных


Тип данных

Размер

Доступные значения

byte

1 байт

0...255

short

2 байта

-32768...32767

Int

4 байта

-2147483648...2147483647

long

8 байт

-9223372036854775808...9223372036854775807

ushort

2 байта

0...65535

uint

4 байта

0...4294967295

ulong

8 байт

0...18446744073709551615

float

4 байта

- 3.40282346638528859811704183485 * 1038 … 3.40282346638528859811704183485 * 1038

double

8 байт

- 1.79769313486231570814527423732 * 10308 … 1.79769313486231570814527423732 * 10308

Изменение размеров стека


Невозможно. Размер стека – 1 мегабайт.

Открытие файлов


StreamReader file_in = new StreamReader("file.in");

StreamWriter file_out = new StreamWriter("file.out");

Считывание различных типов данных


file_in.ReadLine() – считывает строку

file_in.ReadToEnd() – считывает всё до конца файла

Далее необходимо распарсить строки, для того чтобы получить результат, нужного типа.

Пример ввода-вывода ряда значений:




StreamReader file_in = new StreamReader("file.in");

StreamWriter file_out = new StreamWriter("file.out");

i = 0;

double[] x = new double[k]; //k – количество символов

while(!file_in.EndOfStream)

{

string str = file_in.ReadLine();

while (str.Length != 0)

{

int t = str.IndexOfAny(new char[]{ ' ', '\r', '\n', '\t'});

string tmp = str.Substring(0, t);

tmp = str.Replace(‘.’, ‘,’); //Если установлена русская

//локаль. На сервере –

//английская, данная

//строчка не нужна.

str = str.Substring(t + 1);

bool b = Double.TryParse(tmp, out x[i]);

if(b)

{

i++;

}

}

}



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

{

file_out.WriteLine(x[i].ToString());
}

file_out.Close(); //Без закрытия файла возможна потеря данных;

Pascal/Delphi

Доступные типы данных


Тип данных

Размер

Доступные значения

Byte

1 байт

0…255

ShortInt

1 байт

-128...127

Word

2 байта

0…65535

Integer

2 байта

-32768...32767

LongInt

4 байта

-2147483648...2147483647

Real

8 байт

- 3.40282346638528859811704183485 * 1038 … 3.40282346638528859811704183485 * 1038

Double

8 байт

- 1.79769313486231570814527423732 * 10308 … 1.79769313486231570814527423732 * 10308

Extended

10 байт



Изменение размеров стека


{$M MIN_STACK_SIZE, MAX_STACK_SIZE}

MIN_STACK_SIZE – минимальный размер стека в байтах

MAX_STACK_SIZE – максимальный размер стека в байтах

При указании значений, минимальный размер должен быть меньше максимального и оба числа должны лежать в пределах от 1024 до 2147483647.

Для изменения только одной границы используются директивы препроцессора:

{$MINSTACKSIZE number}

{$MAXSTACKSIZE number}

Для изменения минимального и максимального размера стека соответственно.

Открытие файлов


assign (input, ‘file.in’);

reset(input)

assign (output, ‘file.out’);

rewrite(output);

Считывание различных типов данных


Read(var1[, var2, …, var n]);

Пример ввода-вывода ряда значений:


uses

SysUtils;

var

x: array[1…k] of double;

i: longint

begin

assign (input, ‘file.in’);

reset(input)

assign (output, ‘file.out’);

rewrite(output);

i := 1;

while not(eof(input)) do

begin

read(x[i]);

i := i + 1;

end;



i := 1;

while i < k do

begin

write(floattostr(x[i]));

i++;

end;

end.

Java

Доступные типы данных


Тип данных

Размер

Доступные значения

char

2 байта

0...65535

byte

1 байт

-128...127

short

2 байта

-32768...32767

Int

4 байта

-2147483648...2147483647

long

8 байт

-9223372036854775808...9223372036854775807

float

4 байта

- 3.40282346638528859811704183485 * 1038 … 3.40282346638528859811704183485 * 1038

double:

8 байт

- 1.79769313486231570814527423732 * 10308 … 1.79769313486231570814527423732 * 10308

Изменение размеров стека


Возможно при указании параметров JRE:

-Xss размер стека для потока с указанием единиц измерения.

Например: java -Xss80M <класс>

Открытие файлов


import java.io.*



Scanner in = new Scanner(new File(“file.in”));

PrintWriter out = new PrintWriter(new File(“file.out”));

Для более быстрого считывания используют:

import java.io.*



BufferedReader in = new BufferedReader(new FileReader(“file.in”);

Считывание различных типов данных


При использовании класса Scanner

import java.io.*



in.next();

in.nextBoolean(); - считывание переменной типа boolean

in.nextByte(); - считывание переменной типа byte

in.nextDouble(); - считывание переменной типа double

in.nextFloat(); - считывание переменной типа float

in.nextInt(); - считывание переменной типа int

in.nextLine(); - считывание строки

in.nextLong(); - считывание переменной типа long

in.nextShort(); - считывание переменной типа short

При использовании класса BufferedReader:

import java.io.*



in.readLine();

Далее необходимо распарсить строку, для удобства можно поместить её в токенайзер:

import java.util.*



StringTokenizer st = new StringTokenizer(br.readLine());

Пример ввода-вывода ряда значений:


import java.io.*;

import java.util.StringTokenizer;



double[] x = new double[k];

try {

BufferedReader br = new BufferedReader(new FileReader("file.in"));

while(br.ready()) {

StringTokenizer st = new StringTokenizer(br.readLine());

int i = 0;

while(st.hasMoreTokens()) {

x[i] = Double.parseDouble(st.nextToken());

i++;

}

}

}

catch(Exception e) {}



Try {

PrintWriter out = new PrintWriter("file.out");

for(int i = 0; i < k; i++) {

out.write(x[i].ToString(x[i]));

}

out.close(); //Без закрытия файла возможна потеря данных;

}

catch(Exception e) {}

Похожие:

Особенности компиляторов, используемых во время Зимней Школы iconОтчет о Второй зимней
Целью Второй зимней школы было формирование навыков эффективной работы с информацией по острым проблемам общественного здоровья у...
Особенности компиляторов, используемых во время Зимней Школы iconПредлагаю вниманию школьников и учителей материалы занятий Зимней Гуманитарно-математической школы, проходившей с 4 по 11 января 2007 года в c. Красноярка
Предлагаю вниманию школьников и учителей материалы занятий Зимней Гуманитарно-математической школы, проходившей с 4 по 11 января...
Особенности компиляторов, используемых во время Зимней Школы iconОтличительные особенности школы
Коллектив школы пытается выстроить свою модель адаптивной системы, используя анализ результатов образовательного процесса, опыт педагогов...
Особенности компиляторов, используемых во время Зимней Школы iconСписок электронных образовательных ресурсов, используемых учителями и учащимися школы в учебной деятельности

Особенности компиляторов, используемых во время Зимней Школы iconСценарий Новогоднего праздника для начальной школы 2009 год «Зимней Сказочной порой»
На сцене стоит Снеговик. Звучит музыка, появляется Баба – Яга. Смотрит по сторонам и замечает Снеговика
Особенности компиляторов, используемых во время Зимней Школы iconИстория школы
Преемственность поколений как учителей, так и учеников, — одна из замечательных традиций нашей школы. В настоящее время сплоченный,...
Особенности компиляторов, используемых во время Зимней Школы iconОлимпийские и паралимпийские виды спорта
Слайд 1 Во время 119 сессии Международного Олимпийского Комитета в городе Гватемала выбрали столицу Зимней Олимпиады 2014 года город...
Особенности компиляторов, используемых во время Зимней Школы iconПрограмма школы: 11. 12. 2011 09: 00: Отправление автобуса от Балтийского вокзала г. Санкт-Петербург
Центр международных программ приглашает всех желающих принять участие в Выездной зимней школе, которая пройдет с 11 по 17 декабря...
Особенности компиляторов, используемых во время Зимней Школы iconПрограмма зимней психологической школы (зпш) гу-вшэ 2010 "Инновационные тенденции психологического образования"
Зимняя психологическая школа ориентирована на работу с потенциальными магистрами факультета психологии гу-вшэ (выпускники вузов и...
Особенности компиляторов, используемых во время Зимней Школы iconУчебный план и его обоснование. Особенности применяемых педагогических технологий и образовательного пространства школы
Характеристика социального заказа на образовательные услуги и его влияние на образовательную деятельность школы
Разместите кнопку на своём сайте:
ru.convdocs.org


База данных защищена авторским правом ©ru.convdocs.org 2016
обратиться к администрации
ru.convdocs.org