Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 10.12.2014
Сообщений: 6

Работа с файлами

07.01.2015, 21:32. Показов 491. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Общие указания к выполнению работы:
1. Изменить способ заполнения массива записей в лабораторной работе № 3 с использованием файлов. Сформировать файлы с реальными фамилиями и именами и заполнить поля записей данными из этих файлов. При заполнении полей записей учитывать пол человека. Отчества сформировать автоматически из файла с мужскими именами путем добавления нужного окончания в зависимости от пола. Мужские имена для отчеств выбирать из файла случайным образом. Для заполнения ФИО дополнительные массивы и файлы не использовать.
2. Один из результатов выполнения заданий из ЛР№ 3 записать в файл.
3. Переписать полученный файл в другой файл, добавив к записи поле – количество букв в ФИО.

При выполнении данной работы на языке Pascal в задании 1 использовать текстовый файл, в задании 2 для записи использовать типизированный файл, в задании 3 и для чтения и для записи использовать нетипизированный файл. При работе с файлами дополнительные файлы не использовать.

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
const n=15;
type shkolota = record
   fio: array [0..2] of string;
    klass:byte;
    year: integer;
    month: byte;
    day: byte;
    age: byte;
  end;
  var a:array[1..n]of shkolota;
       i, j, k, l, sum, b1, b2, b3, b4 :integer;
       percent: real;
begin
 
     Randomize();
   k := 6;
   l := 0;
 while l < k do
 begin
   for i := 1 to n do
   begin
     for j := 0 to 2 do
     begin     
          a[i].fio[j] := a[i].fio[j] + char(97+random(26));         
     end;    
   end;
   inc(l);
 end;
     
for i:=1 to n do
begin
  a[i].year := random(10) + 1995;
  a[i].month := (random(11) + 1);
 end; 
 for i:=1 to n do
  case a[i].month of
    4:a[i].day := (random(29)+1);
   11:a[i].day := (random(29)+1);
    9:a[i].day := (random(29)+1);
    6:a[i].day := (random(29)+1)
    else if (a[i].month = 2) then
      a[i].day := (random(27)+1)
      else 
      a[i].day := (random(30)+1);
  end;
 
for i := 1 to n do
  a[i].klass := (2014 - a[i].year)-7; 
  
 for i := 1 to n do
  a[i].age := 2014 - a[i].year;
  
  {Не продуманно конечно , но что теперь сделаешь  :)  }
  for i := 1 to n -1 do
    for j := 1 to n - i do
       if a[j].age > a[j + 1].age then
       begin
       {Здесь мы запоминаем данные первого школьника}
         b1 := a[j].age;
         b2 := a[j].year;
         b3 := a[j].month;
         b4 := a[j].day;
       {Здесь мы присваиваем данные школьника следующего за первым}  
         a[j].age := a[j+1].age;
         a[j].year := a[j+1].year;
         a[j].month := a[j+1].month;
         a[j].day := a[j+1].day;
        {Здесь мы присваиваем данные первого школьника в данные второго} 
         a[j+1].age := b1;
         a[j+1].year := b2;
         a[j+1].month := b3;
         a[j+1].day := b4;
       end;
       
write('фамилия','     ','имя','    ','отчество','  ','возраст','   ','дата рождения'  );
writeln;       
 for i := 1 to n do
 begin
   for j := 0 to 2 do
   begin
     write(a[i].fio[j],'    ');
   end;
     writeln( a[i].age,'        ',a[i].day,'/',a[i].month,'/',a[i].year );
 end;
 writeln;
 write( 'Самый старший -  ');
 
 for j := 0 to 2 do
 begin
   write(a[n].fio[j],'    ');
 end;
 write(', возраст ');
 writeln( a[n].age, ' лет');
 writeln;
   
 writeln;
 write( 'Самый младший -  ');
 
for j := 0 to 2 do
begin
  write(a[1].fio[j],'    ');
end;
 write(', возраст ');
 writeln( a[1].age, ' лет');
 writeln;
 
write('Введите нужный месяц ');
readln(sum);
writeln;
 
write('День рождение в этом месяце у  ');
writeln;
 for i := 1 to n do
  begin
     if (a[i].month = sum) then
     begin
       for j := 0 to 2 do 
       begin
          write(a[i].fio[j],'    ');
       end;
        writeln(a[i].month);    
     end;   
 end;
    
 end.
Вот код 3 лабы, который и надо доработать. Помогите, пожалуйста!
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
07.01.2015, 21:32
Ответы с готовыми решениями:

Работа с файлами
если на диске с в каталоге ren имеется файл s11.fam то вывести на экран номер первой компоненты,значение которой меньше нуля ,но больше...

Работа с файлами
Ребята помогите пожалуста. Дан текстовый файл.Вывести количество,содержащихся в нем символов и строк(маркеры концов строк EOLN и конца...

работа с файлами
Даны два файла целых чисел одинакового размера. Создать текстовый файл содержащий эти числа расположенные в два столбца шириной от 30...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
07.01.2015, 21:32
Помогаю со студенческими работами здесь

Работа с файлами
Помогите пожалуйста написать программу)))) В БД должна храниться следующая информация об участках: название участка; план выпуска...

Работа с файлами
Разработать программу для обработки типизированного файла. Структура записи: фамилия студента и 2 оценки по предметам. Ввести с...

работа с файлами
Записать двумерный массив в файл.

Работа с файлами
Задание 2 соответствует заданию 2 лабораторной работы № 4. Данные структуры запись хранить в типизированном файле. Вот сама...

Работа с файлами
Здравствуйте,решите несколько задачек пожайлуста! 1)создать файл из чисел от 4 до 25,после чего заменить значение шестого элемента на...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это дополнительная запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru