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

Обработка структурированных данных(процедуры и функции)

01.04.2011, 20:13. Показов 1394. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Привет! Ребят, нужно создать заглушки. Буду благодарна за любую помощь.


Разработать программу, которая должна включать:
1) процедуры без параметров для:
а) вывода шапки таблицы;
б) вывода данных одной строки таблицы;
в) ввода и вывода данных массива записей и определения суммы значений элементов
одного столбца массива записей;
г) поиска и вывода требуемых элементов массива записей (строк таблицы) по
заданному варианту поиска; возможные варианты поиска:
д) поиск по одному заданному поисковому признаку;
е) универсальный поиск: по любому сочетанию нескольких заданных поисковых
признаков.
По результатам поиска вывести найденные записи или сообщение о неуспешном поиске;
2) фильтрацию строковых данных с помощью процедуры или функции, удаляющих пробелы в начале и конце строки;
3) смену местами двух элементов массива записей, например первой и последней строк таблицы;
4) объявление и использование нестандартных текстовых файлов для исходных данных тестирования программы и результатов ее выполнения.
В задании определен состав (шапка) таблицы; исходные данные для заполнения таблицы разработать самостоятельно.

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

88150 ЭВМ 1-2 Петров П.П. 50000
88104 ЭВМ1-1 Ивнов И.И. 30000
88103 ЭВМ1-1 Иванов И.И. 40000
88151 ЭВМ 1-2 Литров П.П. 20000
88200 ЭВМ 1-3 Сидоров С.С. 70550

Исходные данные примера для поиска по фамилии — содержимое файла POI.DAT:

нет данных для поиска

ИВАНОВ 0
ПЕТРОВ 0
СИДОРОВ 0
0 -нет данных для поиска
ИВУНОВ 0

Исходные данные для поиска сведений по любому сочетанию поисковых признаков:
наименования группы и размера стипендии— содержимое файла
ЭВМ1- 40000
ЭВМ1- 60000
ЭВМ1- 0
ЭВМ1- 0
- отсутствии данных для поиска
0
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
PROGRAM LR3_4; {$R+} 
USES CRT;
CONST N = 5;   {  - количество студентов и записей  }
 
TYPE ST = ARRAY   [1..7]   OF STRING   [80]; 
ST1 = STRING[14]; 
STR = RECORD                       { Состав записи:   }
NZ:STRING[6];                      {номер зачетки }
GR:STRING[7];                      {наименование группы}
FIO:ST1;                           {фамилия и инициалы }
R:REAL                             {размер стипендии }
END;
 
CONST С :  ST =  ( { шапка таблицы}
‘              СВЕДЕНИЯ О СОТРУДНИКАХ                                     ‘,
‘ _______________________________________________________‘,
‘|  Номер              |   Гуппа      |   Фамилия   |    Размер           |‘,
‘|зачетной книжки|                  |   Инициалы  |         стипендии |‘,
‘|_______________|___________|___________|_______________|‘,
‘|-----------------|-------------|-------------|-----------------|‘,
‘|_______________|___________|_____________|_____________|‘);
 
VAR Z:ARRAY [1..N] TO STR; {Массив записей}
I,J:BYTE;       { суммарная стипендия }
S:REAL;         { для пропуска символа при вводе }
B:CHAR;         { для перестановки строк таблицы }
STR1:STR;       
FI,             { файлы:  - для исходных данных,}
FR:TEXT;        {           для результатов.}
 
FUNCTION FILTR(STR :ST1):ST1;   FORWARD;
 
PROCEDURE SH;
BEGIN
{ Вывод шапки таблицы }
END;
 
PROCEDURE P;
BEGIN
{Вывод данных одной строки}
END;
 
PROCEDE VIVOD; 
BEGIN
{Вывод массива записей}
END;
 
PROCEDURE VVOD;
BEGIN {Ввод и вывод массива записей
END;
{Поиск данных по фамилии}
PROCEDURE POISK; VAR TFM :  ST1;
LABEL MK;
BEGIN
WRITELN (FR,#10#13,'     ПОИСК СВЕДЕНИЙ ПО ФАМИЛИИ ' );
ASSIGN (FI, 'POI.txt'); 
RESET (FI);
REPEAT
READLN (FI, TFM);          { ВВОД ТРЕБУЕМОЙ ИНФОРМАЦИИ  } TFM := FILTR(TFM);
WRITELN ( FR,'  Найти фамилию: ', ‘ " " ’,  TFM, ‘ " " ’ );
IF TFM = ’ ’  THEN BEGIN    {  - анализ наличия требуемой Ф.И.О.} WRITELN(FR,'  Нет фамилии для поиска! ');
CONTINUE;
END;
FOR I:= 1 TO N DO
IF TFM = FILTR(Z[I].FIO) THEN BEGIN  {  - начало цикла поиска}
P; GOTO MK;                      { - фамилия найдена }
END;                                     { - конец цикла поиска } 
WRITELN  ( FR,‘Фамилия ошибочна'); 
MK: UNTIL EOF ( FI );      { - анализ конца данных для поиска } CLOSE  ( FI );  { - закрыть файл с исходными данными } 
WRITELN  ( FR, 'Поис закончен');
END;
 
PROCEDURE POISKU; BEGIN
{— Поиск по любому сочетанию двух поисковых признаков —} 
END;
 
FUNCTION FILTR; BEGIN
{    Удаление пробелов в начале и в конце строки     }
END;
 
{    ОСНОВНАЯ ПРОГРАММА      }
BEGIN       CLRSCR;
ASSIGN(FR,'REZ.txt'); 
REWRITE(FR) ;
{ Вызов процедур:   }
SH;                           { - вывода шапки }
WOD;                          { - ввода данных }
POISK;                                   { - поиска по фамилии }
POISKU;                      { - поиска по любому сочетанию двух поисковых признаков.}
{ Смена местами двух строк таблицы: } 
STR1:=Z[1]; 
Z[l]:= Z[N]; 
Z[N]:= STR1;
WRITELN  (FR,  #10#13, 'Массив после перестановки строк:'); 
SH; VIVOD;                      { - вывод шапки и результатов } 
CLOSE(FR);                { - закрыть файл с результатами } 
END.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.04.2011, 20:13
Ответы с готовыми решениями:

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

Процедуры и функции. Получить последовательность цифр, представляющую сумму данных чисел
Два натуральных числа заданы последовательностями своих цифр. Получить последовательность цифр,...

Создать модуль, содержащий процедуры и функции, работающие с файлами определенного типа данных
помогите пожалуйста написать программу на паскале. 1. Создать модуль, содержащий процедуры и...

Функции и процедуры. При помощи процедуры записать слова задом наперед
Дана строка S, состоящая из не менее 5 слов. При помощи процедуры записать слова задом наперед....

0
01.04.2011, 20:13
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.04.2011, 20:13
Помогаю со студенческими работами здесь

Обработка массивов структурированных данных
Добрый день! Помогите пожалуйста... Я только учусь... Мне надо написать программу... пока есть...

Обработка структурированных типов данных
Привет, Мастера программирования, есть вопрос, что надо прописать в коде, что бы поменять местами...

Обработка структурированных типов данных
Нужно разработать алгоритм и программу, реализующую структурированный тип данных (СТД): Линейный...

Ввод структурированных данных в файл и вывод данных из этого файла на экран (сделать хранилище данных в файле)
Здравствуйте) помогите написать программу, осуществляющую ввод структурированных данных в файл и...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru