Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.12.2011, 19:20   #1
абвгд
Пользователь
 
Регистрация: 04.09.2011
Сообщений: 19
По умолчанию Объяснение для программ

Имеются программы. Объясните пожалуйста код. Чем подробнее, тем лучше. Заранее благодарю
1) Найти самое длинное симметричное слово
PHP код:
program prog;
const
  
100;
type
  StringArray 
= array[1..Nof string;
  
DelimSet set of char;
 
function 
split(var destStringArray; const sstring; const delimDelimSet): integer;
var
  
nileninteger;
begin
  n
:= 0;
  
i:= 1;
  
len:= Length(s);
  while (
<= len) do begin
    
if s[iin delim then
      
while (s[iin delim) and (<= len) do i:= 1
    
else begin
      n
:= 1;
      
dest[n]:= '';
      while (
not (s[iin delim)) and (<= len) do begin
        dest
[n]:= dest[n] + s[i];
        
i:= 1;
      
end;
    
end;
  
end;
  
split:= n;
end
function 
isSymmetric(sstring): boolean;
var
  
mninteger;
begin
  m
:= 1;
  
n:= Length(s);
  while 
do begin
    
if s[m] <> s[nthen begin    
      isSymmetric
:= false;
      exit;
    
end;
    
m:= 1;
    
n:= 1;
  
end;
  
isSymmetric:= true;
end;

var
  
linestring;
  
wordsStringArray;
  
iinteger;
  
imaxinteger;
  
countinteger;
begin
  Write
('Input string: ');
  
ReadLn(line);
 
  
count:= split(wordsline, [',''.''/'';'' '':''!''?']);
  
imax:= -1
  for 
i:= 1 to count do begin
    
if isSymmetric(words[i]) then begin
      imax
:= i;
      break;
    
end;
  
end;
  if 
imax <> -1 then begin
    
for i:= imax+1 to count do
      if 
isSymmetric(words[i]) and (Length(words[i]) > Length(words[imax])) then imax:= i;
    
WriteLn('Longest: 'words[imax]);
  
end
  
else WriteLn('Not found.');
  
WriteLn('Press any key to exit...');
  
Readkey;
end

2)Опишите рекурсивную функцию sum без параметров для нахождения суммы элементов файла f
PHP код:
uses
  Crt
;
const 
n=5;
type
  Reals 
file of Real;

var
  
fReals;   {Filev kotoryiy budut zapisyvatsya chisla}
  
iInteger; {Schetchik}
  
xReal;
  
jReal;

function 
sumReal;
begin
  
if not Eof(fthen begin
    Read
(fx);
    
:= x;
    
sum := sum;
  
end;
  
sum := j;
end;

begin

  Assign
(f'C:\lab8_4');
  
ReWrite(f);
  for 
:= 1 to n do
  
begin
    WriteLn
('Vvedite 'i'-e chislo');
    
Read(x);
    
Write(fx);
  
end;
  
Close(f);
  
Reset(f);
  
WriteLn('Summa vseh elementov ravna 'sum);
  
Close(f);
  
ReadKey;
end
3) Даны действительные числа c1,...,Cp, D1...Dg (C1<=C2<=..<=Cp, D1<=D2<=..<=Dg) Внести единую упорядоченность в C1...Cp, D1...Dg, получив F1,F2,...Fp+g, такие, что F1<=F2<=..<=Fp+g
Число сравнений не должно превосходить p+g
PHP код:
Const 4;
      
5;
      
P+Q;
Var 
IJKInteger;
    
: Array [1..POf Real;
    
: Array [1..QOf Real;
    
: Array [1..ROf Real;


Begin
     Randomize
;
     
C[1] := Random; For := 2 To P Do C[I] := C[I-1]+Random;
     
D[1] := Random; For := 2 To Q Do D[J] := D[J-1]+Random;

     
:= 1;
     
:= 1;
     
:= 1;

     While 
<= Do Begin
           
If ( C[I] < D[J] ) Then Begin
              E
[K] := C[I];
              
Inc(I);
              
Inc(K);
           
End Else Begin
               E
[K] := D[J];
               
Inc(J);
               
Inc(K);
           
End;

           If 
P Then For := J To Q Do Begin
              E
[K] := D[J];
              
Inc(K);
              
Inc(J);
           
End;

           If 
Q Then For := I To P Do Begin
              E
[K] := C[I];
              
Inc(K);
              
Inc(I);
           
End;
     
End;

     
WriteLn('„**л 2 Ї®б«Ґ¤®ў*⥫м*®бвЁ: ');
     
WriteLn('C[1], ..., C[P]');
     For 
:= 1 To P Do WriteLn(C[I]:3:3);
     
WriteLn('D[1], ..., D[Q]');
     For 
:= 1 To Q Do WriteLn(D[J]:3:3);

     
WriteLn;
     
WriteLn('ђҐ§г«мвЁагой*п Ї®б«Ґ¤®ў*⥫м*®бвм:');
     
WriteLn('E[1], ..., E[K]');
     For 
:= 1 To R Do WriteLn(E[K]:3:3);
End
+ ещё помогите решить программки:
4) Используя представление последовательности чисел в виде линейного списка, напишите программу сортировки этой последовательности при помощи алгоритма простого выбора
5)Используйте линейные списки для хранения последовательности чисел.
Опишите процедуру, которая удаляет:
а) из списка второй элемент, если такой есть
б) Из непустого списка последний элемент.
Вот есть код для буквы Б:
PHP код:
type list=^node;
node=record
info
:integer;
next:list
end;
var 
s,l:list; x:integern,i:integer;
procedure del(var l:list);
var 
p,q:list;
begin
if l=nil then 
     
else if l^.next=nil then
begin dispose 
(l);l:=nil end
else begin
p
:=lq:=p^.next
while 
q^.next<>nil do
begin p:=qq:=q^next end;
dispose(q); p^.next:=nil
end
;

procedure out_spisok(l:list);
 
begin
while l<>nil do
begin 
    s
:=l^.next;
    
write (l^.info,'');
    
l:=s;
end;
writeln;
end;
begin 
s
:=nil;
writeln('введите кол-во элементов списка');
readln(n);
for 
i:=1 to n do
begin 
  
new(l);
  
l^.next:=s;
  
readln(x);
l^.info:=x;
s:=l;
end;

writeln ('введенный список');
out_spisok(l);
del(l);
writeln('полученный список');
out_spisok(l);

while 
l<>nil do
begin 
s
:=l^.next;
dispose(l);
l:=s;
end;
end

Последний раз редактировалось абвгд; 02.12.2011 в 19:48.
абвгд вне форума Ответить с цитированием
Старый 02.12.2011, 22:43   #2
ByAlex
Форумчанин
 
Аватар для ByAlex
 
Регистрация: 15.03.2011
Сообщений: 465
По умолчанию

И вы думаете кто то будет так просто разбираться в этих кодах?
Помог - жми на весы!
ByAlex89@mail.ru
ByAlex вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
объяснение задачи Екатерина Воробей Паскаль, Turbo Pascal, PascalABC.NET 4 12.10.2011 22:27
объяснение задачи Екатерина Воробей Паскаль, Turbo Pascal, PascalABC.NET 13 10.10.2011 17:02
Объяснение программы man-utd- Помощь студентам 4 23.11.2010 21:46
Объяснение программы ForzaJuve Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 13.11.2010 09:27
литература для написания программ для at89c5132 wanes101 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 4 23.08.2010 11:21