Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






Последовательность действий 4 страница




12. Чем может являться фактический параметр, если соответствующий ему формальный параметр описан как параметр-зна-чение?

13. Чем может являться фактический параметр, если соответствующий формальный параметр описан как параметр-кон-станта?

14. Могут ли в списке формальных параметров функции стоять параметры-переменные?

15. Объясните механизм передачи параметров.

16. Назовите правило соответствия формальных и фактических параметров.

17. Какого типа может быть результат функции?

18. Как выглядит обращение к подпрограмме? Чем отличается обращение к функции от обращения к процедуре?

19. Как процедура возвращает свои результаты в вызывающую программу?

20. Как функция возвращает результат в вызывающую программу?

21. Может ли подпрограмма пользоваться глобальными переменными?

 

 

Лабораторная работа № 7

 

Строки

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

 

Постановка задачи

 

Написать две программы согласно индивидуальному варианту. Использовать строковые и символьные переменные, но не массивы символов.

 

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

 

Вариант 1

1. Дана строка символов. Заменить в ней большие (прописные) русские буквы на маленькие (строчные), а маленькие на большие, остальные символы оставить без изменения.

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

 

Вариант 2

1. Дана символьная строка. Определить длину самой длинной подстроки из подряд стоящих букв «о».

2. Дана строка, содержащая последовательность слов, разделенных запятыми, и заканчивающаяся точкой. Удалить из нее все слова нечетной длины.

 

Вариант 3

1. Дана строка символов. Преобразовать её, заменяя каждый пробел на два пробела, а из каждой пары идущих подряд одинаковых букв оставляя только одну.

2. Дана строка, содержащая предложение, заканчивающееся точкой. Подсчитать в ней число слов, содержащих хотя бы одну букву «а».

 

Вариант 4

1. Дана строка символов, содержащая арифметическое выражение. Проверить баланс скобок в выражении. (Количество открывающих и закрывающих скобок должно быть одинаковым, и закрывающая скобка не может стоять раньше, чем соответствующая ей открывающая.)

2. Дана строка, содержащая последовательность слов, разделенных запятыми и точками. Проверить, что слова, стоящие после запятой, начинаются с маленькой буквы, а слова, стоящие после точки, и первое слово − с большой. Если это не так, то исправить.

 

Вариант 5

1. Дана строка символов, заканчивающаяся точкой. Вывести ее на экран в обратном порядке без пробелов и знаков препинания.

2. Дана строка символов. Определить, входят ли в ее состав числа. Если да, то найти их сумму. Будем считать, что числа в строке могут быть только целыми.

Вариант 6

1. Дана символьная строка. Зашифровать в ней все латин-ские буквы с помощью циклической подстановки: A®В®С®…®Y®Z®A.

2. Дана строка, содержащая последовательность слов, разделенных пробелами, и заканчивающаяся точкой. Записать слова этой строки в обратном порядке («мама мыла раму» ® «раму мыла мама»).

 

Вариант 7

1. Дана строка символов, состоящая из цифр от 0 до 9. Зашифровать её. Для этого составить новую строку из букв, заменяя каждую цифру на букву латинского алфавита, порядковый номер которой соответствует заменяемой цифре (‘0’ − на ‘А’, ‘1’ − на ‘В’ и т.д.).

2. Дана строка, содержащая предложение, заканчивающееся точкой. Найти в нем слова, содержащие наибольшее количество букв «о».

 

Вариант 8

1. Дана строка символов. Преобразовать строку, из групп идущих подряд пробелов оставляя по одному и удваивая все гласные буквы.

2. Даны две строки, содержащие последовательности слов, разделенных запятыми, и заканчивающиеся точкой. Составить третью строку из слов, имеющихся в обеих данных строках.

 

Вариант 9

1. Дана строка символов. Заменить все пробелы в ней точками и запятыми поочередно.

2. Дана строка символов. Изменить строку: во всех словах, имеющих нечетное количество символов, средний символ удалить.

 

Вариант 10

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

2. Дана символьная строка, содержащая предложение, заканчивающееся точкой. Преобразовать её, удаляя однобуквенные слова и лишние пробелы.

Вариант 11

1. Если в заданной строке имеются пары открывающих и закрывающих круглых скобок, то удалить последовательности символов, расположенные между открывающими и закрывающими скобками, и сами скобки. Предполагается, что внутри пары скобок вложенных скобок нет.

2. Дана символьная строка, содержащая последовательность слов, разделенных запятыми, за последним словом − точка. Вывести те слова, которые начинаются на ту же букву, что и последнее слово.

 

Вариант 12

1. Дана строка символов. Проверить, является ли она правильной десятичной записью вещественного числа.

2. Дана строка символов, содержащая последовательность слов, разделенных пробелами, и заканчивающаяся точкой. Определить, сколько слов, состоящих из пяти и более символов, содержит данная строка.

 

Вариант 13

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

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

 

Вариант 14

1. Дана строка, содержащая дату в формате “дд.мм.гггг”. Проверить корректность этой даты и сформировать строку, содержащую следующую по порядку дату.

2. Дана строка символов, содержащая предложение, заканчивающееся точкой. Найти в строке самое длинное слово и вывести его на экран.

 

Вариант 15

1. Дана строка символов. Удалить из нее все повторные вхождения букв.

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

 

Вариант 16

1. Дана строка символов. Найти наибольшее количество подряд идущих в ней цифр.

2. Дана строка символов, содержащая некоторый текст. Определить, сколько слов текста составлено из букв русского алфавита, сколько из латинских. Слова, в которых присутствуют буквы обоих алфавитов, заменить словом «ошибка».

 

Вариант 17

1. Дана строка символов. Заменить каждый пробел в ней двумя знаками подчеркивания, а каждое сочетание букв ‘он’ заключить в круглые скобки.

2. Дана строка символов, содержащая некоторый текст. Во всех словах с четным номером поменять местами первый и последний символы.

 

Вариант 18

1. Дана строка, содержащая фамилию, имя и отчество человека. Преобразовать строку так, чтобы сначала указывались инициалы с точками, а затем фамилия.

2. Дана строка, содержащая предложение, заканчивающееся точкой. Поменять в нем местами первое и последнее слова.

 

Вариант 19

1. Дана строка символов. Заменить в строке все слоги “да” на “не” и удалить символ, предшествующий каждому пробелу.

2. Дана строка символов, содержащая предложение, заканчивающееся точкой. Инвертировать каждое слово в заданном предложении.

 

Вариант 20

1. В БГТУ принято, что старшая цифра номера студенческой группы означает номер кафедры, средняя – последнюю цифру года поступления, младшая – порядковый номер группы на курсе. Продолжительность обучения не более 6 лет. Дан номер группы студента и текущий год. Определить, к какой кафедре прикреплен студент, в каком году он поступил и на каком сейчас курсе.

2. Дана строка символов, содержащая предложение, заканчивающееся точкой. Удалить из строки первые буквы каждого слова.

 

Вариант 21

1. Дана строка, содержащая арифметическое выражение, в которое входят целые числа и знаки ‘+’ и ‘−‘ и которое заканчивается знаком ‘=’. Например, ‘17+23−4+121=’. Вычислить значение этого выражения и дописать результат в заданную строку после знака ‘=’.

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

 

Вариант 22

1. Дана строка символов, заканчивающаяся точкой. Определить, является ли она палиндромом. (Палиндром слева направо и справа налево читается одинаково, например «Леша на полке клопа нашел».) Пробелы и знаки препинания, а также регистр букв не учитываются.

2. Найти самое длинное слово в заданном предложении.

 

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

 

1. Каковы способы записи символьных данных в Паскале?

2. Каков результат функций ord, succ и pred для символов?

3. Как может описываться строковая переменная?

4. Какова максимальная длина строки, описанной как string?

5. Какова структура строковой переменной? Чем она отличается от массива символов?

6. Как обратиться к отдельному символу строки?

7. Что содержится в нулевом байте строковой переменной и в каком виде?

8. В результате каких действий автоматически изменяется нулевой байт строки?

9. Можно ли присваивать значение нулевому байту строки? Если да, то к чему это приведет?

10. Какие операции для строк существуют в языке Паскаль?

11. Как происходит сравнение строк?

12. Как изменить значение строки? Как изменить отдельный символ строки?

13. Почему строку нельзя вводить посимвольно в цикле как массив символов?

14. Какие стандартные подпрограммы можно использовать для работы со строками?

 

 

Лабораторная работа № 8

 

Тип данных «запись». Массив записей

 

 

Цель работы – познакомиться со структурированным типом данных «запись», изучить особенности работы с записями.

 

Постановка задачи

 

Написать программу согласно индивидуальному варианту. При написании программы использовать технологию структурного программирования. На экран вывести исходные данные в виде таблицы с использованием символов псевдографики, а также результаты работы в наглядном виде.

 

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

 

Вариант 1

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

 

Вариант 2

Дан массив дат, в котором каждый компонент включает поля: день, месяц и год. Найти все зимние даты и самую позднюю дату.

 

Вариант 3

В массиве содержится информация о товарах, находящихся на складе: название, цена, производитель товара. Удалить из массива запись о проданном товаре по его названию.

Вариант 4

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

 

Вариант 5

Дан массив, содержащий сведения о туристических компаниях: название фирмы, место отдыха, стоимость путевки, длительность поездки. Вывести сведения о самой дешевой путевке.

 

Вариант 6

Дан массив записей, содержащий сведения об импортируемых товарах: наименование товара, страна, экспортирующая товар, и объем поставляемой партии (в штуках). Для указанного товара вывести список стран, экспортирующих данный товар, и общий объем его импорта.

 

Вариант 7

Имеется массив записей, содержащий перечень имеющихся в продаже товаров и цену каждого из товаров. Определить общую стоимость приобретенных товаров, если известно, сколько единиц каких видов товаров продано.

 

Вариант 8

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

 

Вариант 9

Дан массив записей с фамилиями сотрудников, годами их рождения и годами поступления в учреждение. Вывести фамилии сотрудников моложе 30 лет и проработавших не менее 5 лет.

 

Вариант 10

Сведения о багаже нескольких пассажиров содержатся в массиве записей. Багаж пассажира характеризуется двумя величинами: количество вещей и их общий вес в килограммах. Упорядочить сведения о багаже по невозрастанию веса багажа.

Вариант 11

Список студентов группы представлен в виде массива записей, компоненты которых – фамилия и имя – строкового типа. Найти однофамильцев в группе.

 

Вариант 12

В массиве хранятся данные о багаже N пассажиров (N <= 10), N вводится. Сведения о багаже каждого пассажира содержат количество вещей и их общий вес в килограммах. Найти пассажира, средний вес одной вещи которого отличается не более чем на 0,3 кг от общего среднего веса одной вещи.

 

Вариант 13

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

 

Вариант 14

В массиве содержится информация о сдаче зимней сессии студентами первого курса. Сведения о каждом студенте содержат фамилию, номер группы, оценки по четырем предметам. Вывести процент студентов, сдавших все экзамены на 4 и 5.

 

Вариант 15

Дан массив, содержащий сведения о жителях, обслуживаемых данной поликлиникой: фамилию, год рождения, адрес, наличие прививки от гриппа. Вывести фамилии жителей непенсионного возраста, не сделавших прививку от гриппа.

 

Вариант 16

Дан массив, содержащий сведения о жителях, обслуживаемых данной поликлиникой: фамилию, год рождения, адрес, дату последней флюорографии. Сформировать массив жителей, которые на текущий момент не делали флюорографию больше года.

 

Вариант 17

Дан массив, содержащий сведения об экспортируемых товарах: наименование товара, страна, импортирующая товар, и объем поставляемой партии. Сформировать массив стран, в которые экспортируется определенный товар (наименование задается пользователем), и общий объем его экспорта.

 

Вариант 18

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

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

 

Вариант 19

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

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

 

Вариант 20

Приняв способ изображения рационального числа в виде записи с двумя целочисленными полями: числитель и знаменатель, написать программу, позволяющую найти наибольшее среди рациональных чисел, имеющихся в заданном массиве.

 

Вариант 21

Даны массив A, содержащий сведения о товарах на складе (вид товара и его количество), и массив B, содержащий сведения о движении товара, т.е. насколько уменьшилось или увеличилось количество изделий по некоторым видам продукции. Обновить массив А по сведениям, содержащимся в массиве В.

 

Вариант 22

Даны два массива. Массив A содержит сведения об изделиях (название изделия, стоимость сборки одной единицы), массив В – о выполненных работах по сборке изделий (фамилия рабочего, название изделия и количество собранных им изделий). По введенной фамилии рабочего определить стоимость выполненных им работ.

 

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

 

1. Что представляет собой тип данных «запись»?

2. Как описывается тип данных «запись»?

3. Как ввести и вывести запись?

4. Чем запись отличается от массива?

5. Что такое поле записи и как к нему обратиться?

6. Могут ли совпадать имена полей различных записей?

7. Могут ли совпадать имена полей одной и той же записи?

8. Можно ли значения полей записи использовать в выражениях?

9. Как определяется объем памяти, требуемый для размещения записи?

10. Могут ли записи иметь вложенную структуру?

11. Может ли типом поля записи быть массив?

12. Зачем используется оператор with?

13. Как описать массив записей?

14. Опишите структуры данных, к элементам которых можно обратиться следующим образом: a.b[i] и a[i].b.

 






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных