Форум программистов, компьютерный форум, киберфорум
PascalABC.NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
0 / 0 / 0
Регистрация: 08.10.2019
Сообщений: 67

Как работать с файлами в паскаль? Как сортировать данные в файле?

04.03.2020, 15:11. Показов 1259. Ответов 7

Студворк — интернет-сервис помощи студентам
Не совсем понимаю механик работы с файлами. Банально подключить их могу. Но как выполниь главный вопрос адачи не пойму. Помогите пожалуйста

Во входном текстовом файле находится информация о студентах: фамилия, имя и
оценка - целое число от 2 до 5 (в отдельных строках). Вывести список студентов в выходной текстовый файл в порядке убывания оценок студентов; информация о каждом студенте - в одной строке.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.03.2020, 15:11
Ответы с готовыми решениями:

Как сортировать данные в определенном порядке?
Как при выводе данных из БД (Access) SQL-запросом сортировать данные по возрастанию и по убыванию?

Как работать с массивом cell array (сортировать и искать количество нужных элементов)
Здравствуйте, уважаемые форумчане! Помогите пожалуйста разобраться как искать сумму нужных элементов в массиве cell. я экспортирую...

Как можно сортировать данные при выводе из базы?
Подскажите пожалуйста как можно сортировать при выводе из базы, я знаю только 3 способа: SELECT * FROM таблица ORDER BY поле SELECT...

7
 Аватар для JuriiMW
5095 / 2661 / 2355
Регистрация: 10.12.2014
Сообщений: 10,060
04.03.2020, 16:04
Скачать всё в память, отсортировать и скинуть уже отсортированное.

Примерно так:
Pascal
1
2
3
4
const fName = 'students.txt';
begin
  WriteAllLines(fName,ReadAllLines(fName).OrderByDescending(s->s.ToWords.Last));
end.
0
0 / 0 / 0
Регистрация: 08.10.2019
Сообщений: 67
10.03.2020, 16:28  [ТС]
JuriiMW, я второй раз вижу ваши коды. И мне они не подходят по способу описания. Прошу Вас привести более простую форму написания этого кода. Проще говоря, пожалуйста, напишите "примитивнее" или "как для чайника". Спасибо.
0
 Аватар для mr-Crocodile
3053 / 1672 / 657
Регистрация: 19.03.2019
Сообщений: 5,380
10.03.2020, 17:42
Лучший ответ Сообщение было отмечено ZX Spectrum-128 как решение

Решение

а_Ж, ты в каком разделе пишешь? В разделе PascalABC.NET. Это не стандартный Паскаль, тут свой язык, местами он ближе к родному братику C# (оба родом из .NET)
Поэтому, если тебе не нужны все возможности языка, то ты лучше задавай свои вопросы в общей теме Паскаля - https://www.cyberforum.ru/pascal/, либо в самом сообщении о задаче указывай, что тебе нужно решение с использованием "классического" Паскаля.

Иначе это выглядит как-то не очень. Ты попросил помощи, тебе дали рабочий код, а он тебе, видите ли, не подходит, способ описания не тот... Не вежливо, как минимум!

что же касается сути вопроса.
То делать нужно так же, как и написано выше
1) прочитать твой файл
2) отсортировать прочитанные данные (любым способом - хоть пузырьком, хоть методом обменов, хоть - <любая сортировка>)
3) записать отсортированные данные в файл.
2
0 / 0 / 0
Регистрация: 08.10.2019
Сообщений: 67
05.04.2020, 10:26  [ТС]
mr-Crocodile, я описала тот раздел, который подходит мне, потому что именно в использую программу Pascal.abc.net. А то, что есть такие замудренные способы написания я и знать не знаю. И даже по задаче ясно, что это один из начинающих уровней изучения Паскаля, так можно было автору того когда понять, что так писать не нужно. И то, что касается «не вежливости», то это не вежливо лезть в разговор с своими советами, которые в данной ситуации от Вас никто не просил.
0
Эксперт Pascal/Delphi
6812 / 4568 / 4820
Регистрация: 05.06.2014
Сообщений: 22,433
05.04.2020, 10:36
Цитата Сообщение от а_Ж Посмотреть сообщение
использую программу Pascal.abc.net
Вам именно с использованием возможностей данного диалекта и написали программу.
Какие могут быть претензии?
0
257 / 149 / 70
Регистрация: 29.07.2018
Сообщений: 1,249
05.04.2020, 11:59

Не по теме:


а_Ж, То,что вам не подходит код JuriiMW,это ваши проблемы,т.к. код рабочий.Как правильно подметил mr-Crocodile,указывайте,как нужно написать код "классический" или в стиле .NET.То,что вы используете
Pascal ABC.Net не говорит о том,что там нельзя использовать код "классического паскаля".



Добавлено через 18 минут
Не знаю,как сделать сортировку.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
begin
  var f: Text;
  var st : array of string;
  SetLength(st,1);
  var i: integer;
  Assign(f, 'students.txt');
  Reset(f);
  while not EOF(f) do
  begin
    readln(f, st[i]);
    i := i + 1;
    SetLength(st, Length(st) + 1);
  end;
end.
0
 Аватар для Sun Serega
2355 / 1458 / 526
Регистрация: 07.04.2017
Сообщений: 4,798
05.04.2020, 16:47
Цитата Сообщение от а_Ж Посмотреть сообщение
А то, что есть такие замудренные способы написания я и знать не знаю
Это не замудрёные. Такой код читать и писать и проще и правильнее, просто вас учили не тому.

Небось вас учили ещё и писать var до begin и т.п. Это не более простой код, это устаревший стиль программирования, в PascalABC.Net так писать неправильно. Именно var до begin - обычно замедляет программу в несколько раз.

Если есть желание разобраться как писать в современном стиле - для начала понаводите мышку на непонятные слова. То что останется непонятно - спрашивайте.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
05.04.2020, 16:47
Помогаю со студенческими работами здесь

Как работать с файлами???
Помогите, подскажите хотя-бы названия функции

Как работать с файлами?
Собственно являюсь студентом, вчера была лекция по программированию, темой которой были сортировка и файлы, но так как лектор выделил на...

Как работать с файлами?
Расскажите, пожалуйста, какие надо подключить библиотеки. Какой функцией назначить переменной путь к файлу(+ какого типа должна быть...

Как работать с файлами?
Хочеться изучить язык с#.

Как заставить работать Турбо Паскаль в Win7x64
Здравствуете помогите запустить турбо Паскаль в Вин7 х64 бита,ось снести не могу так как более 3,5 гигов оперативы.Знаю что наврятли...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&amp;d=1772460536 Одним из. . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru