Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
TURBO PASCAL.doc
Скачиваний:
41
Добавлен:
09.06.2015
Размер:
948.74 Кб
Скачать

Обработка строк

Задача: С клавиатуры вводится слово. Нужно на весь экран распространить это слово так, чтобы на 2-ой строке первая буква перескочила в конец. И т.д. Пример:

интернет

нтернети

тернетин

........ и т. д. .............

Итак, будем переставлять буквы. Сразу же определимся, где будет храниться введенная строка. Для этого нам подойдет тип String. План действий:

  • Введем переменную типа String с клавиатуры;

  • Будем переставлять буквы соответсвующим образом;

  • Сразу же будем выводить ее на экран;

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

1. Введите строку с клавиатуры. Ну, с этим, думаю, проблем не возникнет.

2. Будем переставлять буквы.

3. Выводить на экран.

Эти две задачи будут выполняться совместно, внутри цикла, который здесь просто необходим. Для начала давайте вспомним, что работать со строкой можно как и с массивом, то есть обращаться к каждому элементу в отдельности (см. пред. выпуски).

Теперь наглядно представим, как будет меняться наша строка по ходу перестановки элементов:

  1. Исходная строка:

и н т е р н е т

  1. 2-й вариант:

н т е р н е т и

  1. 3-й вариант:

т е р н е т и н

  1. 4-й вариант:

е р н е т и н т

  1. 5-й вариант:

р н е т и н т е

  1. 6-й вариант:

н е т и н т е р

  1. 7-й вариант:

е т и н т е р н

  1. 8-й вариант:

т и н т е р н е

  1. 9-й вариант:

и н т е р н е т

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

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

1. Организуем цикл от 1-цы до Lenght(String); (см. пред. выпуски)

  • Добавлем к строке элемент, который соответсвует текущему элементу цикла: S := S + S[i];

  • Дополняем строку пробелами вначало: S := S + ' ';

  • Выводим строку на экран;

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

Задача №4

Титры фильма

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

Перед тем, как начать пистать программу, как всегда давайте определимся, что же нужно для ее реализации. Здесь очевидно, что будет использоваться несколько строк, которые поочередно будут обрабатываться. Содержать эти строки удобно будет в массиве, с элементами которого мы и будем работать. Реализовать такой массив совсем несложно. Можно так:

var

A: Array[1..10] of String;

begin

A[1] := 'Одна из строк массива';

A[2] := 'Очередная строка массива';

............

A[10] := 'Очередная строка массива';

end.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]