Реферат: Задачи по теме "Строковые величины"
A op B,
где А и В — целые числа, а op — знак арифметической операции: +, -, *, /. Написать программу, вычисляющую значение выражения. Обеспечить проверку корректности ввода выражения.
III раздел
1. Функция BIN$. Известно, что в реализации QBasic языка Basic отсутствует функция BIN$ для вывода двоичного представления числа. Напишите такую функцию, не используя при этом операцию деления. Функции в качестве параметра передается целое число в десятичной системе счисления, результат — строка, являющаяся двоичным представлением данного числа.
2. Удаление комментариев. Дан массив строк, представляющий собой текст программы на языке Си. Требуется написать программу удаления комментариев. Комментарий — последовательность символов, заключенная между "/*" и "*/". Комментарий может быть многострочным, т.е. начинаться в одной строке, а заканчиваться в другой.
3. "Поставил begin — поставь и end." (из высказываний студентов). Дан массив строк, представляющий собой фрагмент программы на языке Pascal. Напишите программу, проверяющую правильность вложения операторных скобок begin ... end — каждому begin должен соответствовать end.
4. "Доверяй, но проверяй" (известная русская поговорка). Дано некоторое число 1<К<33. Определить, является ли введенная строка символов изображением числа в К-ичной системе счисления.
Входные данные:
К
строка
Выходные данные:
"является", если строка есть изображение числа в К-ичной системе счисления, и "не является", если не является изображением.
Пример
К = 2
Строка: 10011
Ответ: является
К = 2
Строка: 10210
Ответ: не является
5. Оптимизатор исходного кода. Для увеличения/уменьшения значения целочисленной переменной на1 в языках программирования можно использовать операции сложения/вычитания, а можно операции инкремент/декремент. Известно, что операции инкремент/декремент выполняется гораздо быстрей, чем сложение/вычитание, поэтому их использование часто предпочтительней.
Дан массив строк, представляющий фрагмент текста программы на языке Паскаль. Известно, что данный фрагмент оперирует только с целочисленными переменными. В каждой строке — одна команда. Преобразовать данный текст, заменив каждую строку вида: переменная:=переменная+1; на строку вида: Inc(переменная); а каждую строку вида: переменная:=переменная-1; на строку вида: Dec(переменная);
Пример
Исходный текст:
Begin
ReadLn(a, b);
a := a + 1;
c := b + 1;
b := b — 1;
WriteLn('a = ', a);