Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Сборник задач Бабалова.doc
Скачиваний:
95
Добавлен:
04.06.2015
Размер:
1.16 Mб
Скачать

Пример 1.1.1

Идет N-ая секунда суток. Определить полное количество часов и минут в заданный момент времени, считая от начала суток.

program Number_1_1;

Var hour,minute,n:longint;

{Количество секунд в полных сутках равно 86 400, что требует

рассмотрения решения задачи только с длинными целыми}

ch:char;

begin

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

repeat

writeln('Ведите значение секунд');

readln(n);

hour:=n div 3600;

minute:= n div 60 -hour*60;

writeln('Получено часов= ',hour,' минут= ',minute);

writeln('Еще хотите проверить время?- y or n');

readln(ch);

until ch='n';

end.

Вычисление рядов.

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

1.1.31.

1.1.32.

1.1.33.

1.1.34.

1.1.35.

1.1.36.

1.1.37.

1.1.38.

1.1.39.

1.1.40.

1.1.41.

1.1.42.

1.1.43.

1.1.44.

1.1.45.

1.1.46.

1.1.47.

1.1.48.

1.1.49.

1.1.50.

Пример 1.1.2.

Дан ряд . Найти сумму ряда для любого заданного количества членов ряда n и значенияX.

program Number_1_2;

{Этот пример показывает простейшую алгоритмизацию

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

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

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

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.

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

Работа с текстовыми данными предполагает использование типов данных 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. Дана строка, длиной не более 80 символов. Подсчитать количество повторений каждой встречающейся в строке буквы. Напечатать результат обработки в форме:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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