Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

П1.3. Разное




Разное

Работа со строками

1. В последовательности символов заменить каждое вхождение слова "рот" на слово "нос".

2. Дана строка символов. Сформировать из нее строку, содержащую только символы, входящие в другую заданную строку.

3. Дана строка символов. Подсчитать количество входящих в нее символов: ",", ";", ":", пробел, а также количество оставшихся символов.

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

5. Дана строка знаков и 2 произвольных символа. Произвести замену каждого вхождения первого символа на второй.

6. Дана строка знаков. Определить число различных символов в ней.

7. Дана строка знаков. Определить, можно ли из входящих в нее символов (без повторений!) составить слово "Привет".

8. Даны 2 строки символов, причем длина первой из них больше длины второй. Определить, содержится ли вторая строка внутри первой как неразрывное целое.

9. Выполнить выравнивание строки, т.е. 1-й символ должен быть прижат к левому краю экрана, последний – к правому, пробелы между словами добавляются равномерно. Полагаем, что длина строки не больше ширины экрана. 8. Дана строка символов, представляющая собой арифметическое выражение. Определить правильность (число закрывающих должно быть равно числу открывающих) расстановки круглых скобок.

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

11. Имеется последовательность символов. Группы символов, разделенных пробелом(ами), будем считать словами. Выполнить следующие действия:

- подсчитать количество слов;

- подсчитать количество букв "а" в последнем слове;

- количество слов, начинающихся с буквы "б";

- найти количество слов, у которых первый и последний символы совпадают;

- заменить каждое вхождение слова "это" на слово "то";

- найти длину самого короткого слова.

12. Дано натуральное число n(n<1000). Сформировать строку символов, содержащую его значение на русском языке. Например, для n=769 будет "семьсот шестьдесят девять".

1. Дан массив: {xi}, i = 1...25, состоящий из натуральных чисел. Преобразовать массив так, чтобы у каждого исходного числа поменялись местами первая и последняя цифры.

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

3. Дан массив: {xi}, i = 1...25. Найти максимальную длину "пилообразной (зубьями вверх)" подпоследовательности идущих подряд чисел, т.е. ее элементы должны удовлетворять условию:

xk<xk+1>xk+2<xk+3>…

4. Чтобы открыть секретный сейф, агент №007 должен в возрастающем порядке набирать все трехзначные числа, у которых нет одинаковых цифр. Составить программу, которая бы печатала на экране его карманного компьютера такие числа, а также определить, сколько времени понадобится, чтобы открыть сейф, если на набор одного числа он тратит t секунд.

5. Результаты футбольного чемпионата задана в виде целой матрицы размером NxN, диагональные элементы которой равны 0, остальные равны: 3 – победа, 1 – ничья, 0 – поражение. Определить победителя. В случае равенства очков преимущество получает команда, имеющая большее число побед. Если и по этому показателю не выявлен победитель, выдать сообщение о переигровке.

6. Даны 2 четырехзначных натуральных числа. Определить число совпадений цифр по месту и по значению. Совпадение по месту означает, что в одинаковой позиции каждого числа находятся одинаковые цифры, совпадение по значению означает, что одинаковые цифры в числах находятся на различных позициях.

7. Дана дата в виде: № дня в месяце, № месяца, год. Проверить ее корректность.

8. Дан порядковый № дня в году и значение года. Определить дату в виде: № дня в месяце, № месяца, год.

9. Дана дата в виде, описанном в предыдущей задаче. Найти порядковый № дня в году.

10. Определить, какой день недели будет 1 сентября текущего года.

11. Определить по заданной дате № дня недели. В расчете исходить из гипотезы, что1/1/1 был понедельник.

12. Найти разницу в днях между 2 заданными датами.

13. Даны координаты 50 точек на плоскости. Определить № той из них, для которой круг радиуса R содержит максимальное количество точек множества.

14. Даны результаты n(n>4) бегунов на 100м, измеренные в сотых долях секунды. Отобрать 4-х лучших для участия в эстафете 4х100м.

15. На плоскости координатами своих вершин задан выпуклый n -угольник. Вершины упорядочены в порядке обхода по часовой стрелке. Найти площадь n -угольника. Площадь треугольника равна Ö p(p-a)(p-b)(p-c); p = (a+b+c)/2, где a, b, c – стороны треугольника.

16. Дана матрица {aij}, i =1...n, j = 1...n. Сформировать матрицу {bij}, i = 1...n, j = 1...n, где bij есть минимальный элемент в треугольнике, образованном главной диагональю, строкой и столбцом, содержащими элемент aij.

17. Дан массив: {xi}, i = 1...n. Определить количество "внутренних" точек массива. Элемент массива называют "внутренней" точкой, если соседние элементы имеют совпадающие с ним знаки.

18. Определить сумму всех чисел Фибоначчи, не превышающих 1000. Числа Фибоначчи определяются по формуле: a0 = a1 = 1; an = an-1 + an-2. Вспомогательный массив не использовать.

19. Дана матрица {aij}, i =1...n, j = 1...n. Каждую строку матрицы циклически сдвинуть вправо на число позиций, равное № строки.

ПРИЛОЖЕНИЯ

Приложение 1. Среда разработки Borland C++ 3.1

 
 

Основное окно интерфейса с пользователем имеет вид:

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

П1.1. Меню File (Файл)

Тексты программных (исходных) модулей сохраняются в файлах с расширением .c (язык C) или .cpp (язык C++).

New (Создать) – создает пустой файл с именем Noname.c (cpp) и открывает его в окне редактирования. Задать осмысленное имя исходному модулю можно при его сохранении. Расширение по умолчанию задается в пункте OptionsàEnvironmentàEditoràDefault Extension.

Open (Открыть) – открывает ранее созданный файл в окне редактирования. Имеется "горячая" клавиша F3. При выполнении открывается окно " Open a File ".

В поле Name (Имя) указывается полный путь к открываемому файлу. Текст " *.c " означает: показывать в окне все файлы с расширением .c, расположенные в папке, путь к которой был установлен в одном из предыдущих сеансов работы с помощью команды Change dir (Сменить директорию (папку)). Символ ¯ подсказывает, что при нажатии соответствующей клавиши будет открыто окно, содержащее пути к файлам, использовавшиеся при предыдущих запусках. Выбор пути выполняется клавишами ¯ и ­. Подстановка в поле выполняется клавишей Enter, отказ – клавишей Esc.

Следующее поле Files содержит список всех папок и файлов с заданным расширением, расположенных в папке по заданному пути. Для выбора используются те же клавиши. Клавиша Enter вызывает загрузку выбранного файла в окно редактирования или "проваливание" внутрь выбранной папки. Если объектов в поле много могут появиться аналоги полос прокрутки, которые управляются клавишами – "стрелками". Пункт "..\" позволяет подняться на 1 уровень вверх.

В правой части окна расположены аналоги кнопок, которые "нажимаются" клавишей Enter.

Open – загружает выбранный файл в окно редактирования.

Replace (Заменить) – заменяет текущий файл окна редактирования на выбранный.

Cancel (Отказаться) – закрывает окно без выбора файла.

Help (Помощь) – вызывает контекстную подсказку.

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

Переход между полями и кнопками выполняется: вперед – клавиша Tab, назад – клавиши Shift+Tab.

Все действия в окне можно также выполнять с помощью мыши.

Save (Сохранить) – сохраняет текст исходного файла активного окна редактирования без выхода из оболочки в той папке, откуда он был загружен. Имеется "горячая" клавиша F2.

Замечание. Оболочка Borland C++ 3.1 позволяет открывать произвольное число окон редактирования, в каждое из которых загружается текст .c (.cpp) или .h файла. Одно из окон является активным.

Save as (Сохранить как) – сохраняет текст исходного файла в выбранной папке с возможным изменением имени и расширения. При выборе этого пункта открывается окно, похожее на окно открытия файла. Работа в окне управляется теми же клавишами (см.выше).

Save all (Сохранить все) – команда работает аналогично команде Save, однако сохраняет изменения в текстах всех файлов в окнах редактирования, в которые были внесены изменения.

Change dir (Сменить директорию (папку)) – команда позволяет изменить текущую директорию (папку). Текущей называют папку, в которой оболочка сохраняет файлы из окон редактирования и с которой начинает просмотр файлов при открытии. Окно команды приведено рядом.

В поле Directory Name показывается полный путь к текущей директории.

Пример.

D:\KAG\LEARNING\BORLAN~2

Этот путь может быть набран на клавиатуре вручную или выбирается из поля Directory Tree. Выбор в этом поле осуществляется указанием нужной папки, нажатием кнопки Chdir (клавиша Enter) или щелчком по ней и затем нажатием кнопки OK.

Кнопка Revert отменяет последний выбор.

Quit (Выход) – закрывает окна среды пользователя и, возможно, в зависимости от настройки, сохраняет сделанные изменения. "Горячие" клавиши – Alt+X.

Пункты Print и DOS shell не рассматриваем.

П1.2. Меню Options (Установки среды)

Пункты этого меню позволяют настроить среду на текущие условия работы. Будут рассмотрены только режимы (опции), минимально необходимые для работы. Большинство режимов установлены по умолчанию, поэтому надо просмотреть установки и изменить только нужные. Ниже будут приведены рекомендуемые опции. Если какие-либо пункты меню не упоминаются, то их следует изучить самостоятельно по мере приобретения опыта работы. В опциях указываются только рекомендуемые значения из некоторого списка и "флажки", которые надо установить.

Меню Compiler (Транслятор) – устанавливает опции транслятора.

Code generation (Генерация кода):

- Model (Модель памяти)à Large (Большая);

- Options à Treat enums as ints (Трактовать тип enum как целые);

à Unsigned characters (Тип char без знака);

- Assume SS equals DS à Default of memory model (В соответствии с моделью памяти).

Advanced code generation (Расширенная генерация кода):

- Floating point (Операции с плавающей точкой)à Emulation (Эмуляция);

- Instruction set (Система команд)à8088/8086;

- Options à Generate underbars (Генерировать подчеркивания);

à Debug info in OBJs (Включать отладочную информацию в объ-

ектный код);

à Fast floating point (Оптимизация операций с плавающей точкой);

à Automatic far data (Для данных класса automatic использовать

far указатели).

Entry/exit code (Код входа-выхода):

- Prolog/epilog code generation (Генерация кода пролога/эпилога)à DOS

Standard;

- Calling convention (Соглашения по вызову процедур)à C;

- Stack options (Режим обработки стека)à Standard stack frame (Стандарт-

ный) и Test stack overflow (Контроль переполнения стека).

C++ options:

- Use C++ compiler (Использование С++ компилятора)à CPP extension (Для

файлов с расширением .cpp);

- остальные не трогать.

Optimizations (Оптимизация кода):

- Optimizations à Standard stack frame; остальные "флажки" сбросить;

- Register variables (Регистровые переменные)à Automatic;

- Common subexpressions (Общие подвыражения)à No optimization;

- Optimize for (Оптимизация по)à Size (по размеру кода).

Source (Исходный код):

- Keywords (Ключевые слова)à Borland C++;

- Source options à Nested comments (Вложенные комментарии);

- Identifier length (Длина идентификатора)à32.

Messages (Диагностические сообщения)à Display (Показ):

- Display warnings (Показ предупреждений)à Selected (Выбранные);

- Errors: Stop after 25 (Останавливать показ ошибок после обнаружения 25);

- Warnings: Stop after 100 (Останавливать показ предупреждений после обнаружения 100).

Make (Компоновка или редактирование связей):

- Break make on (Не продолжать при обнаружении)à Errors (Ошибок);

- After compiling (После компиляции)à Run linker (Запускать компоновщик);

- Check auto-dependencies (Проверять автозависимости)àУстановить "Флажок".

Linker (Компоновщик) – устанавливает его режимы.

Settings (Установки):

- Map file (Файл карты памяти)à Off (Не создавать);

- Output (Выход)à Standard DOS EXE;

- Options à Default libraries (Библиотеки по умолчанию);

à Warn duplicate symbols (Предупреждать о дубликатных символах);

à "No stack" warning (Предупреждать о переполнении стека);

à Case-sensitive link (Различать регистр символов при компоновке).

Libraries (Библиотеки):

- Libraries à Graphics library (Библиотеки графики);

- ObjectWindows Library à None (Не включать);

- Container class library à None;

- Standard run-time libraries (Стандартные библиотеки времени выполнения)

à Static (Статические).

 

Debugger (Отладчик) – устанавливает режимы встроенного символического

отладчика:

- Source debugging à On (Включать информацию для отладки);

- Display swapping à Smart (Автоматическое переход из окон отладки в окно редактирования и обратно);

- Режим показаà Show both (Показывать десятичные и шестнадцатиричные значения);

- Program heap size 64 K bytes (Размер программной "кучи" 64 кбайта).

Directories (Директории или папки) – задает папки для хранения файловой информации:

- Include directories (Папки, где должны располагаться .h файлы)à

c:\bc\include; c:\bc\include\sys;

- Library directories (Папка, где располагаются стандартные библиотеки)à

c:\bc\lib;

- Output directories (Папка, куда помещаются .obj, .exe и .map файлы)à

u:\< фамилия >\< задача >.

Environment (Окружение, интерфейс).

Preferences (Предпочтения):

- Screen lines (Число строк экрана)à25 lines;

- Source tracking (Отслеживание при отладке)à Current window (Текущее окно);

- Command set (Система команд)à Native (Встроенная);

- Auto save (Автосохранение)àвсе сохранять.

Editor (Редактор):

- Options à Create backup files (Сохранять предыдущие версии исходных файлов с расширением .bak);

à Insert mode (Режим вставки);

à Autoindent mode (Режим автоотступа);

à Use tab character (Вставлять при отступе символ Tab);

à Syntax highlighting (Синтаксические выделения (цветом));

à Backspace unindents (Клавиша Backspace выставляет текущую

строку на предыдущий уровень отступа);

à Persistent blocks;

- Tab size (Размер табуляции)à4;

- Default extension (Расширение по умолчанию)à C.

Mouse (Мышь):

- Right mouse button (Правая кнопка мыши)à Topic search (Поиск контекстной подсказки);

- остальные не трогать.

Desktop (Рабочий стол) – устанавливает информацию, сохраняемую между сеансами работыàустановить все опции, кроме второй.

Colors (Цвета) – позволяет раскрасить в различные цвета отдельные элементы интерфейса. Разобраться самостоятельно.

 

Save (Сохранить) – позволяет сохранить отдельные группы элементов среды, отличающиеся от сохраняемых по умолчанию.

1. Команды редактора описаны в пункте головного меню Help. Добраться до них по ссылкам можно в следующем порядке: Help à Contents à Editor Commands àгруппы команд. Переход к следующей ссылке выполняется двойным щелчком по ней или нажатием клавиши Enter, возврат к предыдущей – щелчком по пункту Previous Topic в строке статуса. Изучить самостоятельно.

2. Запуск на компиляцию – "горячие" клавиши Alt+F9. В случае нарушений правил языка сообщения об ошибках и предупреждения появляются в окне Message.

3. Запуск на компоновку – клавиша F9.

4. Запуск на выполнение – клавиши Ctrl+F9. Если при компиляции ошибок не обнаружено, происходит автоматический переход к компоновке. Если и там нет ошибок, выполняется программа. Результаты работы программы отражаются в специальном окне, называемом User screen (Экран пользователя). После завершения исполняемого файла окно закрывается, происходит возврат в окно редактирования. Чтобы посмотреть результаты работы программы, необходимо нажать клавиши Alt+F5. Повторное их нажатие возвращает в окно редактирования.

5. Контекстная справка – клавиша F1.

6. Справка по языку программирования: установить курсор на ключевое слово или функцию и нажать клавиши Ctrl+F1.




Поделиться с друзьями:


Дата добавления: 2014-12-27; Просмотров: 492; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.