Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Задания для лабораторной работы

Лабораторная работа № 11. Модули

Теория

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

Модуль состоит из следующих частей:

1. Заголовок

2. Раздел интерфейса

3. Раздел реализации

4. Конец модуля

В заголовке определяется имя модуля. Это имя в дальнейшем используется при ссылке на модуль в предложении uses. Перед именем модуля стоит служебное слово Unit

Unit имя модуля;

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

Раздел реализации начинается со слова implementation. В этом разделе приведены описания всех глобальных процедур и функций. В этом же разделе описываются все константы, типы переменных, процедуры и функции, которые являются глобальными для модуля, но локальными по отношению в основной программе. Основная программа их не видит.

Модуль заканчивается словом end с точкой.

Примеры

Пример 1.

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

Использовать этот модуль для вычисления z:

для произвольных a и b.

Модуль

Unit Power;

Interface

{Функция возведения в целую степень n вещественного числа x}

Function IntPower(x: real; n: integer): real;

{Функция извлечения целого корня n вещественного числа x}

Function Root(x: real: n: integer):real;

{Функция возведения в произвольную степень y вещественного положительного числа x}

Function RealPower(x, y: real): real;

Implementation

Function IntPower(x: real; n: integer): real;

var P: real; i: integer;

begin

P:=1;

For i:=1 to n do

P:=P*x;

IntPower:=P;

end;

Function Root(x: real: n: integer):real;

var y: real;

begin

y:=x;

repeat

y:=(n-1)/n*y+x/(n*IntPower(y, n-1));

until abs(IntPower(y, n)-x)<1.0E-4;

Root:=y;

end;

Function RealPower(x, y: real): real;

begin

RealPower:=exp(y*ln(x));

end;

end.

Основная программа:

program Powerz;

Uses Power;

var a, b, x, y, z: real;

begin

write(‘a, b=’);

readln(a,b);

y:=2*a-sqrt(b);

x:=Root(sqr(a)+IntRower(b,4)), 4);

z:=RealPower(abs(x), a) - IntRower(y, 3);

writeln(‘z=’,z:10:4);

readln;

end.

Контрольные вопросы

1. Как подключить к программе модуль

2. С какого слова начинается текст модуля.

3. Для чего предназначен раздел implementation.

4. Какие подпрограммы и данные можно не описывать в разделе interface.

5. Сколько модулей можно подключать к программе.

Задания для лабораторной работы

При создании процедур и функций стандартные функции не использовать.

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

MaxText – найти самое длинное слово в тексте.

NewPos – определение вхождения подстроки с заданной позиции

Convers – переписать заданный текст наоборот

MyCopy – выделение с заданной позиции заданного количества символов.

MyLen определяет количество символов в строке

Задание. Дан текст. Найти самое длинное слово в тексте и все слова, равные по длине этому слову переписать в наоборот.

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

WordN – выделяет N-ное слово

MyMove – перенести заданною подстроку в заданною позицию

CountWord– определяет количество слов в тексте

MyInsert – вставка подстроки с заданной позиции

Задание. Дан текст. Попарно переставить слова в этом тексте.

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

CountWord– определяет количество слов в тексте

WordN – выделяет N-ное слово

DeleteAll – удаление всех вхождений заданной подстроки

DivEnd - разделить строку на две подстроки по последнему вхождению сочетания символов

Задание. Дан текст. Удалить в этом тексте все слова равные 4 символам. Дан текст в виде: описание товара и его цена. Цена отделяется от описания “ – “. Отделить описание товара от его цены.

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

MoveEnd - перенести заданную подстроку в конец.

MyPos – определение первого вхождения подстроки

WordN – выделяет N-ное слово

CountWord– определяет количество слов в тексте

Sovpad проверяет совпадение двух строк без учета регистров, пробелов и знаков препинания

Задание. Поменять местами в тексте первое и последнее слово. Даны две строки, содержащие слова, написанные в разных регистрах. Найти какие слова в первой строке совпадают со словами из второй строки.

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

NewCopy – выделение строки с заданного начального символа до заданного конечного символа

NewDelete – удаление подстроки с начальной позиции до конечной позиции

MyPos – определение первого вхождения подстроки

MyDown(строка) все буквы – строчные.

Задание. Дан текст содержащий фрагмент в круглых скобках. Переписать этот фрагмент в отдельную строку и сделать все буквы в этой строке строчными, а в первоначальном тексте удалить этот текст

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

Inicial – текст фамилия, имя, отчество или фамилия имя преобразовать фамилия и инициалы и преобразует регистр

MyReplace – замена в строке одной подстроки на другую

NewPos – определение вхождения подстроки с заданной позиции

CountStr – вычисление вхождений одной подстроки в другую

DeleteStr - удаление k-того вхождения заданной подстроки

Задание. Дан текст содержащий в средине фамилию имя отчество, которым предшествует слово «уважаемый». Заменить имя отчество на инициалы и записать их с большой буквы. Дан текст содержащий несколько раз знак «!». Удалить последний «!».

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

Abrev – получить аббревиатуру заданного текста

NewPos – определение вхождения подстроки с заданной позиции

MyReplace – замена в строке одной подстроки на другую

NewRight – выделение с конца строки начиная с заданного символа

Задание. Дан адрес организации. Название организации заключено в кавычки. Заменить название организации на аббревиатуру. Дан текст в конце текста указан город, которому предшествует «г.». Выделить этот город в отдельную переменную.

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

MyNumber – записать целое число (до миллиона) числительными.

MyLeft – выделение сначала заданного количества символов.

MyDelete – удаление подстроки с заданной позиции данное количество символов

Задание. Дан текст, который содержит число (не более 6 цифр). Записать эти число прописью.

Дан адрес. В начале адреса указан почтовый индекс. Выделить этот индекс в отдельную строку, а в адресе индекс удалить.

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

MyVal – преобразовать строку в целое число

NewCopy – выделение строки с заданного начального символа до заданного конечного символа

MyPos – определение первого вхождения подстроки

MyLen определяет количество символов в строке

Задание. Дана строка, содержащая название товара и его цены. Например: «Конфеты шоколадные «Перезвоны» 70 руб», «Хлеб Чусовской 7 руб. 30 коп.» или «Колбаса 103,40». Разделить название товара и его цены, записав цену в переменную вещественного типа. В названии товара все буквы сделать заглавными.

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

MyPos – определение первого вхождения подстроки

ReplaceAll - замена в строке всех вхождений одной подстроки на другую

Rubl – преобразует число в строку денежного формата

Функция MyPropose(строка) все слова с большой буквы остальные буквы - строчные.

Задание. Дан юридический адрес предприятия, содержащий расчетный счет, перед которым стоит «р/с» или «расчетный счет». Заменить один расчетный счет на другой. Дана строка с фамилией сотрудника и число – оклад. Объединить это в одну строку. Фамилию имя отчество записать с заглавных букв.

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

ReplaceAll - замена в строке всех вхождений одной подстроки на другую

NewPropose(строка) первое слово с большой буквы остальные слова строчные буквы.

TrimAll – удаление всех лишних пробелов.

MyStr – преобразовать целое число в строку.

Задание. Дан текст. заменить все слова «тебя» в этом тексте на «Вас».

Дана строка, содержащая фамилию ученика и класс, а также целое число – отметку. Объединить это в строку. Фамилию ученика написать с заглавной буквы, удалив лишние пробелы.

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

MoveBeg – перенести заданную подстроку в начало

CountWord– определяет количество слов в тексте

WordN – выделяет N-ное слово

DivBegin – разделить строку на две подстроки по первому вхождению сочетания символов

Задание. Дан текст переписать слова в этом тексте в обратном порядке. Дан текст фамилия ученика, предмет и отметка. Отметка отделена словом «оценка». Получить две строки одна - фамилия и предмет, другая – отметка.

 



<== предыдущая лекция | следующая лекция ==>
Тема: Создание новой БД MS ACCESS | Методические указания подготовил
Поделиться с друзьями:


Дата добавления: 2016-09-03; Мы поможем в написании ваших работ!; просмотров: 326 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Вы никогда не пересечете океан, если не наберетесь мужества потерять берег из виду. © Христофор Колумб
==> читать все изречения...

2339 - | 2144 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.014 с.