Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛР(информатика) / Бейсик (курс 'Информатика') №6.doc
Скачиваний:
13
Добавлен:
14.03.2016
Размер:
523.78 Кб
Скачать

Input "введите число X"; X

IF x > 99 THEN PRINT "если число X слишком велико – выход": END

x$ = LTRIM$(STR$(x)) 'число X превращается в сроку X$ с удалением пробелов

IF x < 10 THEN P$= s1$(x): PRINT P$: END 'формирование строки если X < 9

IF x < 20 THEN P$= s2$(x): PRINT P$: END 'формирование строки если X от 10 до 19

'если число от 20

n1 = VAL(MID$(x$, 1, 1)) 'формируются десятки X

n2 = VAL(MID$(x$, 2, 1)) 'формируются единицы X

P$= s3$(n1) + " " + s1$(n2) 'формируется итоговая строка

PRINT P$

Задачи для самостоятельного решения.

1). В символьной строке X (придумайте ее сами) удалить лишние (начальные, конечные и сдвоенные) пробелы.

2). В X подсчитать число вхождений слова ‘его’.

3). В X поменять порядок символов внутри каждого слова на обратный.

4). В X напечатать самое длинное слово.

5). В X подсчитать число вхождений произвольного символа.

6). В X подсчитать число вхождений всех встречающихся знаков.

7). В X в каждом слове поменять порядок символов на обратный.

8). В X расположить слова в порядке увеличения их длины.

9). Имеется строка X длиной ≤N, предназначенная для вывода. Выровнять при печати X к правой границе так, чтобы строка занимала все N позиций. Вырав­нива­ние производить за счет равномерного увеличения числа пробелов между словами.

10). Зашифровать строку X, заменив каждый символ, на символ, следующий за данным по алфавиту (буква А заменяется на Б и т.д., буква Я заменяется на А). Расшифровать полученный текст.

11). В строке X имеются открывающиеся и закрывающиеся скобки (включая вложенные). Выяснить, правильно ли они расставлены. Если есть ошибки – сообщить об этом конкретно, включая номер позиции, где она обнаружена.

12). Строка X содержит любые русские и латинские символы (как заглав­ные, так и строчные), цифры и знаки препинания. Преобразовать все символы X в строчные. Результат занести в Y.

13). Пусть имеется таблица работников бригады со столбцами: Имя, Отрабо­тано дней, Зарплата. Отсортировать любым методом таблицу по алфавиту. Для упрощения будем считать, что имена не превышают 8-ми символов, содержат только заглавные буквы и не имеют буквы Ё (эта буква в кодовой таблице русских символов находится не на месте).

14). Отсортировать таблицу по алфавиту, где для имен допускаются любые буквы русского алфавита, включая Ё и ё. Сложность здесь заключается как раз в этих буквах. Их коды 240 и 241, т.е. самые большие среди русских букв, в виду чего сравнивать слова придется не целиком, а побуквенно. В случае, если встретилась буква Ё и ё, в программе они должны считаться большими букв Е/е и меньшими Ж/ж.

15). Написать программу, которая из заданной даты (в диапазоне 1900..2100) формирует следующую. Исходная дата задается в форме текстовой строки вида ‘дд.мм.гггг’, например ’06.04.2002’. Подсказка: признаком високосного года является кратность года числу 4. Исключением являются года с двумя нулями на конце, число сотен в которых не кратно 4 (например, 1800, 1900, 2100).

16). Написать программу, которая от заданной даты (диапазон 19002100) находит новую, отстоящую от данной на М месяцев. Если в новом месяце такой даты нет, берется последний день нового месяца. Так, если вследствие вычислений получилась, например, дата 31 сентября, в качестве результата нужно взять 30 сентября.

17). Написать программу, которая от заданной даты (19002100), находит но­вую, отстоящую от данной на X дней.

18). Преобразовать число X, отображенное цифрами, в число “прописью”, что необходимо для финансовых документов:

а). X имеет три разряда в диапазоне 0999.

б). X имеет шесть разрядов в диапазоне 0999 999.

в). X имеет девять разрядов в диапазоне 0999 999 999.

Результатом преобразования, например числа 23 245 012, должно быть выражение “двадцать три млн. двести сорок пять тыс. двенадцать руб.” Основой для решения этих задач является задача 7.1, разобранная выше. Понадобится еще массив для сотен числительных “сто”  “девятьсот”, и массив для разряда единиц тысяч, поскольку “одна” тысяча, но “один” рубль. При формировании строки следует разбить исходное число на триады (т.е. по три разряда), для которых техника преобразования практически аналогична.