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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.10.2012, 15:15   #1
TuuuZ
Пользователь
 
Регистрация: 28.12.2009
Сообщений: 27
По умолчанию Описание кода

Помогите с описанием кода программы. Что бы сдать зачет нужно рассказать, что делает программа. Недетерминированный конечный автомат.
Заранее благодарен.

код
Код:
program nka;
const
 P0: array[0..3] of integer = (22, 16, 0, 16);
 P1: array[0..3] of integer = (0, 0, 10, 0);
 m=4;
var
 s, s1, n, i, j: integer;
 str: string;

begin
 writeln('input string:');
 readln(str);
 s:=1;
 n:=length(str);
 for i:=1 to n do begin
  if (str[i]<>'0')and(str[i]<>'1') then begin
   writeln('string is invalid');
   halt
  end;
  s1:=0;
  for j:=0 to m-1 do if (s and (1 shl j))<>0 then begin
   if str[i]='0' then s1:=s1 or P0[j];
   if str[i]='1' then s1:=s1 or P1[j]
  end;
  s:=s1;
 end;
 if (s and (1 shl m))<>0 then  writeln('string is valid') else writeln('string is invalid')
end.

Последний раз редактировалось Stilet; 10.10.2012 в 15:42.
TuuuZ вне форума Ответить с цитированием
Старый 11.10.2012, 18:52   #2
TuuuZ
Пользователь
 
Регистрация: 28.12.2009
Сообщений: 27
По умолчанию

хоть как нибудь помогите
TuuuZ вне форума Ответить с цитированием
Старый 12.10.2012, 16:16   #3
Loreena.J
Пользователь
 
Аватар для Loreena.J
 
Регистрация: 08.10.2012
Сообщений: 11
По умолчанию

Код:
program nka;
//объявляем константы P1 и Р2 равные, соответствующим целочисленным массивам из 4х элементов, и объявляем констану m
const
 P0: array[0..3] of integer = (22, 16, 0, 16); 
 P1: array[0..3] of integer = (0, 0, 10, 0);
 m=4;
//объявляем переменные
var
 s, s1, n, i, j: integer;
 str: string;

begin
 writeln('input string:'); //выводим в консоль надпись 'input string:'
 readln(str); //пишем в консоли нашу строку
 s:=1;
 n:=length(str); // n = длине строки
 for i:=1 to n do begin
// если i-тый элемент строки не равен '0' и '1' то выдать сообщение 'string is invalid', остановить работу и вернуться в операционную систему
  if (str[i]<>'0')and(str[i]<>'1') then begin
   writeln('string is invalid');
   halt
  end;

// в этой части кода мне сейчас некогда разбираться, позже допишу если никто другой не допишет
  s1:=0;
  for j:=0 to m-1 do if (s and (1 shl j))<>0 then begin
   if str[i]='0' then s1:=s1 or P0[j];
   if str[i]='1' then s1:=s1 or P1[j]
  end;
  s:=s1;
 end;
 if (s and (1 shl m))<>0 then  writeln('string is valid') else writeln('string is invalid')
end.

Последний раз редактировалось Loreena.J; 12.10.2012 в 16:18. Причина: в связи с ошибкой
Loreena.J вне форума Ответить с цитированием
Старый 12.10.2012, 16:30   #4
Loreena.J
Пользователь
 
Аватар для Loreena.J
 
Регистрация: 08.10.2012
Сообщений: 11
По умолчанию

А если ты не понимаешь, что должна делать эта программа, то почитай эту статейку http://www.rsdn.ru/article/alg/nka.xml
Loreena.J вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Паскаль.Описание лабораторной работы. Помиогите сделать описание проги .какая формула что делает. Elimay25 Паскаль, Turbo Pascal, PascalABC.NET 1 01.03.2012 16:34
описание структуры(С++) Vally Помощь студентам 2 08.01.2012 23:59
Описание куба Godsmack2007 Паскаль, Turbo Pascal, PascalABC.NET 0 16.06.2011 20:16
Распознавание Аски кода и скан кода MyLastHit Общие вопросы Delphi 8 06.12.2010 18:34
Выдернуть куски кода из html-кода trafbite Помощь студентам 7 18.08.2007 13:51