Как составить входной файл

Le_Xa

1 / 1 / 1

Регистрация: 17.11.2010

Сообщений: 12

1

17.11.2010, 18:16. Показов 11358. Ответов 6

Метки нет (Все метки)


Студворк — интернет-сервис помощи студентам

Например входной input.txt выходной output.txt

Pascal
1
2
3
4
5
6
7
8
program poizvedenie;
var n,l,s:integer;
begin
writeln ('ââåäèòå 2 ÷èñëà');
read (n,l);
s:=n*l;
write ('ðàâíî',s)
end.

Помогите сделать на этом примере,что бы брались 2 числа из input.txt и выходились output.txt



0



80 / 82 / 36

Регистрация: 20.11.2009

Сообщений: 326

17.11.2010, 19:00

2

Олимпиады что ли начались в стране?
входной
reset(f)

выходной
rewrite(f)

есть свои тонкости, курите мануалы. Под тонкостями имеется ввиду ioresult, путь к файлу и закрытие файла close(f), естественно, что файлы должны быть предварительно описаны в блоке описаний и соглашений



1



Почетный модератор

64285 / 47584 / 32739

Регистрация: 18.05.2008

Сообщений: 115,182

17.11.2010, 19:04

3

Цитата
Сообщение от Kizer
Посмотреть сообщение

имеется ввиду ioresult

В АВС этого нет, там типа fileexits(filename);



1



1 / 1 / 1

Регистрация: 17.11.2010

Сообщений: 12

17.11.2010, 19:06

 [ТС]

4

Не могли бы ткнуть где это расписано?



0



Почетный модератор

64285 / 47584 / 32739

Регистрация: 18.05.2008

Сообщений: 115,182

17.11.2010, 19:09

5

Запускаем АВС, жмем кнопку Помощь, выбираем Стандартные процедуры и функции, Файловые стандартные процедуры и функции



1



0 / 0 / 0

Регистрация: 31.01.2011

Сообщений: 4

31.01.2011, 22:06

6

В этой помощи, как-то скудно все… ((



0



кристина280900

27.11.2014, 16:58

7

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
program name;
var
n,l,s,a:integer;
begin
assign(input,'a.in');
reset(input);
assign(output,'a,out');
rewrite(output);
readln(n);
s:=n*l;
writeln('s=',s);
readln;
close(output);
end.

IT_Exp

Эксперт

87844 / 49110 / 22898

Регистрация: 17.06.2006

Сообщений: 92,604

27.11.2014, 16:58

7


1


Работа с входными и выходными файлами Зачем это нужно и как это сделать Подготовила Пресняк Т.В.


2


Для чего нужны входной и выходной файлы Мы рассматривали задачи, в которых во время выполнения программ данные поступали с клавиатуры, а результаты выводились на экран дисплея. Поэтому ни исходные данные, ни результаты не сохранялись. Всякий раз при выполнении одной и той же программы, особенно во время ее отладки, приходится заново вводить исходные данные. А если их очень много? В языке Паскаль есть возможность записать их на диск. Для этого создаются входные (содержащие исходные данные) и выходные (содержащие результат выполнения программы) файлы. В языке Паскаль файл представляет собой последовательность элементов одного типа.


3


Работа с входным файлом На диске «С» сохраняем файл, созданный в «Блокноте» с именем «input», в котором записываем исходные данные для программы Для установления связи между входным файлом и программой имеется стандартная процедура: Assign(input, c:input.txt); – где input – имя входного файла, а c:input.txt – путь к данному файлу Чтение исходных данных из файла: Reset(input);- открываем файл для чтения Read(a,b); – читаем данные файла в программу (a и b – переменные) Закрытие входного файла: Close(input); Между операторами Reset, Read, Close могут быть другие операторы в программе


4


Запись результата в выходной файл Под записью файла понимается вывод результатов программы из оперативной памяти на диск, т.е. создание нового файла на внешнем устройстве. Для записи файла в программе необходимо выполнить следующие действия: Assign(output,C:output); Rewrite(output.txt); – открыть файл для записи Writeln(s); – записать данные в файл, при этом запись идет поэлементно Close(output); – закрыть файл для записи


5


Пример программы 1 Задача : Д аны т ри ц елых ч исла. Н айдите среднее и з н их п о с воему з начению


6


Решение: Program chislo; Var a,b,c,sr: integer; Begin Assign(input,c:input.txt); Reset(input); Read(a,b,c); Close(input); If (a


7


Пример программы 2 Задача : Дано N- е количество пар двузначных чисел. Найти среди них такие пары чисел, сумма которых равна 100.


8


Пример программы 2 Решение : Program para_chisel; Var N,a,b,S: integer; Begin Assign(input,c:input.txt); Assign(output,c:output.txt); Reset(input); Rewrite(output); Read(N); For i:=1 to N do Begin Read(a,b); S:=a+b; If S=100 then writeln(a:3,b:3); end; Close(input); Close(output); End.

Файл входных данных – эта таблица определенной структуры (по сути XLSX файл), которая показывает, откуда программе нужно собрать цены. Файл входных данных содержит колонку с наименованиями товаров (или артикулами), необязательную колонку “Цена”, и колонку, содержащую ссылки на товары в том магазине, откуда нужно собирать цены.

Создание файла входных данных инструментами программы

Для создания файла входных данных средствами программы:

  1. Перейдите на вкладку “Входные данные” главного окна программы;
  2. Нажмите кнопку “Очистить данные” для удаления информации из области данных. Внимание! Вся несохраненная информация будет потеряна.

Добавление нового товара

  1. Нажмите кнопку “Добавить товар”.

2. В окне ввода данных напишите:

    1. В поле “Наименование товара” – название товара, цену которого нужно собирать.
    2. В поле “Базовая цена” – эталонную цену товара, с которой программа будет сравнивать цены конкурентов. Данное поле не обязательно для заполнения.
    3. В поле “Ссылки на товар в магазинах для мониторинга” указываем ссылку (или ссылки) на искомый товар в магазинах, откуда их нужно собирать.

3. Если планируете продолжить добавление товаров, нажмите кнопку “Добавить еще один товар”. Если закончили добавление товаров, нажмите кнопку “Готово”.

Добавление магазина

Если вам нужно в существующие входные данные добавить для мониторинга еще один магазин, нажмите кнопку “Добавить магазин”, в открывшемся окне введите ссылку на любой товар в этом магазине и нажмите кнопку “ОК”.

Новый магазин будет добавлен во входные данные.

Ссылки на страницы товаров нового магазина можно добавить дважды кликнув на ячейку напротив нужного товара.

Альтернативный вариант заполнения входных данных

Заполнять нужные данные можно прямо в таблице “Входные данные”. Двойной щелчок мыши делает поле активным для редактирования и вы можете туда добавить любую нужную информацию.

Создание файла входных данных самостоятельно

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

В первой строке входной таблицы содержится служебная информация – это названия столбцов с данными.

В первом столбце пишем «Товар». Туда мы будем добавлять названия товаров или артикулы.

Второй столбец – “Цена”. Это не обязательные данные, они нужны если вы планируете сравнивать свои цены с ценами конкурентов или поставщиков. Если вам нужны только цены с сайтов – его можно не делать.

Третий и последующие столбцы будут с названиями сайтов, откуда будем собирать данные. Столбец будет заполнять ссылками на страницы с товарами, цены которых собираем.

Пример файла с входными данными можно увидеть на скриншоте:

Тестовый входной файл

Проверить работу программу можно с помощью тестового входного файла. Тестовый файл входных данных имеет нужную структуру, а настройки магазинов, с которых программа собирает данные, уже добавлены. Задача тестового файла – продемонстрировать работу программы на наглядном примере.

Тестовый входной файл называется test-input-default-ru.xlsx. Его можно найти в папке test_input_files настроек программы.

В папку с настройками можно попасть кликнув кнопку “Папка программы” с вкладки “Дополнительно”.

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

Входные данные

Строка
входного файла содержит два целочисленных
значения, разделенных одним пробелом.

Выходные
данные

Строка
выходного файла содержит одно значение
– значение суммы введенных чисел.

    1. Содержание отчета

1.
Текст задания.

2.
Описание способов представления данных
в памяти ЭВМ.

3.
Тексты программ.

4.
Коды представления входных данных для
разных типов данных.

5.
Предусловие и постусловие для всех
вариантов программы.

6.
Результаты выполнения программы.

7.
Выводы по работе.

  1. Лабораторная
    работа № 3. УПРАВЛЕНИЕ ПРИ ПОМОЩИ ТАБЛИЦ

Целью
работы является освоение алгоритма
обработки данных – управление с помощью
таблиц – и его реализация.

    1. Задание на работу

Написать
программу, использующую механизм
управления при помощи таблиц (управление
осуществляется данными!).

Программа
должна (в соответствии с индивидуальным
заданием) выполнять распознавание или
обработку текстовых данных с помощью
конечного автомата.

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

Ограничения,
накладываемые на реализацию
:
программа может запоминать только
текущее состояние и последний введенный
символ. Не должны использоваться никакие
дополнительные массивы или переменные
для хранения введенных данных.

Ориентировочная
схема работы главного цикла программы:

  1. Ввод
    символа из файла

  2. Переход
    автомата в новое состояние в зависимости
    от введенного символа и текущего
    состояния

  3. Вывод
    символа в выходной файл, либо другое
    действие (в зависимости от задания)

Перевод
автомата в новое состояние (п. 2) и выбор
действия для выполнения (п. 3) могут быть
реализованы несколькими способами. От
способа реализации зависит максимальный
балл за выполнение работы:

  1. Выбор
    действия и состояния с помощью ветвлений
    (if, switch) – 60%

  2. Выбор
    состояния с помощью таблицы (массива),
    а действия с помощью ветвления – 80%

  3. Выбор
    состояния и действия с помощью таблиц
    (для действий используются указатели
    на функции) – 100%

    1. Пример выполнения задания

В
исходном файле выделить все десятичные
константы со знаком целого и вещественного
типа, а так же все возможные скобки.

Классы выделяемых литер

Рис.
3.1.

Выделяемые литеры

Классы выделяемых лексем

Рис.
3.2.

Выделяемые лексемы

Диаграмма (граф) переходов

Рис.
3.3.

Диаграмма переходов

Таблица
переходов

Классы
литер

Состояния

Цифра

Знак

Скобка

Точка

Всё остальное

1) Исходное состояние

2

5

6

4

0

2) Целое число

2

0

0

3

0

3) Вещественное число

3

0

0

0

0

4) Ошибка

3

0

0

0

0

5) Ошибка

2

0

0

3

0

6) Скобка

0

0

0

0

0

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]

  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #

Цели урока:

  • Образовательные: познакомить с понятием
    файл, текстовым типом данных, сформировать
    умения пользоваться средствами обработки
    файлов, сформировать умение решать задачи с
    использованием файлового ввода-вывода данных.
  • Развивающие: развивать познавательный
    интерес, творческую активность учащихся;
    развивать логическое мышление.
  • Воспитательные: воспитывать интерес к
    предмету, аккуратность, внимательность,
    дисциплинированность.

Тип урока: урок совершенствования
знаний.

Класс: 11

Оборудование: ПК, программное
обеспечение – среда программирования PascalABC,
проектор, доска, презентация « Файловый
ввод-вывод данных»

Виды работы: беседа, работа с опорным
конспектом, работа за ПК.

Этапы урока:

  1. Организационный момент.
  2. Фронтальный опрос.
  3. Проверка домашнего задания
  4. Постановка цели урока.
  5. Изучение нового материала.
  6. Первичное закрепление изученного.
  7. Практическая работа на ПК
  8. Подведение итогов урока.
  9. Постановка домашнего задания.

ХОД УРОКА

Фронтальный опрос

  1. Из каких частей состоит программа?
  2. Что включает в себя раздел описания ?
  3. В разделе описания переменных какие типы данных
    мы описываем?
  4. С каких служебных слов начинается исполняемая
    часть?
  5. Как осуществляется ввод-вывод данных?
  6. Как работает команда присваивания?
  7. для чего предназначен условный оператор?
  8. Какие операторы используются в условном
    операторе?
  9. Какими логическими связками могут быть
    соединены простые условия?

Проверка домашнего задания:  На
доске записать домашние задачи – 2 чел, на
компьютере проверить составленные программы – 2
чел. Остальные карточки.

Постановка темы, целей и задач урока

До сегодняшнего момента мы с вами используя
процедуры ввода-вывода вводили данные с
клавиатуры. Конечно, программы, которые мы сейчас
составляем очень просты, мы пока изучили только
несколько операторов, команд, но если возникнет
необходимость ввести большое количество
исходных данных?, если появится необходимость
вывести и сохранить данные для другой
программы?,  а если будет нужно пройти
автоматизировано не три теста, как мы проходим в
нашем электронном задачнике , а больше? Как же
поступить в этом случае? Вот сегодня мы с вами и
познакомимся с новым типом данных и с новыми 
процедурами работы с файлами. ИТАК:

Изучение нового материала

Тема урока: Файловый ввод-вывод
данных. СЛАЙД 1

С понятием файла Вы знакомы еще с младших
классов:
Файл- это область внешней памяти,
предназначенная для хранения данных. Любой файл
в Паскале имеет три характерные особенности: СЛАЙД 2
А) файла есть имя, что дает возможность программе
работать сразу с несколькими файлами.
Б) файл содержит компоненты  одного типа (файл
строк, файл записей)
В) объем файла не оговаривается в программе ,
значит объем файла зависит только от внешнего
устройства хранения этого файла

В Паскале по способу организации  различают
три типа файлов:  СЛАЙД 3

  • Текстовые файлы
  • Типизированные файлы
  • Нетипизированные файлы

Типизированные файлы  чаще всего используют
для создания больших баз данные , так как в этих
файлах используют четкой структуры записи и
обработка данных может происходить с любого
места записи в этом файле. Такой доступ к
элементам файла называется  прямым доступом.
Сегодня мы более подробно будем рассматривать
текстовые файл, так как в основном
автоматизированная проверка работы программы
осуществляется вводом и выводом данных именно из
текстовых файлов.
Текстовый файл представляет собой
последовательность символов разбитую на строки.
Каждая строка заканчивается маркером конца
строки, или как мы привыкли нажатием кнопки Enter.
Текстовые файлы являются файлами
последовательного доступа , так как прежде чем
начать обработку с нужного элемента надо
последовательно пройти все ранее записанные
элементы.
Для того чтобы мы могли работать с файлом:считать
из него данные, изменить данные, записать
результат мы должны проделать вот такой
алгоритм: СЛАЙД 4

установить связь программы с файлом;
“открыть” файл для чтения или записи;
считать из файла или записать в файл;
закрыть файл.

В программе на Паскале текстовый файл
представлен  файловой переменной типа TEXT. СЛАЙД 5
Var <имя файловой переменной>: text;
Связь файловой переменной с именем файла на
диске осуществляется с помощью оператора Assign(имя
файловой переменной, имя файла на диске);
Имя файла на диске должно содержать полный путь
для поиска данного файла. Если полный путь не
указан, то программа будет искать файл в
каталоге, где хранится программа.
Открытие файла для чтения выполняется
процедурой Reset (имя файловой переменной), если на
диске не будет файла с данным именем, то
выполнение программы прервется;    СЛАЙД 6
Открытие файла для записи осуществляется
процедурой Rewrite (имя файловой переменной), если на
диске нет такого файла, то он будет создан.
После открытия файлов, мы можем считывать данные
и осуществлять вывод данных уже известными нами
процедурами Read и Write. СЛАЙД 7
И после, что мы должны сделать – это закрыть и
файл для чтения и файл для записи процедурой Close. СЛАЙД 8

Первичное закрепление изученного

Закрепим изученный материал составлением
программа. Из задачника решаем задачу 1 по новой
теме.

СЛАЙД 9

1. Даны три целых числа.
Определить, имеется ли среди них хотя бы
одна пара равных между собой чисел.
Формат входных данных
Входной файл содержит три целых числа через
пробел.
Формат выходных данных
Выведите ‘YES’ если это так, и ‘NO’ в противном случае.

Примеры:

Вход
544 935 911
Выход
NO

РЕШЕНИЕ:

1. Program vetvlenie;
         Var
         a,b,c:integer;
         f,g: text;

begin
         assign (f,’input.txt’);
         reset (f);
         readln (f,a,b,c);
         close (f);

         assign (g,’output.txt’);
         rewrite (g);
         if (a=b) or (b=c) or (c=a) then
         writeln (g,’YES’)
         else
         writeln (g,’NO’);
         close(g);

Практическая работа на ПК

Сохраняем файл в папке 11
класс/Программирование под именем Demofile.pas
Создаем в папке входной файл – input.txt Выходной
файл – output.txt
Самостоятельно: Задача №2, изменяем заранее
созданную программу под файловый ввод-вывод.

2. Program geron;
         var
         a,b,c:integer;
         s,p:real;
         f,g:text;

     begin
         assign(f,’input.txt’);
         reset(f);
         readln(f,a,b,c);
         close(f);
         assign(g,’output.txt’);
         rewrite(g);
         if(a+b>c)and (a+c>b)and(b+c>a)
and (a>0)and(b>0)and(c>0) then begin
         p:=(a+b+c)/2;
         s:=sqrt(p*(p-a)* (p-b)* (p-c));
         writeln (g,s:12:6);
     end
         else writeln(g,-1);
         close(g);
end.

Итоги урока и домашнее задание

– Что нового вы узнали?
– Какие знания вам помогли усвоить материал
урока?
– Что на ваш взгляд вам удалось освоить лучше, а
что нет?
– Над чем вам необходимо поработать?

(Выставляются оценки)

Домашнее задание: учить конспект.
Задача №3 из задачника.

Используемая литература:

  1. Л.А.Татарникова. Основы алгоритмизации и
    программирование на языке Pascal, Томск – 2007
  2. Информатика. Базовый курс. 7-9 классы / И.Г.Семакин,
    Л.А.Залогова, С.В.Русаков, Л.В.Шестакова
    . – М.:
    БИНОМ. Лаборатория знаний, 2004
  3. Информатика. Задачник-практикум в 2т / Под ред. И.Г.Семакина,
    Е.К.Хеннера
    . – М.: БИНОМ. Лаборатория  знаний,
    2004.
  4. CD-диск. Вычислительная математика и
    программирование, 10-11 класс. Учебное пособие / Фальков
    А.И., Молодцова М.Г., Юсупова И.С.
    ГУ РЦ ЭМТО, 2004.

Добавить комментарий