Форум программистов, компьютерный форум, киберфорум
Turbo Pascal
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
1 / 1 / 0
Регистрация: 21.03.2012
Сообщений: 5
1

Текстовый файл. Найти наибольшее значение компонентов и дописать его в конец файла

24.03.2012, 20:08. Показов 948. Ответов 1
Метки нет (Все метки)

1) Создать текстовый файл f, компоненты которого являются вещественными числами.Найти наибольшее значение компонентов и дописать его в конец файла.

2. Создать текстовый файл, введение из клавиатуры.Определить в каждой парной строке слово наибольшей длины и записать это слово на начало следующей непарной строки.

3.Даний файл f,що содержит сведения о веществах : указывается название вещества, его вес и проводимость (проводник, полупроводник, изолятор), .Знайти вес и названия всех полупроводников. Найденные данные записать в файл g.

Надо сделать с процедурами. Пожалуйста помогите.
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.03.2012, 20:08
Ответы с готовыми решениями:

Файл: Определить количество строк файла, в каждой строке найти самое длинное слово и дописать его в конец
Ввести строки с клавиатуры. Создать файл, определить количество строк файла, в каждой строке найти...

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

Запишите в файл g наибольшее значение первых пяти компонентов файла f, затем следующих пяти компонентов и т. д.
Помогите решить задачу на Pythone Дан файл f, компоненты которого являются целыми числами....

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

1
1367 / 590 / 199
Регистрация: 02.08.2011
Сообщений: 2,882
25.03.2012, 02:00 2
Лучший ответ Сообщение было отмечено Svetasokolova как решение

Решение

Вот на 2 первые вопроса.

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
126
127
128
129
130
131
132
133
134
135
const MyFile='d:\1.txt';
        MyFile1='d:\2.txt'; //Íàøè ôàéëû äëÿ ïåðâîãî è âòîðîãî çàäàíèÿ
 
   Var F:Text;            //Ðàáîòàåì ñ òåêñòîâûì ôàéëîì
       i,j:Integer;       //Ñ÷åò÷èê öèêëîâ è ñëó÷àéíàÿ ïåðåìåííàÿ
       S:String;          //Íàøè ñòðîêè
       MaxDlina:String;  //Ñëîâî ìàêñèìàëüíîé äëèíû
           var Vibor:byte;  //Ïåðåìåííàÿ äëÿ ìåíþ
 
 
     {==================================================}
     {Ïðîöåäóðà äëÿ âòîðîãî âîïðîñà. Èùåò ìàêñèìàëüíîå ñëîâî â ñòðîêå}
    procedure Vopros2_PoiskMaksSlova(Str:String;k:Integer);
    const
  dividers=[' ',',','.',';',':','-','=','+'];    //Ðàçäåëèòåëè ñòðîêè
var
 i:integer;
 max,temp:string;
begin
 begin
 
  temp:='';
  max:='';
  {ïðîáåãàåì âñþ ñòðîêó ïîñèìâîëüíî}
  for i:=1 to length(str) do
    begin
      if not (str[i] in dividers) then
        temp:=temp+str[i];
      if (str[i] in dividers) or (i=length(str)) then
        if temp<>'' then
        begin
          if length(temp)>length(max) then
            max:=temp;
          temp:='';
        end;
    end;
  end;
//  writeln('Ñëîâî ìàêñèìàëüíîé äëèíû: ',max,'.',k+1);
  MaxDlina:=Max; //Çàïîìèíàåì ñëîâî ìàêñèìàëüíîé äëèíû â ïàìÿòü
  end;
 
    {Íà÷àëî îáðàáîòêè âòîðîãî âîïðîñà}
    procedure Vopros2;
      var Strok:Integer;  //Êîëè÷åñòâî ñòðîê, îòîðîå ðåøèò ââåñòè þçåð
          temp:String;    //Çàïîìèíàåì ïðåäûäóùåå ñëîâî ñþäà
    Begin
        writeln('Skolko strok wwodit  ');
        readln(strok);
 
        Assign(F,MyFile1);Rewrite(F);Close(F); //Ñòèðàåì ôàéë åñëè åñòü èëè ñîçäàåì íîâûé åñëè íåòó
        Assign(F,MyFile1); //Ïîëó÷àåì äîñòóï ê ôàéëó
          Append(F);   //Áóäåì çàïèñûâàòü â êîíåö ñòðîêè
             for i:=1 to strok do begin  //Çàïèñûâàåì â ôàéë ñòîëüêî ñòðîê, ñêîëüêî ñêàçàë þçåð
               writeln;
               write('wwedi stroku ',i,':  ');
               readln(S);   //Ñ÷èòûâàåì ñòðîêó, êîòîðóþ ââåë þçåð
               if i mod 2 = 0 then Begin //Åñëè ñòðîêà ÷åòíàÿ, òî ïðîñòî çàïèñûâàåì å¸ â ôàéë
                 writeln(F,S);
                end else Begin  //Åñëè æå ñòðîêà íå÷åòíàÿ
                   Vopros2_PoiskMaksSlova(temp,i); //Èùåì â íåé ñëîâî ìàêñèì. äëèíû
                   Insert(MaxDlina+'   ',S,1); //Âñòàâëÿåì ñëîâî ìàêñèì. äëèíû â ñëåä. ñòðîêó.  íà÷àëî
                   writeln(F,S+' '); //Çàïèñûâàåì äîïîëíåííî ñëîâî â ôàéë
                   writeln('S = ',S); //Âûâîäèì íà ýêðàí ÷òî ïîëó÷èëîñü. Ìîæíî óáðàòü
                   S:='';  //Î÷èùàåì ñòðîêó äëÿ íîâîé îáðàáîòêè
               end;
               temp:=S; //Çàïîìèíàåì ñòðîêó, êîòîðóþ òîëüêî ÷òî ââîäèëè. Áóäåò êàê ïðåäûäóùàÿ
             end;
          Close(F);  //Çàêàí÷èâàåì ðàáîòó ñ ôàéëîì
 
    end;
{+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++}
  {Ïîëó÷àåì ìàêñèìàëüíûé ýëåìåíò è çàïèñûâàåì åãî â êîíåö ôàéëà}
    Procedure Vopros1_GetMaxEl;
    var MaxEl:Integer; //Ìàêñèìàëüíûé ýëåìåíò
    Begin
     MaxEl:=0;
         Assign(F,MyFile);
         Reset(F);
           While not eof(F) do Begin
            readln(F,i); //Ñ÷èòûâàåì èç ôàéëà ÷èñëî
            write(i,' ');  //Âûâîäèì åãî íà ýêðàí
            if i>MaxEl then MaxEl:=i; //Åñëè íàøå ÷èñëî áîëüøå íàøåãîìàêñèìàëüíîãî ýëåìåíòà, ìåíÿåì çíà÷åíèå ìàêñèìàëüíîãî ýëåìåíòà
           end;
         Close(F);
         writeln('maxEl = ',maxEl);  //Âûâîäèì Ìàêñèìàëüíûé ýëåìåíò íà ýêðàí
 
         Assign(F,MyFile); //Äîïèñûâàåì ýëåìåíò â êîíåö ôàéëà
         Append(F);
          write(F,MaxEl);
         Close(F);
    end;
 
    {Íà÷àëî îáðàáîòêè ïåðâîãî âîïðîñà}
    Procedure Vopros1;
    Begin
     Randomize;
        i:=Random(20);
        Assign(F,MyFile); Rewrite(F); Close(F); //Ñòèðàåì ôàéë åñëè îí íå ïóñòîé èëè ñîçäàåì íîâûé åñëè ôàéëà íåò.
 
        Assign(F,MyFile); //Äîïèñûâàåì â ôàéë çíà÷åíèÿ
        Append(F);
        for j:=0 to i do Begin
            writeln(F,Random(50)); //Çàïèñûâàåì ñëó÷àéíûå ÷èñëà
        end;
        Close(F);
        Vopros1_GetMaxEl;   //Ïîëó÷àåì ìàêñèìàëüíûé ýëåìåíò èç ñîçäàííîãî ôàéëà
    end;
 
    {Ïðîñòî ìàëåíüêèé èíòåðôåéñ}
    procedure Menu;
      Begin
      writeln('wiberi vopros ');
      writeln;
      writeln('1. Perviy Vopros');
      writeln('2. Vtoroy Vopros');
      writeln('0. Exit');
 
      readln(Vibor);
       writeln;
       writeln;
         Case Vibor of
              1: Vopros1;
              2: Vopros2;
         end;
     end;
 
begin
  { TODO -oUser -cConsole Main : Insert code here }
  Randomize;
  repeat
   Menu;     //Âûïîëíÿåì öèêë ïîêà íå íàæàò 0+Enter;
  until vibor = 0;
 
  readln;
end.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.03.2012, 02:00

Записать в файл g наибольшее значение первых пяти компонентов файла f
Вот условие задачи. Дан файл f, компоненты которого являются целыми числами. Записать в файл g...

Найти наибольшее число в файле K и записать его в конец файла F
Здравствуйте, уважаемые форумчане,помогите пожалуйста написать программу. Условия - Создать файл F...

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

Дан текстовый файл. Вставить в начало файла его последнюю строку, а в конец первую строку.
Помогите решить задание, заранее спасибо. Дан текстовый файл. Вставить в начало файла его...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru