Цель работы
11.1.1 Составление программ с использованием динамических величин.
11.1 2 Отладка программы и контрольный просчет.
Приборы и оборудование
11.2.1 Free Pascal
11.2.2 ПЭВМ IBM PC/XT
11.2.3 Microsoft Word
11.2.4 Задание на выполнение работы в электронном варианте.
Порядок выполнения работы
11.3.1 Выберите номер варианта, согласно списка в учебном журнале (Приложение А).
11.3.2 Составьте программу, используя язык программирования Free Pascal
11.3.3 Составьте программу, используя указатели
11.3.4 Отладить программу с использованием контрольного примера (значения переменных задайте сами).
11.3.5 Результаты работы распечатайте на принтере.
11.3.6 Оформите лабораторную работу для сдачи преподавателю
11.3.7 Ответьте на контрольные вопросы устно
Контрольные вопросы
11.4.1 Что такое указатель?
11.4.2 Какие существуют способы выделения памяти под данные?
11.4.3 Что, значит складывать или вычитать указатели?
Приложение А
Номер варианта | Выражение |
Создать и вывести новый массив, который состоит из положительных элементов массива Y | |
Найти сумму третьего и шестого положительных элементов массива | |
Второй отрицательный элемент массива заменить минимальным | |
Сколько в массиве элементов с минимальным значением среди положительных? | |
Ненулевые элементы массива занести в другой массив | |
Вычислить сумму первых четырех отрицательных элементов | |
Вывести номер предпоследнего положительного элемента | |
Создать новый массив из отрицательных элементов массива Y | |
Найти произведение второго и четвертого элементов, значение которых больше, чем 3 | |
Максимальный элемент поменять местами со вторым нулевым | |
Предпоследний отрицательный элемент заменить максимальным | |
Вычислить произведение второго отрицательного и пятого элементов | |
Элементы массива большие, чем 1, занести в другой массив | |
Вывести номера и значения двух самых больших элементов. Вычислить их сумму | |
Есть ли в массиве два элемента среди отрицательных с максимальным значением? | |
Максимальный элемент поменять местами с четвертым, большим, чем единица | |
Третий положительный элемент заменить максимальным | |
Вывести номер пятого отрицательного элемента | |
Вычислить произведение первого, третьего и шестого положительных элементов и определить их номера в данном массиве | |
Вычислить сумму второго положительного и третьего отрицательного элементов | |
Элементы массива меньшие, чем 4, занести в новый массив | |
Создать массив, значения которого находятся между значениями третьего элемента заданного массива и максимальным значением | |
Вывести произведение номеров двух минимальных элементов среди положительных | |
Определить сумму номеров второго и третьего отрицательного элементов. Вывести эти номера | |
Вывести номера второго, четвертого и пятого положительных элементов | |
Найти индексы минимального элемента массива. Вычислить произведение его отрицательных элементов | |
Вычислить количество элементов массива, для которых выполняется неравенство 1<a[i] < 6 | |
Вычислить сумму квадратов элементов, больших 1 | |
Вычислить произведение тех элементов массива, для которых выполняется неравенство 2<a[i] <10 | |
Определить индексы минимального и максимального элементов массива |
Программирование с использованием строковых данных
Цель работы
12.1.1 Составление программ с использованием строковых данных
12.1.2 Отладка программы и контрольный просчет.
Приборы и оборудование
12.2.1 Free Pascal
12.2.2 ПЭВМ IBM PC/XT
12.2.3 Microsoft Word
12.2.4 Задание на выполнение работы в электронном варианте.
Порядок выполнения работы
12.3.1 Выберите номер варианта, согласно списка в учебном журнале (Приложение А).
12.3.2 Составьте программу, используя язык программирования Free Pascal
12.3.3 Составьте программу, используя команды для строковых данных, с использованием функций для строковых данных
12.3.4 Отладить программу с использованием контрольного примера (значения переменных задайте сами).
12.3.5 Результаты работы распечатайте на принтере.
12.3.6 Оформите лабораторную работу для сдачи преподавателю
12.3.7 Ответьте на контрольные вопросы устно
Контрольные вопросы
12.4.1 Что такое строка?
12.4.2 Что такое длина?
12.4.3 Чем отличаются строковая константа от строковой переменной?
12.4.4 Какие операции допустимы над строковыми данными?
12.4.5 Какие функции используются при работе со строкой?
12.4.6 Как описываются строковые переменные?
12.4.7 Какая максимальная длина строки допустима в Pascal?
12.4.8 Какие операции допустимы над строковыми данными?
12.4.9 В чем отличие строковой переменной от массива символов?
12.4.10 Какие стандартные процедуры и функции для работы со строками вы знаете?
12.4.11 Что выведет функция Copy(x,Pos(' ',x)+1,18), если x='Сила есть - ума не надо'?
12.4.12 Чему равно значение x[0] после присваивания x:='вопрос'?
Приложение А
Номер варианта | Выражение |
1.1.Вывести имя и количество букв в третьем слове 1.2 Вывести строку длины N (N - четное), которая состоит из чередующихся символов C1 и C2, начиная с C1. | |
2.1 Определить сколько букв «а» есть в фамилии 2.2 Дана строка. Вывести строку, содержащую те же символы, но расположенные в обратном порядке | |
3.1 Вывести три буквы (свои инициалы) с точками 3.2 Дана строка. Если она представляет собой запись целого числа, то вывести 1; если вещественного (с дробной частью), то вывести 2; если строку нельзя преобразовать в число, то вывести 0 | |
4.1 Вывести длины фамилии и имени 4.2 Дана строка S и число N. Преобразовать строку S в строку длины N следующим образом: если длина строки S больше N, то отбросить первые символы, если длина строки S меньше N, то в ее начало добавить символы "." (точка). | |
5.1 Вывести фамилию и инициалы и их длину 5.2 Даны два числа: N1 и N2, и две строки: S1 и S2. Получить из этих строк новую строку, объединив N1 первых символов строки S1 и N2 последних символов строки S2. | |
6.1 Вывести имя и количество букв в фамилии 6.2 Даны две строки: S1 и S2. Определить количество вхождений строки S2 в строку S1. | |
7.1 Определить сколько букв «о» есть в имени 7.2 Даны строки S1, S2 и символ C. После каждого вхождения символа C в строку S1 вставить строку S2. | |
8.1 Вывести самое длинное слово 8.2 Даны две строки: S1 и S2. Удалить из строки S1 все подстроки, совпадающие с S2. Если таких подстрок нет, то вывести S1 без изменений. | |
9.1 Изъять все буквы «а» и «о» из фамилии 9.2 Даны три строки: S1, S2, S3. Заменить в строке S1 первое1|последнее2|все3 вхождения строки S2 на S3. | |
10.1 Вывести имя в столбик 10.2 Дана строка, состоящая из русских слов, разделенных пробелами (одним или несколькими). Определить количество слов в строке. | |
11.1 Начинается ли хотя бы одно слово с буквы «м» 11.2 Дана строка, состоящая из русских слов, разделенных пробелами (одним или несколькими). Определить количество слов, которые - начинаются и заканчиваются одной и той же буквой | |
12.1 Все буквы «и» в имени продублировать 12.2 Дана строка, состоящая из русских слов, разделенных пробелами (одним или несколькими). Определить количество слов, которые - содержат хотя бы одну букву "А". | |
13.1 Вывести фамилию и количество букв в имени 13.2 Дана строка, состоящая из русских слов, разделенных пробелами (одним или несколькими). Определить длину самого короткого и длинного слова. | |
14.1 Вывести имя в обратном порядке 14.2 Дана строка, состоящая из русских слов, разделенных пробелами (одним или несколькими). Вывести строку, содержащую эти же слова (разделенные одним пробелом), но расположенные в обратном порядке. | |
15.1 Вывести фамилию в столбик 15.2 Дана строка-предложение на русском языке. Подсчитать количество содержащихся в строке знаков препинания. | |
16.1 Вывести имя, отчество и количество букв в фамилии 16.2 Дана строка-предложение, содержащая избыточные пробелы. Преобразовать ее так, чтобы между словами был ровно один пробел. | |
17.1 Вывести самое короткое слово 17.2 Дана строка, содержащая полное имя файла, то есть имя диска, список каталогов (путь), собственно имя и расширение. Выделить из этой строки имя файла. | |
18.1 Вывести строку без пропусков. Сколько букв в имени? 18.2 Дана строка, содержащая полное имя файла. Выделить из строки название последнего каталога (без символов "\"). Если файл содержится в корневом каталоге, то вывести символ "\". | |
19.1 Вывести длины трех слов 19.2 Дана строка-предложение. Зашифровать ее, поместив вначале все символы, расположенные на четных местах, а затем, в обратном порядке, все символы, расположенные на нечетных местах (например, строка "Программа" превратится в "ргамамроП"). | |
20.1 Вывести имя и количество букв в фамилии 20.2 Дана строка, содержащая несколько круглых скобок. Если скобки расставлены правильно (то есть каждой открывающей соответствует одна закрывающая), то вывести число 0. В противном случае вывести или номер позиции, в которой расположена первая ошибочная закрывающая скобка, или, если закрывающих скобок не хватает, число -1. | |
21.1 Каждую букву в имени продублировать 21.2 Дана строка. а) Подсчитать количество слов в данной строке. б) Подсчитать количество букв а в последнем слове данной строки. в) Найти количество слов, начинающихся с буквы б. г) Найти количество слов, у которых первый и последний символы совпадают между собой. д) Найти длину самого короткого слова. | |
22.1 Дана строка, заканчивающаяся точкой. Подсчитать сколько слов в строке 22.2 В каждом слове текста замените "а" на букву "е", если "а" стоит на четном месте, и заменить букву "б" на сочетание "ак", если "б" стоит на нечетном месте. | |
23.1 Дана строка, содержащая английский текст. Найти количество слов, начинающихся с буквы «а» 23.2 Гжатск получил новое название - город Гагарин. А в рязанской областной типографии еще не просохли гранки небольшой книги о родине первого космонавта. Конечно, книгу нужно было переделать... Написать программу, осуществляющую в некотором тексте замену слова "Гжатск" словом "Гагарин" (учесть, что слова имеют разную длину!) | |
24.1 Дана строка. Подсчитать, сколько в ней букв ‘r’, ‘k’, ‘l’ 24.2 Дан текст, содержащий от 2 до 30 слов, в каждом из которых от 2 до 10 латинских букв; между соседними словами - не менее одного пробела. Напечатать все слова, отличные от последнего слова, предварительно преобразовав каждое из них по следующему правилу: - перенести первую букву в конец слова | |
25.1 Дана строка. Подсчитать, сколько в ней букв ‘*’, ‘;’, ‘:’ 25.2 Написать программу для подсчета суммы мест, на которых в словах текста стоит заданная буква. | |
26.1 Дана строка. Найти самое короткое слово и самое длинное 26.2 С клавиатуры вводится текст. Подсчитать и вывести на печать количество слов текста, начинающихся с гласной. | |
27.1 Дана строка символов, среди которых есть символ «;». Определить, сколько символов ему предшествует 27.2 Зашифровать введенную с клавиатуры строку, поменяв местами первый символ со вторым, третий с четвертым и т. д. | |
28.1 Дана строка. Определить сколько раз входит группа символов «авс» 28.2 Записать программу, выясняющую, можно ли из букв слова X составить слово Y. | |
29.1 Дана строка. Найти в ней те слова, которые начинаются и оканчиваются одной и той же буквой 29.2 Для заданного текста определить длину содержащейся в нем максимальной серии символов, отличных от латинских букв | |
30.1 Определить сколько раз в строке встречается заданное слово 30.2 С клавиатуры вводится текст. Подсчитать и вывести на печать количество слов текста, начинающихся с согласной |