Читайте также: |
|
Перечислимый и ограниченный типы. Массивы
1. Подсчитать количество элементов целочисленного массива (x1, x2, …, xn), кратных трём.
2. Составить программу вычисления среднего арифметического элементов массива (x1, x2, …, xn), n ≤ 100.
3. Найти наибольший элемент матрицы A(5, 10) и номер строки и столбца, на пересечении которых он находится.
4. Дана вещественная квадратная матрица. Сформировать вектор, в котором элементы вычисляются как разность наибольших и наименьших элементов соответствующих строк.
5. Дана квадратная матрица порядка n. Построить массив b1, b2, …, bn, в котором bi=1, когда в i -м столбце есть хотя бы один отрицательный элемент, и bi=0 в противном случае.
6. Дана матрица размерности m´n. Переставляя её строки и столбцы, добиться того, чтобы наибольший элемент (один из них) оказался в левом верхнем углу.
7. Дана действительная матрица m´n. Сформируйте вектор b, в котором элементы bi вычисляются как среднее арифметическое элементов соответствующих столбцов.
8. Элементы массива x циклически сдвинуть на k позиций влево. Это значит, что в новом массиве x': x1' = xk+1, x2' = xk+2, …, xn-k' = xn, xn-k+1' = x1, xn-k+2' = x2, …, xn' = xk.
9. Дан массив целых чисел. Определить в нём количество инверсий (то есть таких пар элементов, в которых большее число находится слева от меньшего: xi > xj при i < j).
10. Элемент матрицы назовём седловой точкой, если он является наименьшим в своей строке и одновременно наибольшим в своём столбце или, наоборот, является наибольшим в своей строке и одновременно наименьшим в своём столбце. Для заданной целой матрицы размером m´n напечатать индексы всех её седловых точек.
11. Дан перечислимый тип и массив:
type DenNedeli = (Pn, Vt, Sr, Cht, Pt, Sb, Vs);
var God: array [1..365] of DenNedeli;
Присвоить каждому элементу God[K] название того дня недели, на который приходится K-й по счёту день невисокосного года, если известно, что 1 января – среда (God[1]:= Sr, God[2]:= Cht и т. д.).
12. Даны перечислимые типы и массив:
Type
Mesyac = (Yan, Fev, Mar, Apr, May, Iyun, Iyul, Avg, Sen,
Okt, Noya, Dek);
DenNedeli = (Pn, Vt, Sr, Cht, Pt, Sb, Vs, Net);
var Kalen: array [Mesyac, 1..31] of DenNedeli;
Заполнить календарь Kalen соответствующими днями недели (для несуществующих дат указать Net) при условии, что год невисокосный и 1 января – понедельник (Kalen[Yan, 1]:= Pn; Kalen[Yan, 2]:= Vt; …; Kalen[Fev, 29]:= Net; …).
Контрольные вопросы:
1. Что такое перечислимый тип? Чем он отличается от других порядковых типов? Что такое безымянный тип?
2. Как в программе объявляется ограниченный тип? Что такое базовый тип? Какие типы можно использовать в качестве базового?
3. Что такое тип "массив"? Как объявляется многомерный массив?
4. Что такое элемент массива?
5. Как реализуется ввод/вывод массива?
Практическое занятие №6
Строки
1. Дан текст.
а) Подсчитать количество символов "!" и "?" в данной строке.
б) Подсчитать число букв "о" в последнем слове данной строки.
в) Найдите количество слов, начинающихся с буквы "м".
г) Найдите количество слов с удвоенной буквой "н".
д) Найти длину самого длинного слова.
2. Напишите программу, которая во введённой с клавиатуры строке преобразует строчные буквы русского алфавита в прописные. (Учтите, что функция UpCase с символами русского алфавита не работает).
3. Дана строка s и строка s1. Найти первое вхождение s1 в s справа и удалить его из s.
4. Дана строка символов. Напечатать только строчные русские буквы, входящие в этот текст.
5. Дан текст из строчных русских букв. Напечатать этот текст прописными русскими буквами.
6. Дан текст из прописных русских букв. Определить, упорядочены ли эти буквы по алфавиту.
7. Напечатать в алфавитном порядке все различные строчные русские буквы, входящие в заданный текст из не более чем 255 литер.
8. Дана строка символов из латинских букв. Напечатать её, предварительно преобразовав следующим образом:
а) все вхождения abc заменить на def;
б) удалить все вхождения w, если такие есть (образовавшиеся "дыры" заполнить последующими буквами, а в конец добавить пробелы);
в) удалить все вхождения th;
г) заменить на ks все вхождения x, если такие есть;
д) после каждой буквы q добавить букву u;
е) заменить все вхождения ph на f, а все вхождения ed на ing.
Контрольные вопросы:
1. Что такое строковый тип? Какие способы его объявления?
2. Как изображаются строковые константы? Как изображается в них символ апостр о фа?
3. Что такое элемент строки? Какова структура строковой переменной?
4. В чём отличие массива символов от строки?
5. Какие операции определены над символами, и какие – над строками?
Практическое занятие №7
Файловый тип. Текстовые файлы
1. Прямая на плоскости задаётся уравнением ax+by+c=0, где a и b одновременно не равны нулю. Будем рассматривать только прямые, для которых коэффициенты a, b, c – целые числа. Пусть f – файл, содержащий коэффициенты нескольких прямых (не менее трёх). Переписать из файла f в файл g коэффициенты тех прямых, которые
а) параллельны первой из прямых, заданных в файле f;
б) параллельны первой из прямых, заданных в файле f, и различны.
2. Дан текстовой файл f. Записать в перевёрнутом виде строки файла f в файл g. Порядок строк в файле g должен
а) совпадать с порядком исходных строк в файле f;
б) быть обратным по отношению к порядку строк исходного файла.
3. Даны два текстовых файла f и g. Определите, совпадают ли компоненты файла f с компонентами файла g. Если нет, то получить номер первой строки и позицию первого символа в этой строке, в которых файлы f и g отличаются между собой. В случае, когда один из файлов имеет n строк (n ≥ 0) и повторяет начало другого (более длинного) файла, ответом должны быть числа n+1 и 1.
4. Дан текстовой файл f. Найти максимальную длину его строк.
5. Дан текстовой файл f. Подсчитать число строк, которые начинаются и оканчиваются одной и той же литерой.
6. Дан текстовой файл f. Переписать его содержимое в текстовой файл g, но без пустых строк.
7. Считая, что в текстовом файле f длины строк не превосходят 80, переписать все строки в текстовой файл f80, дополняя короткие строки пробелами справа, чтобы они все имели одинаковую длину 80.
8. В текстовом файле f записана непустая последовательность вещественных чисел, разделённых пробелами. Найти среди них максимальное, не используя массив.
9. В текстовом файле f записана непустая последовательность целых чисел, разделённых пробелами. Переписать из этого файла в текстовой файл g все положительные числа.
10. Переписать содержимое текстового файла f в текстовой файл g, вставляя в начало каждой строки её порядковый номер (он должен занимать 4 позиции) и пробел.
Контрольные вопросы:
1. Что такое файловый тип?
2. Какие виды файлов существуют в Турбо Паскале?
3. Какие действия осуществляются с файлами?
4. Что такое подсоединение к файлу? Что такое логические устройства?
5. Что такое открытие файла?
6. Что такое закрытие файла?
7. Что такое ввод/вывод, и что такое текущая позиция файла?
8. Что такое текстовой файл? Каковы его отличительные особенности?
9. Какие виды позиционирования осуществляются с текстовыми файлами?
Практическое занятие №8
Типизированные и нетипизированные файлы
1. Дан файл, компоненты которого являются целыми числами. Найти:
а) наибольшее (наименьшее) из значений компонентов;
б) среднее арифметическое значений компонентов;
в) все чётные компоненты (все компоненты, кратные трём);
г) последний компонент файла;
д) компоненты, являющиеся точными квадратами.
2. Дан файл, компоненты которого являются действительными числами. Найти:
а) наибольшее из значений модулей компонентов;
б) разность первого и последнего компонентов;
в) количество отрицательных чисел среди компонентов;
г) сумму компонентов с чётными номерами;
д) количество элементов файла, меньших среднего арифметического всех элементов этого файла.
3. Дан символьный файл f:
а) записать в файл g компоненты файла f в обратном порядке;
б) получить файл g, образованный из f заменой всех прописных (больших) букв одноимёнными строчными (малыми) буквами;
в) добавить в его конец символы e, n, d;
г) найти самое длинное слово (словом будем считать любую последовательность непробельных символов, а символ пробела – разделителем);
д) посчитать количество слов в этом файле;
е) удалить все однобуквенные слова и лишние пробелы, результат записать в файл g;
ж) посчитать число вхождений в файл сочетаний ab;
з) удвоить каждый символ цифры, результат записать в файл g;
и) оставить только первые вхождения каждого символа, результат записать в файл g;
к) проверить, упорядочены ли его элементы по возрастанию, выдать на экран 'Да', если это так, а иначе выдать 'Нет'.
4. Задания 1 – 3 реализовать с помощью типизированных и нетипизированных файлов.
Контрольные вопросы:
1. Что такое типизированный файл? Чем он отличается от текстового файла?
2. Что такое нетипизированный файл? Чем он отличается от типизированного файла?
3. Какие виды позиционирования осуществляются с типизированными и нетипизированными файлами?
4. Что такое текущая позиция в файле, и как нумеруются элементы (записи) в типизированном (нетипизированном) файле?
Дата добавления: 2015-07-15; просмотров: 271 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Практическое занятие №4 | | | Практическое занятие №9 |