- •Тема 1. Арифметические выражения. Линейные программы.
- •Тема 2. Условный оператор.
- •Тема 3. Операторы цикла.
- •Тема 4. Одномерные массивы.
- •Тема 5. Двумерные массивы.
- •Тема 6. Символьные данные.
- •Тема 7. Строковы данные.
- •Тема 8. Процедуры.
- •5Доп. [16-19], 10доп.[104-116], 11доп.[187-211], 12доп.[121-134]
- •Тема 9. Функции.
- •5Доп. [16-19], 10доп.[104-116], 11доп.[187-211], 12доп.[121-134]
- •Тема 10. Записи
- •5Доп [19-22], 10доп.[95-99], 11доп.[321-338]
- •Тема 11. Типизированные файлы
- •5Доп [19-22], 10доп.[95-99], 11доп.[321-338]
- •Тема 12. Текстовые файлы.
- •5Доп [19-22], 10доп.[95-99], 11доп.[321-338]
- •Тема 13. Указатели.
- •5Доп. [28-32], 10доп.[125-146], 12доп.[161-174]
- •Тема 14. Построение графиков функции.
- •Варианты заданий:
- •Тема 15. Построение движущих изображений.
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]