Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

При вычислении знакопеременного ряда.

Поиск

Просьба обратить внимание на формирование

каждого члена ряда и знака этого члена.}

var x,s,p:real;

i,n:integer;

ch:char;

Begin

writeln('Работа второй программы');

Repeat

writeln('Ведите количество членов ряда');

readln(n);

writeln('Введите значение x');

readln(x);

s:=0;

p:=1;

for i:=1 to n do

Begin

p:=-p*x/i;

s:=s+p;

end;

writeln('Результат вычисления ряда S=',s:10:5);

writeln('Будете еще вычислять ряд?');

readln(ch);

until ch='n';

End.


Работа с символами, строками и текстом.

 

Работа с текстовыми данными предполагает использование типов данных CHAR или STRING соответствующей длины. Для обработки данных этого типа в языках предлагается, кроме обычных операций, набор функций и процедур существенно сокращающих записи операций типа поиска символа в строке- POS(s1,s), вставки символа Insert(s1,s,n), удаление символа Delete(s,n,m), копирование символа строки Copy(s,n,m), определение длины строки Length(s), слияние строк- конктенация Concat(s1,s2,...,sn).

1.2.1. Вводится некоторое количество строк. В каждой строке - последовательность слов, разделенных хотя бы одним пробелом. Расположить в каждой строке слова по возрастанию их длины.

1.2.2. Дана строка, длиной не более 80 символов. Подсчитать количество повторений каждой встречающейся в строке буквы. Напечатать результат обработки в форме:

< буква > < количество повторений > < исходная строка>

1.2.3. Дана строка символов А. Удалить из строки все повторяющиеся символы, вывести исходную строку и результат обработки.

1.2.4. Дана строка из N букв. Разбить строку по m букв. Вывести исходную строку и результат обработки строки.

1.2.5. Дана строка из N букв. Разбить строку на K слов, в каждом из которых не более m букв. Вывести исходную строку и результат обработки строки.

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

1.2.7. Дана последовательность слов в виде некоторого текста. К каждому слогу в словах текста добавить по новому слогу -”NO”. Слова в исходном тексте разделяются, по крайней мере, хотя бы одним пробелом. Вывести исходный текст и результат обработки текста.

1.2.8. Дан текст из некоторого количества предложений. Предложения разделяются знаком “;”. Разделить текст на отдельные предложения по этому знаку. Вывести исходный текст и результат обработки текста.

1.2.9. Дана строка из неизвестного заранее количества букв. Упорядочить все символы в строке по алфавиту. Вывести исходную строку и результат обработки строки.

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

1.2.11. Вводится произвольное количество строк. Определить сколько раз в каждой строке повторяются одинаковые буквы. Вывести исходные строки и результат обработки строк.

1.2.12. Вводится произвольный текст из неизвестного количества строк. Разделить текст на строки и упорядочить по 1-ой букве строки. Конец каждой строки может быть любым из символов “.,;”. Вывести исходный текст и результат обработки.

1.2.13. “Это я знаю и помню прекрасно пи многие знаки мне лишни напрасны”. Ввести фразу и напечатать полученное значение числа p. Проверить работоспособность программы на любом произвольном тексте. Вывести исходный текст и результат вычислений.

1.2.14. Дан текст из слов, разделенных пробелами. Выделить из текста слова, состоящие их 4, 5, 6 букв. Напечатать исходный текст и результат его обработки.

1.2.15. Дана строка из неизвестного количества символов. Исключить из последовательности K-ый элемент, сжать строку. Вставить за M-ым элементом новый элемент. Количество удалений и вставок - любое. Вывести исходную строку и все результаты преобразований.

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

1.2.17. Дан текст из K символов. Преобразовать текст, заменив все не одиночные пробелы одним пробелом, все точки - точкой с запятой, все многоточия - одной точкой. Вывести исходный текст и результат обработки текста.

1.2.18. Вводится последовательность строк. Определить для каждой строки количество слов разной длины. Например,

в i -ой строке 5 слов длины 4 буквы

3 слова длины 8 букв и т. д.

Вывести на экран исходный текст и результат его обработки.

1.2.19. Вводится некоторая произвольная фраза на английском языке. Выделить из фразы две последовательности: гласных и согласных букв. Вывести исходный текст и результат его обработки.

1.2.20. Вводится текст, разбитый на две строки знаком “;”. Удалить из этой пары строк все повторяющиеся символы, общие для этой пары строк.. Вывести на экран исходный текст и результат его преобразования.

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

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

1.2.23. Вводится произвольный текст, разбитый на строки знаком”; “. Слова в строке разделены, по крайней мере, одним пробелом. Выделить в каждой строке слова в которых: а) первые буквы слов совпадают; б) длина слова - наибольшая в строке. Вывести исходный текст и результат его обработки.

1.2.24. Каждая строка текста содержит цифры десятичной системы счисления и символы - знаки “+” или “- “. Строка заканчивается знаком “=“, пробелы в строке должны игнорироваться. Получить арифметическое значение вводимого выражения. Пример: 9+5-3=11.Вывести исходный текст и результат его обработки.

1.2.25. Вводится некоторая последовательность строк. В каждой строке слова переставить в обратном порядке. Пример: fdc, ads, 2.5cx, hjkl. преобразуется в hjkl, 2.5cx, ads,fdc. Вывести исходный текст и результат его обработки.

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

1.2.27. Дана строка из английских слов. Выделить из строки подстроки из согласных букв, у которых и справа и слева стоят гласные буквы. Вывести исходную строку и результат ее обработки.

1.2.28. Дана строка длиной не более 80 символов. Строка представляет из себя запись некоторой математической формулы. Проверить правильность записи формулы по открывающим “(” и закрывающим скобкам “)”.

1.2.29. Дана строка из некоторого количества слов. Слова разделены в строке знаками “, ”, “ пробел”. Вставить произвольное новое слово в строку за i -ым словом. Вывести исходную строку и результат ее преобразования.

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

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


ПРИМЕР 1.2.1

program Number_2;

{Дана строка, в которой слова

Разделены произвольным количеством пробелов.

Удалить все лишние пробелы, кроме одного.

Вывести исходную строку и результат обработки.}

var s:string[80];

i,k:integer;

ch:char;

b:boolean;

Begin

writeln('Работает программа- пример на использование строк');

Repeat

writeln('Введите исходную строку');

readln(s);

writeln('Исходная строка = ',s);

k:=length(s);{Определяем длину введенной строки}

i:=1;

while (i<=k-1) do

Begin

if s[i]=' ' then

Begin

Repeat

if s[i+1]=' ' then

Begin

delete(s,i,1);

k:=k-1;

b:=false;

End

else b:=true;

until b;

end;

i:=i+1;

end;

writeln('Результат преобразования = ',s);

writeln('Будете еще преобразовывать строки? ');

readln(ch);

until ch='n';

End.

 


Разработка структурированных программ с использованием процедур и функций.

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

 

1.3.1. Дана последовательность из букв латинского алфавита размерности N. Упорядочить последовательность по алфавиту с помощью процедуры. Вывести исходную и упорядоченную последовательности букв.

1.3.2. Ввести произвольную последовательность чисел. Упорядочить с помощью процедуры последовательность в порядке возрастания. Вывести результат упорядочивания и номера чисел в исходной последовательности.

1.3.3. Ввести последовательность слов, в каждом из которых от 2 до 6 латинских букв. Слова разделены запятыми. Последнее слово заканчивается точкой. Написать процедуру, определяющую одинаковых “соседей” (слова справа и слева — совпадают). Напечатать всех “соседей” и исходную последовательность слов.

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

1.3.5. Ввести неупорядоченную последовательность из 20 элементов. Написать процедуры упорядочивания последовательности и вставки К новых элементов на правильное место в упорядоченную последовательность. Вывести результаты всех обработок последовательности.

1.3.6. Ввести последовательность из N целых чисел. Упорядочить по возрастанию четные (по значению, а не по номеру) элементы последовательности. Нечетные элементы должны остаться на своих местах. Упорядочивание описывается процедурой.

1.3.7. Ввести последовательность из N целых чисел. Выбрать из последовательности нулевые значения и составить последовательность из их номеров. Выбор элементов последовательности описывается процедурой. Вывести исходную последовательность и результат обработки последовательности.

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

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

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

1.3.11. Дана матрица действительных чисел размерности M*N. С помощью процедуры обеспечить получение сумм элементов матрицы по столбцам, строкам и диагоналям, параллельным главной диагонали. Вывести исходную матрицу и результаты вычислений в соответствующих строках и столбцах.

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

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

1.3.14. Задана двухмерная таблица. Процедура вычисляет количество нулей в каждой строке таблицы. Вывести результат вычислений вместе с номером той строки, для которой выводится найденное количество нулей.

1.3.15. Определить с помощью функции симметричность матрицы размерности M*M относительно главной диагонали. Вывести исходную матрицу и сообщение о проверке.

1.3.16. Задана таблица из нулей и единиц размерности N*N. С помощью функции определить количество единиц в каждой строке и в каждом столбце матрицы. Результаты обработки вывести вместе с номерами соответствующих строк и столбцов таблицы.

1.3.17. Задана таблица размерности N*N. С помощью процедуры выполнить перестановку K-ого столбца таблицы на место L-ого столбца, а также перестановку K -ой и L-ой строк в соответствии с запросом на обработку таблицы. Вывести исходную таблицу и результат ее преобразования.

1.3.18. В заданной таблице размерности N*N с помощью функции обеспечить поиск строки или столбца с минимальным числом нулевых элементов. Вывести исходную таблицу и результат ее обработки с указанием номеров искомых столбца или строки.

1.3.19. Дана матрица действительных чисел размерности M*N. С помощью процедуры перестановки строк матрицы обеспечить преобразование матрицы:



Поделиться:


Последнее изменение этой страницы: 2016-07-16; просмотров: 344; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 13.59.36.36 (0.007 с.)