Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

lab7_v19 / lab7_v19

.docx
Скачиваний:
12
Добавлен:
16.03.2016
Размер:
69.71 Кб
Скачать

Федеральное агентство по образованию

ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ (ТУСУР)

Кафедра автоматизированных систем управления (АСУ)

ОТЧЕТ

по лабораторной работе № 7

по дисциплине «Программирование на языке высокого уровня»

Выполнил: студент гр. З-431-а

Мамаев Александр Николаевич

Принял: преподаватель

Сафьянова Елена Николаевна

«20» января 2016 г.

2016 г.

  1. Тема работы: файловый тип данных.

  2. Цель работы – приобретение навыков работы с типизированными и текстовыми файлами.

  3. Задание (вариант №19):

Дан символьный файл F. Определить, является ли последовательность символов до пробела целым числом. Если да, то установить, делится ли это число на 3 без остатка. Программу написать без использования массива.

  1. Описание алгоритма решения задачи:

При работе с файлами используются стандартные функции Pascal Assign, Reset, Eof, Close. Для удобства выполнения задания данные из файла INPUT.TXT будут считываться посимвольно. При считывании пробела дальнейшее считывание осуществляться не будет. При считывании цифрового символа (0-9) данные будут помещены в строковый буфер s, в противном случае будет выведено сообщение об ошибке. Полученный буфер s, который после работы цикла содержит только целое число, конвертируем в тип integer для выявления делиться ли число на 3 без остатка или нет. В случае если число не делиться в нужное место добавляется частица «не» и в результате сообщение получится следующее: «Число 1234 не делится на 3 без остатка». Если число делиться, частица «не» не добавляется

  1. Листинг программы

  1. program lab7_v19;

  2. uses Crt;

  3. const dig=['0'..'9'];

  4. var

  5. F:Text;

  6. c:char;

  7. s:string;

  8. num,code:integer;

  9. begin

  10. ClrScr;

  11. ASSIGN(F,'INPUT.TXT');

  12. Reset(F);

  13.  

  14. while not EOF(F) do begin

  15. read(F,c);

  16. if(c=' ') then break;

  17. if(c in dig) then s:=s+c else begin

  18. writeln('Последовательность не является целым числом');

  19. readln;

  20. halt;

  21. end;

  22. end;

  23. Val(s,num,code);

  24. write('Число ',num);

  25. if(num mod 3)<>0 then write(' не');

  26. writeln(' делится на 3 без остатка');

  27. readln;

  28. Close(F);

  29. end.

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

Входные данные, файл INPUT.TXT

Результат работы программы

384 .5 qweklj

384.5 qweklj

1234 qweklj

qweqwe 1234124

  1. Выводы

Необходимые навыки работы с файлами приобретены.

  1. Список используемых источников

• Методические указания к лабораторным работам для студентов специальности 230105 «Программное обеспечение вычислительной техники и автоматизированных систем», С.М. Алферов, Е.Н. Сафьянова

• http://highlight.hohli.com/

Соседние файлы в папке lab7_v19