• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Помогите реализовать СД

  • Автор темы Автор темы ikris
  • Дата начала Дата начала

ikris

Ученик
Регистрация
11 Июн 2012
Сообщения
2
Реакции
0
Баллы
0
Помогите реализовать СД

1. Реализовать СД строкового типа в виде модуля. Определить и обработать исключительные ситуации.
Unit form;
Interface
Const {определение исключительных ситуаций}
Type St=array[1..65520] of char;
String1=record
p_st:^st;{указатель на строку}
max:word;{максимальное количество символов в строке, определяется при инициализации}
N:word {динамическая длина строки}
End;

Procedure InitStr(var st:string1; n:word);
Procedure WriteToStr(var st:string1;s:string);
Procedure WriteFromStr(var s:string;st:string1);
Procedure InputStr(var st:string1);
Procedure OutputStr(const st:string1);
Function Comp(s1,s2:string1;var fl:shortint):boolean;
Procedure Delete(var S:String1;Index,Count:word);
Procedure Insert(Subs:String1;var S:String1;Index:word);
Procedure Concat( const S1, S2:string1;var srez:string1);
Procedure Copy(S:String1;Index,Count:Word; var Subs:string1);
Function Length(S: String1): word;
Function Pos(SubS, S: String1): word;
Var StrError: {тип переменной ошибки}

1. Procedure InputStr(var st:string1). Ввод строки st с клавиатуры.
2. Procedure OutputStr(const st:string1). Вывод строки st на экран монитора.
3. Procedure InitStr(var st:string1; n: word). Выделение динамической памяти под строку st, содержащую от 0 до n символов.
4. Procedure WriteToStr(var st:string1; s:string). Запись данных в строку st из строки s.
5. Procedure WriteFromStr(var s:string; st:string1). Запись данных в строку s из строки st.
6. Function Comp(s1,s2:string1; var fl:shortint):boolean. Сравнивает строки s1 и s2. Возвращает true если s1=s2 и fl=0, если s1>s2 и fl=1, если s1<s2 и fl=-1.
7. Procedure Delete(var S:String1; Index,Count:Word). Удаляет Count символов из строки S,начиная с позиции Index.
8. Procedure Insert(Subs:String1;var S:String1; Index:Word). Вставляет подстроку SubS в строку S,начиная с позиции Index.
9. Procedure Concat( const S1, S2:string1; var srez:string1). Выполняет конкатенацию строк S1 и S2; результат помещает в srez.
10. Procedure Copy (S:String1;Index,Count:Word; var Subs: String1). Возвращает подстроку Subs из строки S,начиная с позиции Index и длиной Count символов.
11. Function Length(S: String1): Word. Возвращает текущую длину строки S.
12. Function Pos(SubS, S: String1): Word. Возвращает позицию, начиная с которой в строке S располагается подстрока SubS.


2. Разработать программу для решения задачи с использованием модуля, полученного в результате выполнения пункта 1.

Заголовок: procedure SrtSet(var s:string;n,l:word;c:char).
Назначение: установка l символов строки s, начиная с позиции n, в значение с.
Входные параметры: s,c,l,n.
Выходные параметры: s.
 
Назад
Сверху