ХКОИС
ХРРЦ
Регистрация
Забыли пароль?
Логин:
Пароль:
Поиск
Справочные сведения о системе образования Хабаровского края
Новости образования Хабаровского края
Информация и документы из министерства образования и науки Хабаровского края
Хабаровская краевая заочная физико-математическая школа
РЕГИОНАЛЬНАЯ ОЛИМПИАДА ШКОЛЬНИКОВ
Подготовка к олимпиадам по информатике
Подготовка к олимпиадам по информатикеДополнительные и справочные материалы > Тренировочные задачи для подготовки к использованию файлов на региональном туре олимпиады школьников по информатике (2014 год)
Тренировочные задачи для подготовки к использованию файлов на региональном туре олимпиады школьников по информатике (2014 год)
Задача для самостоятельного решения
 
Во входном текстовом файле “primer1.in” содержится последовательность целых чисел. Необходимо найти в последовательности положительное число, которое имеет наименьшее значение, номер первого такого числа в последовательности и количество повторений этого числа и сохранить их в выходном текстовом файле “primer1.out”.  Гарантируется, что в последовательности имеется хотя бы одно положительное число.
Описание входных и выходных данных. Во входном файле “primer1.in” содержатся  целые числа по одному в строке. В выходном файле “primer1.out” в первой строке записано наибольшее число, во второй его номер, в третьей количество повторений этого числа в файле.
 
Входной файл “primer1.in”
Выходной файл “primer1.out”
1000
23
432
-33
-543
333
23
23
11
23
11
45
11
9
2
 
Примеры работы с файлами на языках Паскаль, Бейсик, С, С++
 
Задача. Во входном текстовом файле “primer.in” содержатся два числа, соответствующих началу и концу отрезка числовой прямой, а также последовательность целых чисел. Необходимо найти все числа из последовательности, которые принадлежат заданному отрезку, а также являются кратными 3 и 5 и сохранить их в выходном текстовом файле “primer.out”.
Описание входных и выходных данных. В первой строке входного файла “primer.in” содержатся два целых числа, разделенных пробелами, из которых второе больше первого, в следующих строках содержатся по одному целому числу. В выходном файле “primer.out” содержатся целые числа, удовлетворяющие критерию отбора, по одному в строке.
 
Решение задачи на Паскале
 
Программа
Пояснения
program test;
var
a,b,c: integer;
f1,f2: text;
begin
assign(f1,'primer.in');
reset(f1);
assign(f2,'primer.out');
rewrite(f2);
read(f1,a,b);
while not eof(f1) do
begin
readln(f1,c);
if (c>=a) and (c<=b) and (c mod 3=0) and (c mod 5=0) then
              writeln(f2,c)
end;
close(f1);
close(f2)
end.
Заголовок программы
Начало описания переменных
Описание целых переменных
Описание переменных для файлов
Начало программы
Отождествление файла с переменной f1
Открытие файла для чтения
Отождествление файла с переменной f2
Открытие файла для записи
Чтение значений из файла в переменные  a и b
ПОКА не (конец файла f1) ДЕЛАТЬ
Начало цикла
Читаем значение из файла f1 в переменную c
Если значение удовлетворяет условию отбора
То
Записываем значение переменной с в файл f2
Конец цикла
Закрываем файл f1
Закрываем файл f2
Конец программы
 
Решение задачи на Бейсике
 
Программа
Пояснения
OPEN «primer.in» FOR INPUT AS #1
OPEN «primer.out» FOR OUTPUT AS #2
INPUT #1, a, b
WHILE NOT EOF(1)
INPUT #1, c
IF (a <= c) AND (b >= c) AND (c MOD 3 = 0) AND (c MOD 5 = 0) THEN PRINT #2, c
WEND
CLOSE #1
CLOSE #2
Открытие файла для чтения
Открытие файла для записи
Чтение значений a и b из файла
ПОКА не (конец входного файла)
Читаем значение из файла в переменную c
Если значение с удовлетворяет условию отбора, то записываем с в выходной файл
Конец цикла
Закрываем входной файл
Закрываем выходной файл
 
Решение задачи на C
 
Программа
Пояснения
#include <stdio.h>
void main()
{
  int a,b,c;
  FILE *ifile;
  FILE *ofile;
 
  ifile=fopen(«primer1.in“,"r»);
  ofile=fopen(«primer1.out“,"w»);
 
  if (ifile==0 || ofile==0)    return;
 
  fscanf(ifile,"%i %i»,&a,&b);
 
  while(!feof(ifile) ) {
    fscanf(ifile,"%i»,&c);
    if ( c>=a && c<=b &&
        (c%3==0) && (c%5==0) )
      fprintf(ofile,"%in»,c);
  }
  fclose(ifile);
  fclose(ofile);
}
Подключение заголовочного файла
 
 
Описание целых переменных
Описание переменных для файлов
 
 
Открытие файла для чтения
Открытие файла для записи
 
Не открылся любой из файлов — выходим.
 
Чтение значений a и b из файла
 
ПОКА не (конец входного файла)
Читаем значение из файла в переменную c
Если значение с удовлетворяет условию отбора,
 
то записываем с в выходной файл
Конец цикла
Закрываем входной файл
Закрываем выходной файл
 
Решение задачи на C++
 
Программа
Пояснения
#include <fstream.h>
void main()
{
  int a,b,c;
 
  ifstream ifile(«primer1.in»);
  ofstream ofile(«primer1.out»);
 
  if ( ifile.bad() || ofile.bad() )   return;
 
  ifile >> a;   ifile >> b;
 
  while(ifile >> c) {
   
    if ( c>=a && c<=b &&
         (c % 3==0) && (c % 5 ==0) )
      ofile << c << «n»;
  }
 
}
Подключение заголовочного файла
 
 
Описание целых переменных
 
Открытие файла для чтения
Открытие файла для записи
 
Не открылся любой из файлов — выходим.
 
Чтение значений a и b из файла
 
ПОКА (Читаем значение из файла в переменную c)
Если значение с удовлетворяет условию отбора,
 
то записываем с в выходной файл
Конец цикла
 
Файлы закроются автоматически
 
Примеры входных и выходных данных
 
Входной файл “primer.in”
Выходной файл “primer.out”
1 1000
23
432
546
78
45
345
68
3456
768
435
766
150
510
45
345
435
150
510
 
Создание файлов для тестирования
 
  1. Создайте новый файл аналогично тому, как создается файл для текста новой программы на Паскале или на Бейсике.
  2. Заполните файл входными данными из приведенного примера или придумайте их самостоятельно, соблюдая требования задачи.
  3. Сохраните файл с именем и расширением, указанными в тексте задачи (например: primer.in). При необходимости можно изменять данные в файле и сохранять снова.
 
Проверка результатов работы
 
  1. Можно открыть файл с результатами работы в редакторе системы программирования.
  2. Можно открыть файл с результатами работы в редакторе «Блокнот» (notepad), входящем в поставку операционных систем семейства WINDOWS.
 
Copyright © 2005–2017 ХабЦНИТ ТОГУ Отправить письмо
Создание сайтов в Хабаровске