Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
11
Добавлен:
25.04.2015
Размер:
409.6 Кб
Скачать

5Доп. [16-19], 10доп.[104-116], 11доп.[187-211], 12доп.[121-134]

Тема 9. Функции.

Форма проведения: решение задач.

Методические рекомендации: Передать строковые данные в качестве параметра процедуры/функции. Входные строковые параметры, если они не изменяются в теле процедуры/функции, для экономии памяти рекомендуется описывать как параметры-константы.

Варианты заданий:

1. Описать функцию IsIdent(S) целого типа, проверяющую, является ли строка S допустимым идентификатором Паскаля. При утвердительном ответе возвращается 0. Если S является пустой строкой, то возвращается –1, если строка начинается с цифры, то возвращается –2. Если S содержит недопустимые символы, то возвращается номер первого недопустимого символа. Проверить с помощью этой функции пять данных строк.

2. Описать функцию FillStr(S,Len) строкового типа, возвращающую строку длины Len, заполненную повторяющимися копиями строки-шаблона S (последняя копия строки-шаблона может входить в результирующую строку частично). Используя эту функцию, сформировать по данному числу Len и пяти данным строкам-шаблонам пять результирующих строк длины Len.

3. Описать процедуру LowCase1(S), преобразующую все прописные буквы строки S в строчные (остальные символы строки S не изменяются). Используя эту процедуру, преобразовать пять данных строк.

4. Описать процедуру Trim(S)3, удаляющую в строке S начальные и конечные пробелы. Используя эту процедуру, преобразовать пять данных строк.

5. Описать функцию PosLast(subS,S) целого типа, возвращающую номер позиции, с которой в строке S содержится последнее вхождение подстроки subS. Если в строке S отсутствуют подстроки subS, то функция возвращает 0. Вывести значения этой функции для пяти данных пар subS и S.

Контрольный пример 1.

В программе задается два целых числа 5 и 7, эти числа передаются процедуре Inc2, которая их удваивает. Один из параметров передается как параметр-переменная, другой - как параметр-значение. Значения параметров до и после вызова процедуры и результат их удвоения выводятся на экран.

    program primer7;     var a,b: integer;     procedure inc2(var c: integer; b: integer);         begin             c := c + c;             b := b + b;             writeln(‘удвоенные :’, c:5, b:5)         end; {inc2}     begin {main}         a:=5; b:=7;         writeln(‘исходные :’, a:5, b:5); inc2(a, b);         writeln(‘результат :’, a:5, b:5)     end. {main}

В результате прогона программы будет выведено: Исходные : 5    7

Удвоенные : 10    14

Результат : 10    7

Контрольный пример 2.

Описать функцию, вычисляющую факториал и использовать ее для вычисления

    program primer8;     var n,m: integer; f: real;     function fact(n: integer): integer;     var i,p : integer;     begin p:=1;         for i:=2 to n do p := p* i;         fact:= p     end;     begin         read(m,n);         f:= fact(n) * fact(m) / fact(n+m);         writeln(f)     end.

1осн.[161-181]

5Доп. [16-19], 10доп.[104-116], 11доп.[187-211], 12доп.[121-134]

Тема 10. Записи

Форма проведения: решение задач.

Методические рекомендации: Создать массив записей в соответствии с заданной структурой. Реализовать ввод и обработку записей, используя типизированные файлы (файлы записей). В программе должны быть предусмотрены соответствующие процедуры и функции, корректно обрабатывающие входные данные, ввод-вывод файлов базы данных. Все действия пользователя должны контролироваться и снабжаться осмысленными сообщениями. Результат (база данных) должен запоминаться тоже в файле и быть доступен для последующей (многократной) обработки

Варианты заданий:

Предусмотреть вывод значений для полей элементов массива записей по следующим ключам: по адресу юридической консультации, по названию юридической консультации, по фамилии, имени, отчеству (Ф.И.О.) адвоката или нотариуса, по номеру телефона адвоката или нотариуса.

 

Запросы:

1. Определить, сколько юридических консультаций находится в определенном районе.

2. Определить юридическую консультацию, в которой работает наибольшее количество адвокатов.

3. Определить юридическую консультацию, в которой работает наименьшее количество нотариусов.

4. Определить, сколько нотариусов и адвокатов работает в определенной юридической консультации.

5. Определить юридические консультации, которые находятся на одной определенной улице.

6. Определить юридические консультации, которые находятся в одном определенном районе

Варианты 7-13

Методические рекомендации: Предусмотреть вывод значений для полей элементов массива записей по следующим ключам: дате, предмету судебного разбирательства, названию фирмы-истца, названию фирмы-обвиняемого.

 

 

Запросы:

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

8. Определить, в каком году было больше всего дел, связанных с банкротством.

9. Определить, в каком году было больше всего дел, связанных с разводами.

10. Определить, в каком году было больше всего дел, связанных с дискриминацией.

11. Определить фирму, по которой возбуждалось уголовное дело более 2-х раз.

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

13. Определить, какая фирма чаще всего за эти годы выступала в роли истца.

1осн. [104-108]

Соседние файлы в папке лекции паскаль