ПЕРЕЛІК ДИСЦИПЛІН:
  • Адміністративне право
  • Арбітражний процес
  • Архітектура
  • Астрологія
  • Астрономія
  • Банківська справа
  • Безпека життєдіяльності
  • Біографії
  • Біологія
  • Біологія і хімія
  • Ботаніка та сільське гос-во
  • Бухгалтерський облік і аудит
  • Валютні відносини
  • Ветеринарія
  • Військова кафедра
  • Географія
  • Геодезія
  • Геологія
  • Етика
  • Держава і право
  • Цивільне право і процес
  • Діловодство
  • Гроші та кредит
  • Природничі науки
  • Журналістика
  • Екологія
  • Видавнича справа та поліграфія
  • Інвестиції
  • Іноземна мова
  • Інформатика
  • Інформатика, програмування
  • Юрист по наследству
  • Історичні особистості
  • Історія
  • Історія техніки
  • Кибернетика
  • Комунікації і зв'язок
  • Комп'ютерні науки
  • Косметологія
  • Короткий зміст творів
  • Криміналістика
  • Кримінологія
  • Криптология
  • Кулінарія
  • Культура і мистецтво
  • Культурологія
  • Російська література
  • Література і російська мова
  • Логіка
  • Логістика
  • Маркетинг
  • Математика
  • Медицина, здоров'я
  • Медичні науки
  • Міжнародне публічне право
  • Міжнародне приватне право
  • Міжнародні відносини
  • Менеджмент
  • Металургія
  • Москвоведение
  • Мовознавство
  • Музика
  • Муніципальне право
  • Податки, оподаткування
  •  
    Бесплатные рефераты
     

     

     

     

     

     

         
     
    Задачі за темою "рядкові величини "
         

     

    Інформатика, програмування

    Завдання по темою "рядкові величини"

    Відомо, що мотивація навчання зростає, якщо розглянуті навчальні завдання носять практичний, прикладний характер. Це наштовхує на думку, що при вирішенні задач на програмування за темою "Літери, рядки" доцільно пропонувати ті завдання, які дуже часто зустрічаються в житті користувача комп'ютера і тому не викликають відторгнення їх учнем (зазвичай це трапляється, якщо завдання є штучною, так би мовити, "притягнута за вуха ").

    Наведені тут завдання були складені Волковим К.В. під час проходження педагогічної практики в ЦИТО м. Пермі (ПЛ № 1) та пропонувалися учням на практичних і лабораторних заняттях. Здебільшого вони носять прикладний характер і, з цієї точки зору, позбавлені зазначених вище недоліків.

    Градація завдань проводиться за рівнем складності, і відповідно до нього виділено три розділи: у перше - найбільш прості, у другому - середнього рівня складності і в третьому -- максимального рівня складності.

    I розділ

    1. Байти. Дана рядок символів. Визначити, чи є вона послідовністю байтів. Байт -- дві що йдуть підряд шістнадцяткові цифри. Примітка. Незначущий нулі, якщо вони є, також зазначаються при записі байтів.

    Приклади

    Введіть рядок: FF0976

    Відповідь: є

    Введіть рядок: 567FA

    Відповідь: не є

    2. С/Pascal. Дана рядок символів. Замінити всі входження символу '(' на 'begin', а кожне входження символу ')' - на 'end'.

    3. FTP-Connection. Користувачеві, зареєстрованому на FTP-сервері, для отримання доступу до файлів на ньому потрібно набрати у FTP-браузері команду вигляду: ftp://логін:пароль @ адрес_сервера. Написати програму, яка з введеної рядка виділяє логін, пароль і адресу FTP-сервера і друкує цю інформацію.

    Приклад

    Вхідна рядок: ftp://CoolUser:parol @ ftp.erunda.ru

    Висновок:

    Адреса сервера: ftp.erunda.ru

    Логін: CoolUser

    Пароль: parol

    4. Ваше "машинне" ім'я. Вводиться рядок символів. Потрібно вивести на екран послідовність з ASCII-кодів її символів в десятковій системі числення. Поцікавтеся, як буде виглядати кодування Вашого імені.

    Приклад

    Вхідні дані: ДІМ

    Вивід на екран: 132 142 140

    5. Візуалізація неотображаемих символів. Вводиться рядок символів. Перетворіть її наступним чином: кожен пробіл замініть символом з ASCII-кодом 249, а в кінці рядка надрукуйте з ASCII-кодом 254.

    6. Створення шаблону електронного листа. Якась поштова програма при створенні листа використовує таку технологію. Вона бере ім'я одержувача і поміщає його після вітання. Потім слід місце для тексту повідомлення, після нього - підпис відправника. Імена одержувача і відправника програма бере з їхніх електронних адрес. Напишіть програму, що реалізовує дану дію.

    Вхідні дані:

    електронний адреса одержувача;

    електронний адреса відправника.

    Вихідні дані: шаблон повідомлення.

    Приклад

    Вхідні дані:

    Кому: [email protected]

    Від кого: [email protected]

    Текст повідомлення:

    Вітаю тебе з стаодіннадцатілетіем!

    Бажаю здоров'я і довголіття.

    Вивід на екран:

    Здрастуй, Bilbo!

    Вітаю тебе з стаодіннадцатілетіем!

    Бажаю здоров'я і довголіття.

    З повагою, Gandalf.

    7. "Що в імені тобі моєму ...". Є якась найпростіша багатокористувацька операційна система і список зареєстрованих у неї користувачів. При вході у користувача запитується його ім'я. Якщо цього імені немає у списку, то доступ до системи забороняється і виводиться відповідне повідомлення, інакше -- запрошення до роботи. Напишіть програму, що моделює роботу такої системи.

    8. ANSI C & Borland C. Відповідно до стандарту ANSI С, при завданні шляху до файлу в програмі на мові С, каталоги розділяються символом "/", а в стандарті фірми Borland для поділу каталогів використовується послідовність символів "". Написати програму, яка переводить рядок, що містить шлях до файлу в стандарті ANSI С, в рядок, що містить шлях до файлу в стандарті фірми Borland.

    Приклад

    Шлях в ANSI C> C:/MYDOCS/TEX/DOC1.TEX

    Шлях до Borland C> C: MYDOCSTEXDOC1.TEX

    9. Розстановка довгих тире. Символ - в HTML-документі являє собою довге тире, що при перегляді сторінки виглядає набагато привабливіше звичайного "-". Тому естети Веб-дизайну вважають за краще використовувати саме його. Дан текст, що містить послідовності символів "-". Замінити їх на послідовність символів "-".

    10. DOS-Unix. Дана рядок, що містить шлях до файлу або каталогу, записаний за угодами, прийнятим в ОС MS DOS. Перетворити цього рядка таким чином, щоб вона містила шлях у форматі ОС Unix, тобто замінити кожен символ "" на символ "/".

    Приклад

    Шлях DOS: С: WINDOWSSYSTEM

    Шлях Unix: C:/WINDOWS/SYSTEM

    11. Корисні функції для роботи з символами. Напишіть функцію, що визначає, чи є введений символ (функція повертає число 1, якщо є, і 0 - в іншому випадку)

    а) літерою латиниці або кирилиці;

    б) цифрою від 0 до 9;

    в) рядкової буквою латиниці або кирилиці;

    г) прописаний буквою латиниці або кирилиці;

    д) шістнадцятковій цифрою;

    е) пробілом, то є символом з кодом з діапазону 0 .. 32.

    12. Корисні функції для роботи з рядками символів

    1) Напишіть функцію, що здійснює переклад рядка, що складається з символів латиниці та/або кирилиці, в нижній регістр. Функція повинна повертати рядок, де букви записані в нижньому регістрі.

    2) Напишіть функцію, що здійснює переклад рядка, що складається з символів латиниці та/або кирилиці, у верхній регістр. Функція повинна повертати рядок, де букви записані у верхньому регістрі.

    II розділ

    1. Шифрація. Один з методів шифрування називається накладенням гами. Робиться це в такий чином: береться деякий випадкове число в діапазоні від 127 до 255 - гамма, і код кожного символу рядка замінюється кодом, що виходять в результаті операції: новий код = старий код XOR гама. Написати програму, що реалізовує а) даний метод шифрування; б) дешифрування рядки при заданій гамі.

    Вхідні дані: шіфруемая рядок.

    Вихідні дані:

    гама

    зашифрована рядок.

    2. Кодувальник. Написати програму, перекодує рядок в кодуванні KOI в рядок в кодуванні Windows-1251 і назад.

    3. Тег курсиву. Дан текст, в якому зустрічаються структури "" і "". Замінити кожне входження "" на "<курсив>", а кожне входження "" на "<кінець курсив>". Зауваження. У програмі слід врахувати, що буква "i" може бути як малої, так і великої.

    4. Форматування тексту. Дан текст, що складається з пропозицій, що розділяються крапками. Напишіть програму, яка виробляє наступне форматування: після кожної точки наприкінці пропозиції повинен стояти хоча б один пробіл; перше слово в реченні повинно починатися з великої літери. Зауваження. Текст може бути як на російською, так і англійською мовою.

    5. Статистика. Дан текст. Напишіть програму, що визначає процентне відношення рядкових і великих літер до загального числа символів в ньому.

    6. Статистика-2. Дан текст. Визначте, яких букв (малих або великих) у ньому більше, і перетворення в такий спосіб: якщо більше великих літер, ніж рядкових, то всі літери перетворюються в прописні; якщо більше малих, то всі літери перетворюються на малі; якщо порівну і тих і інших - текст залишається без зміни.

    7. Частота появи літер в словах. Дан текст, що містить слова на латиниці, розділені пробілами. Визначити, які букви в словах збігаються частіше: перша, останні або середні. Позиція середньої букви в слові визначається за формулою:

    поз_средн_букви = Дліна_слова div 2 + 1,

    де div -- операція цілочисельного поділу.

    8. Зайві пробіли. Дана рядок, що складається із слів, розділених пробілами. Напишіть програму, що видаляє зайві пробіли. Пробіл вважається зайвим, якщо він

    стоїть на початку рядка;

    стоїть в кінці рядка;

    слід за пропуском.

    9. Три кити -- 2, 8, 16 ...

    a) Вводиться рядок символів. Якщо вона є зображенням цілого числа в вісімковій системі числення, то перевести її в ціле число в десятковій системі числення, інакше видати повідомлення про некоректний введенні.

    б) Вводиться рядок символів. Якщо вона є зображенням цілого числа в шістнадцятковій системі числення, то перевести її в ціле число в десяткового системі числення, інакше видати повідомлення про некоректний введенні.

    в) Вводиться рядок символів. Якщо вона є зображенням цілого числа у двійковій системі числення, то перевести її в ціле число в десятковій системі числення, інакше видати повідомлення про некоректний введенні.

    г) Вводиться рядок символів. Якщо вона є зображенням цілого числа у двійковій системі числення, то вивести його шістнадцяткове і вісімкове подання, інакше видати повідомлення про некоректний введенні. Примітка. Використовувати проміжний переклад в десяткову систему числення не дозволено.

    10. Форматний висновок числа. З клавіатури вводиться ціле число в десятковій системі числення. Написати програму, що реалізовує вивід його подання з поділом на тріади цифр.

    Приклад

    Число: 100000

    Форматований висновок: 100 000

    Число: 1000000

    Форматований висновок: 1 000 000

    11. Обчислення арифметичного виразу. Арифметичне вираз вводиться у вигляді рядка виду

    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);

    WriteLn ( 'b =', b)

    End.

    перетворений текст:

    Begin

    ReadLn (a, b);

    Inc (a);

    c: = b + 1;

    Dec (b);

    WriteLn ( 'a =', a);

    WriteLn ( 'b =', b)

    End.

    6. Відмінки. Вводиться рядок символів, що є прізвище українською мовою. Написати програму, що схиляє це прізвище по відмінках.

    7. Дизассемблер. Якась ЕОМ має 8 регістрів (R0-R7) і вміє виконувати три операції - зупинка, додавання і пересилання з регістра в регістр.

    Команда зупину: 00 00 00.

    Формат команд складання та пересилання: КОП Реги, РегН

    КОП: код операції - 1 для пересилання і 2 для складання

    Реги -- регістр-джерело - з нього дані витягуються при виконанні операції;

    РегН -- регістр-призначення - у нього записується результат виконання операції.

    Машинна команда записується в вісімкове вигляді, де:

    перші дві цифри -- КОП;

    3-4 цифри - Реги (0-7)

    5-6 цифри - РегН (0-7)

    Дан масив, містить команди на машинному мовою в вісімкове коді. У кожному рядку масиву - одна команда. Написати програму-дизассемблер, яка для кожної команди, введеної в машинному коді, виводить її зображення мнемокоде в. Для команди зупину використовувати мнемоніки HALT; для пересилання - Мнемонік MOV, а для команди складання - ADD. Дізассемблірованіе продовжується до першого зустрінутої команди зупину. Якщо введена некоректна машинна команда, то повинен видаватися відповідне повідомлення про помилку.

    Список літератури

    Для підготовки даної роботи були використані матеріали з сайту http://www.comp-science.narod.ru/

         
     
         
    Реферат Банк
     
    Рефераты
     
    Бесплатные рефераты
     

     

     

     

     

     

     

     
     
     
      Все права защищены. Reff.net.ua - українські реферати ! DMCA.com Protection Status