Logo GenDocs.ru

Поиск по сайту:  


Загрузка...

Лабораторная работа №2 (на укр.яз) - файл 1.doc


Лабораторная работа №2 (на укр.яз)
скачать (167.5 kb.)

Доступные файлы (1):

1.doc168kb.03.12.2011 20:38скачать

содержание
Загрузка...

1.doc

Реклама MarketGid:
Загрузка...
Лабораторна робота 2

Робота з стрічками в Java

1. МЕТА РОБОТИ


Набуття навиків програмування з використанням стрічок мови Java.

2. СКЛАД РОБОЧОГО МІСЦЯ


2.1. Обладнання: IBM-сумісний персональний комп'ютер (ПК).

2.2. Програмне забезпечення: операційна система Windows (Linux), Java 2 SDK версії 1.2.2 і вище, IntelliJ IDEA 5.0 (Eclipse) або вище.

3. Короткі теоретичні відомості

3.1. Типи даних і оголошення змінних


Мова програмування Java, як і інші мови компілюючого типу, є мовою із строгою типізацією (strongly typed language). Це означає, що кожна змінна і кожен вираз мають тип, який повинен бути відомий під час компіляції програми. Тип обмежує набір значень, які можуть бути присвоєні змінній, або отримані у виразі, обмежує операції над значеннями і визначає реалізацію конкретної операції.

У Java визначено дві категорії даних:

  • примітивні типи (primitive types);

  • типи з посиланнями (reference types).

Існує також спеціальний нульовий тип, тип виразу null, який не має імені.

Примітивні типи діляться на булевий тип (boolean) і числові типи. У свою чергу, числові типи - це цілі типи (byte, short, int, long і char) дійсні типи (float і double). Типи з посиланнями - це типи класів, інтерфейсів і масивів.

Оголошення змінних (за винятком масивів) в Java має наступний вигляд:

ім'я типу ідентіфікатор-змінної;

наприклад:

int x;

String str1;

Якщо декілька змінних мають один і той же тип, їх можна оголосити в одному представленні, перерахувавши ідентифікатори змінних через кому:

ім'я-типу ідентіфікатор-змінної-1, ідентіфікатор-змінної-2.;

наприклад:

int x1, x2, x3;

Прийнято починати ідентіфікатор-змінної з маленької букви. Якщо ім'я змінної складається з декількох слів, то всі вони пишуться злито, причому кожне слово, окрім першого, починається з великої букви, наприклад:

double inputValue;

Змінна є вказівкою місця зберігання значення змінної в пам'яті. Змінна примітивного типу завжди містить значення змінної вказаного типу (наприклад, int), а змінна посилального типу зберігає посилання (адресу) об'єкту вказаного типу.

Створювати нові змінні можна в будь-якому місці програми.

Будь-яке оголошення змінної має свою область дії, межі якої залежать від того, де саме розташовано це оголошення. При приміщенні фрагмента тексту програми в пару фігурних дужок { } створюється новий блок. Блоки в програмі на мові Java можуть бути вкладеними. Змінна доступна в блоці тільки в тому випадку, якщо вона визначена в цьому блоці або в одному з вищестоящих блоків, в який входить поточний блок.

На відміну від мови C, у внутрішньому блоці не можна оголошувати змінну з таким же ім'ям, як в зовнішній області дії.

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

Змінити область дії і час дії змінної можна за допомогою модифікаторів доступу. Модифікатори вставляються в оголошення змінній перед іменем-типу.

^ За замовчуванням (без модифікатора) змінна доступна тільки класам в тому ж пакеті, що і клас, в якому вона міститься.

Модифікатор public визначає, що змінна доступна як всередині, так і поза класом, тобто змінна є глобальною і доступна будь-якому іншому об'єкту.

Модифікатор private, навпаки, означає, що змінна доступна тільки в тому класі, в якому вона була оголошена.

Модифікатор final визначає, що змінна має постійне (незмінне) значення і не може бути перевизначена.

Слід зазначити, що прийнято імена констант записувати повністю прописними буквами; якщо ім'я складається з декількох слів, то між ними ставиться знак підкреслення, наприклад:

int final Green_color =2;

^

3.2. Оператори передачі управління в Java


При роботі програми оператори виконуються послідовно. Проте часто буває необхідним змінити порядок виконання операторів. Для цього використовуються оператори управління програмою.

У Java існують наступні види операторів управління програми:

  • умовний оператор;

  • оператори циклу;

  • оператори переходу;

  • оператор вибору.


^

3.2.1. Умовний оператор


Оператори, відповідальні за зміну порядку виконання інших операторів, називаються операторами передачі управління.

Умовний оператор Java має наступний формат:

if (булевий вираз)

оператори-1;

else оператори-2;

Якщо значення булевого виразу рівне true, то виконуються оператори-1, інакше виконаються оператори-2. Оператор else може бути опущений, в цьому випадку, якщо булевий вираз рівний false, виконується оператор, наступний за оператором if. Якщо оператори-1 або оператори-2 містять декілька операторів, вони повинні бути поміщені у фігурні дужки.
^

3.2.2. Оператори циклу


У Java визначені наступні оператори циклу:

  • ·оператор for;

  • ·оператор while;

  • ·оператор do.while.

Оператор циклу for має наступний формат:

for (ініціалізація-циклу;контрольний-вираз;кроковий вираз)

тіло-циклу

Ініціалізація-циклу виконується один раз перед першим проходом тіла циклу. Контрольний-вираз обчислюється перед початком кожного виконання тіла циклу (у тому числі і перед першим його виконанням), а кроковий вираз обчислюється в кінці кожного виконання тіла циклу. Як правило, в нім відбувається збільшення або зменшення деякої змінної, від якої залежить значення контрольного виразу. Тіло циклу може містити одного оператора або декілька операторів, заключених у фігурні дужки.

У вираз для ініціалізації циклу і у вираз для ітерації циклу можна включити декілька операторів, розділених комами. Зазвичай така форма застосовується, коли в циклі необхідно використовувати декілька змінних циклу.

^ Оператори циклу while і do.while мають наступний формат:

while(булевий вираз) do

тіло-циклу тіло-циклу

while(булевий вираз);

Обидва цикли виконуються до тих пір, поки булевий вираз має значення true, проте в циклі while обчислення булевого виразу проводиться до початку чергового виконання циклу, а в циклі do.while - після його чергового виконання (тобто цикл do.while завжди виконуватиметься хоч би один раз).
^

3.2.3. Оператори переходу


У Java відсутній оператор

goto мітка

мови C, що дозволяє виконувати перехід до оператора з вказаною міткою, оскільки цей оператор може істотно ускладнити логічну структуру програми. У тих же випадках, коли необхідно пропустити виконання деяких операторів програми, в Java використовуються оператор переривання break і оператор продовження continue. До операторів переходу зазвичай відносять і оператора return.

Оператор переривання:

break мітка;

передає управління за межі циклу або оператора вибору, поміченого вказаною міткою. Мітка є звичайним ідентифікатором Java, за яким слідує двокрапка. Мітка може бути опущена - в цьому випадку управління передається за межі циклу або оператора вибору, що містить даного оператора break.

^ Оператор продовження

continue мітка;

схожий на оператора break, проте він передає управління всередину циклу. Якщо мітка опущена, оператор continue передає управління на самий кінець тіла циклу (після останнього його оператора) і, якщо контрольний вираз, обчислений після того, як черговий прохід тіла циклу був примусово завершений оператором continue, буде рівний true, виконання циклу продовжиться. Це буває корисно для того, щоб пропустити при виконанні тіла циклу деякі з операторів. Якщо мітка вказана, оператори пропускаються в циклі, поміченому вказаною міткою.
^

3.2.4. Оператор вибору


Оператор вибору switch зазвичай використовується, коли необхідно організувати розгалуження програми по декількох напрямах, проте умови перевірки в нім повинні бути виражені за допомогою різних значень цілої змінної.

Оператора switch має наступний формат:

switch (вираз)

{

case значення-1: оператори-1;

case значення-2: оператори-2;

...

default: оператори-n;

}

Вираз, який ставиться в круглих дужках після ключового слова switch, може належати до одного з типів char, byte, short або int. Перевірка значення цього виразу на рівність заданому константному значенню здійснюється за допомогою операторів case, що входять в оператора switch (всі оператори case повинні містити різні значення). Як тільки один з операторів case пізнав значення виразу, управління отримує операторів, наступних після символу ":" за цим оператором case. Після цього виконуються оператори, що містяться у всіх наступних операторах case і в операторові default. Для того, щоб обійти виконання подальших операторів case і оператора default, слід задати останнім оператором для даного case оператор break. Якщо значення виразу не співпадає ні з одним із значень, виконуються оператори, наступні за оператором default (цей оператор може бути опущений). Оператори, наступні за двокрапкою, можна не брати у фігурні дужки. Якщо для декількох значень виконуються одні і ті ж дії, операторів case можна об'єднати:

case значення-1:

case значення-2: оператори;
^

3.3. Робота з рядками (клас String)


Для зберігання і обробки рядків в Java є два класи: String для незмінних рядків і Stringbuffer - для рядків, які можуть мінятися. Обидва класи розширюють клас Object. Вони знаходяться в пакеті java.lang, тому їх не треба підключати за допомогою оператора import.

Строкові літерали в Java, як і в C, заключаються в подвійні апострофи, наприклад, "abc" задає строковий літерал abc.

Якщо усередині строкового літерала необхідно задати символ апострофа, він задається за допомогою символів \", наприклад, "it\"s" задає строковий літерал it"s.

Ініціалізація об'єкту класу String може виконуватися як за допомогою оператора привласнення змінній класу String строкової змінної або строкового літерала, наприклад:

^ String str = "Рядок 1";

або при створенні об'єкту за допомогою оператора new з використанням одного з наступних конструкторів класу String:

Конструктор

Об'єкт, який він створює

String()

Порожній рядок.

^ String (String original)

Новий рядок, який є копією рядка original.

String(char[] value)

Рядок, створений з елементів масиву value.

^ String(char[] value, int offset, int length)

Рядок, заснований на підмасиві, починається із зсуву offset і довжиною len символів.

^ String(byte[] bytes)

Рядок, що створюється з масиву байт, з використанням кодування на даному комп'ютері за умовчанням (для української мови в Windows - кодування Windows-1251) кожного символу.

^ String(byte[] bytes, int offset, int length)

Рядок, що створюється з частини масиву байт, що починається з індексу offset і містить length байт.


Довжина рядка може бути визначена за допомогою методу public int length().

Єдина операція, яку можна використовувати для рядків, є операція склеювання (конкатенація) двох або більше рядків - "+".

3.3.1. Порівняння рядків

Оскільки в Java рядки є об'єктами, для порівняння рядків можна використовувати оператора "==" і метод

public boolean equals(Object anobject)

що порівнює рядок, для якого викликається метод, з об'єктом anobject. Результат буде true, тільки якщо anobject є рядком і значення порівнюваних рядків рівні.

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

Інші методи порівняння рядків, що також повертають булеві значення, приведені в таблиці:

Метод

Повертає true, коли

equalsIgnoreCase(String anotherString)

Стрічка рівна anotherString , незалежно від регістру символів.

startsWith(String prefix)

Стрічка починається з prefix.

startsWith(String prefix, int toffset)

Підстрока строки prefix, починаючи з позиції toffset, міститься на початку стрічки яку перевіряємо.

endsWith(String suffix)

Стрічка закінчується suffix.

regionMatches(int toffset, String other, int ooffset, int len)

Підстрока в стрічці, починаючи з зміщеням toffset, відповідає підстрічці, що починається по зміщенню ooffset, для len символів.

regionMatches(boolean ignoreCase, int toffset, String other, int ooffset, int len)

Те ж, що і попередній метод, але ігнорує регістр символів, коли ignoreCase рівне true.


Метод int compareTo(String anotherstring) - лексикографічно порівнює два рядки і повертає 0, якщо рядки рівні по довжині і мають однакове значення, менше 0, якщо в першій позиції, в якій символи рядків не рівні, код символу в першому рядку менше кода символу з другого рядку або довжина першого рядка менше довжини другого рядка а всі символи першого рядка рівні символам в тих же позиціях другого рядка. Якщо в першій позиції, в якій символи рядків не рівні код символу в першому рядку більше кода символу в другому рядку або довжина першого рядка більше довжини другого рядка, повертається значення, більше 0.
^

3.3.2. Пошук в рядках


Для пошуку символів або послідовностей символів (тільки у рядках класу String) використовуються наступні перезавантажувані методи indexof(), приведені в таблиці:

Представлення методу

Значення, яке повертається

^ Int indexOf(int ch)

Перша позиція в стрічці, в якій зустрічається символ ch.

public int indexOf(int ch, int fromIndex)

Перша позиція в стрічці, , починаючи з символа fromIndex, в якій зустрічається символ ch.

int indexOf(String str)

Перша позиція в стрічці, в котрій зустрічається стрічка str.

public int indexOf(String str, int fromIndex)

Перша позиція в стрічці, , починаючи з символа fromIndex, в якій зустрічається строка str.


Для кожного методу indexof() є відповідний метод lastIndexof(), який починає пошук символу або рядка не з початку, а з кінця рядки. Якщо символ або рядок не знайдені в рядку, в якому проводиться пошук, методи indexof() і lastIndexof() повертають значення -1.
^

3.3.3. Витягання символів і підрядків з рядка


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

Метод

Значення, яке повертається

char charAt(int index)

Символ строки в позиції index.

char[] toCharArray()

Масив символів – копію строки.

^ String substring(int beginIndex)

Подстрічка вихідної стрічки, що починається з позиції beginIndex вихідної строки.

^ String substring(int beginIndex, int endIndex)

Подстрічка вихідної стрічки, що починається з позиції beginIndex і закінчується в позиції endIndex-1 вихідної строки.

void getChars (int srcBegin, int srcEnd, char[] dst, int dstBegin)

Нічого не повертає. Копіює частину строки, починаючи з символа в позиції srcBegin і закінчуючи символом в позиції dstBegin + (srcEnd-srcBegin)-1 в символьний масив dst, починаючи з позиції dstBegin.


^ 3.3.4. Модифікація рядків

Створення нових рядків на основі існуючих рядків виконується за допомогою методів, приведених в таблиці:

Метод

Значення, яке повертається

String concat(String str)

Початковий рядок, в кінець якої доданий рядок str.

String toLowerCase()

Початковий рядок, переведений в нижній регістр.

^ String toUpperCase()

Початковий рядок, переведений у верхній регістр.

String trim()

Початковий рядок, з якого виключені початкові і кінцеві символи пробілів.

^ String replace(char oldChar, char newChar)

Початковий рядок, в якому всі символи oldChar замінені на newСhar..


Для створення рядків з примітивних типів даних в класі ^ String використовуються перегружені статичні public-методи valueOf(), як аргумент яких задається константа, змінна або вираз примітивного типу (boolean, char, int, long, float, або double). Повернутим значенням методу є рядок класу String - строкове представлення аргументу. Крім того, визначено ще дві версії методів valueOf():

static String valueOf(char[] data) - повертає строкове представлення символьного масиву data;

static String valueOf(char[] data, int offset, int count) - повертає строкове представлення символьного масиву data, починаючи з позиції offset і розміром count.
^

3.4. Структура застосування Java і просте введення-виведення


Якщо програма є задачею, вона повинна містити у файлі оголошення класу, ім'я якого співпадає з ім'ям файлу програми, статичний, такий, що не повертає значення, public-метод з ім'ям main:

public final static void main(String args[])

{

тіло-методу

}

Цей метод запускається першим при виконанні програми. У масиві строкових змінних args в програму передаються параметри, задані при запуску програми (перший параметр - в нульовому елементі масиву, другий в першому і так далі). Опис масиву в параметрах методу main є обов'язковим, навіть якщо параметри не обробляються в програмі.

Параметри, що задаються в командному рядку, можна використовувати для введення даних в програму. Параметри, що вводяться, відділяються один від одного, принаймні, одним пропуском. Якщо параметри, що вводяться, містять пропуски, то параметри полягають в подвійні апострофи (") (ці апострофи не передаються програмі Java). Якщо в параметрі, описаному в подвійних апострофах, необхідно задати символ подвійного апострофа, то всередині параметра він записується як (\").

Якщо як параметр задається символ зірочки (*), то програмі передаються імена файлів поточного каталогу (кожне ім'я як окремий параметр). Якщо необхідно передати зірочку як значення параметра, її необхідно також записати в подвійних апострофах.

Для виведення результатів виконання програми і діагностичних повідомлень на дисплей в класі ^ System пакету java.lang описано два потокові об'єкти класу Printstream:

p

public static final Printstream out

і

public static final Printstream err

Оскільки це статичні об'єкти, їх можна використовувати в програмах, не створюючи власних потокових об'єктів, і в той же час їм доступні методи класу для виведення даних (зазвичай використовуються методи print() і println()).

При виклику методів print() і println() може бути заданий аргумент типу String, char, char[], int, long, float, double, boolean і Object.

Єдина відмінність між методами print() і println() полягає в тому, що останній завжди додає символ перекладу рядка до всього, що друкує, а перший залишається на тому ж рядку. Якщо потрібно перейти на новий рядок, можна викликати println() без параметрів.

Виконання програми закінчується, коли виконаний останній оператор програми або якщо в програмі відбулася помилка (в цьому випадку об'єкт System.err виводить на дисплей діагностичні повідомлення).

Виконання програми можна також завершити за допомогою наступного методу класу ^ System:

public static void exit(int status)

Параметр status задає значення коди завершення програми. За умовчанням програма закінчується з нульовим кодом завершення. Можна вказати ненульовий код завершення, який може бути проаналізований операційною системою або командним файлом.

^

4. ПОРЯДОК ВИКОНАННЯ РОБОТИ


Напишіть програму на мові Java по одному з приведених нижче варіантів. Привласнення значень рядкам проводиться за допомогою задання параметрів в командному рядку при виконанні програми. Отримані результати виводяться на дисплей з пояснюючими повідомленнями.
Варіант 1

Аналіз типів параметрів, що задаються при введенні програми. Якщо параметр є правильним цілим числом (тобто складається з цифр, і, крім того, першим символом числа може бути знак "+" або "-"), то тип параметра "Integer", інакше "String". Програма виводить кількість заданих параметрів і, для кожного параметра, його тип і значення. Перевірка числа і виведення результату виконуються в окремих методах.

Варіант 2

Аналіз типів параметрів, що задаються при введенні програми. Якщо параметр є десятковим числом з цілою і дробовою частиною (тобто складається з цифр, однієї десяткової крапки, яка може бути на початку, в середині або в кінці числа, і, крім того, першим символом числа може бути знак "+" або "-"), то тип параметра "Decimal", інакше "String". Програма виводить кількість заданих параметрів і, для кожного параметра, його тип і значення. Перевірка числа і виведення результату виконуються в окремих методах.

Варіант 3

Аналіз типів параметрів, що задаються при введенні програми. Якщо параметр є числом з плаваючою крапкою (тобто складається з мантиси, можливо із знаком "+" або "-", яка може містити десяткову крапку на початку, середині або кінці, а також порядку - цілого числа із знаком "+" або "-" або без знаку, роздільником між мантисою і порядком служить символ "e" або символ "E"), то тип параметра "Float", інакше "String". Програма виводить кількість заданих параметрів і, для кожного параметра, його тип і значення. Перевірка числа і виведення результату виконуються в окремих методах.

Варіант 4

Аналіз типів параметрів, що задаються при введенні програми. Якщо параметр є цілим вісімковим числом (тобто складається з цифр від 0 до 7, причому першою цифрою повинен бути 0), то тип параметра "Octal", інакше "String". Програма виводить кількість заданих параметрів і, для кожного параметра, його тип і значення.

Варіант 5

Аналіз типів параметрів, що задаються при введенні програми. Якщо параметр є цілим шіснадцятковим числом (тобто складається з цифр від 0 до 9 і букв A(a), B(b), C(c), D(d), E(e), F(f), перед числом повинні стояти символи "0x" або "0x"), то тип параметра "Hexadecimal", інакше "String". Програма виводить кількість заданих параметрів і, для кожного параметра, його тип і значення. Перевірка числа і виведення результату виконуються в окремих методах.

Варіант 6

Аналіз типів параметрів, що задаються при введенні програми. Якщо параметр є цілим двійковим числом (тобто складається з цифр від 0 і 1), то тип параметра "Binary", інакше "String". Програма виводить кількість заданих параметрів і, для кожного параметра, його тип і значення. Перевірка числа і виведення результату виконуються в окремих методах.

Варіант 7

Аналіз типів параметрів, що задаються при введенні програми. Якщо параметр має вид "імя=значення", то він є ключовим параметром (тип "Keyed"), якщо параметр має вид "-значення" або "/значення", то він є опцією (тип "Optional") і якщо має вигляд "значення", то є безпосереднім параметром (тип "Immediate"). Програма виводить кількість заданих параметрів і, для кожного параметра, його тип і значення (для ключових параметрів додатково виводиться ім'я параметра). Перевірка числа і виведення результату виконуються в окремих методах.

Варіант 8

Аналіз типів параметрів, що задаються при введенні програми. Якщо параметр має вигляд "значення", то він є одиночним параметром (тип "Single"), якщо параметр має вигляд "значення, значення. ", то він є списком (тип "List"). Програма виводить кількість заданих параметрів і, для кожного параметра, його тип і значення (для кожного параметра-списку при виводі його значення перетвориться в масив типу String, кожен елемент якого містить елемент списку і виводиться в циклі по елементах). Перевірка числа і виведення результату виконуються в окремих методах.

Варіант 9

Аналіз типів параметрів, що задаються при введенні програми. Якщо параметр є правильним ідентифікатором Java (тобто складається з букв, цифр і символів "$" і "_", що вважаються буквами, і, крім того, перший символ є буквою), то його тип "Identifier", якщо параметр є ключовим словом Java (для прикладу задати декілька ключових слів Java, "if", "for", "while", "do" і "else"), то його тип "Keyword", інакше його тип вважається "Illegal". Програма виводить кількість заданих параметрів і, для кожного параметра, його тип і значення. Перевірка числа і виведення результату виконуються в окремих методах.

Варіант 10

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

Варіант 11

Аналіз параметрів, що задаються при введенні програми. Програма визначає, які символи містяться у введених параметрах (наприклад, параметри "abc", "cf", "bfc" містять символи "abcf"). Програма виводить кількість заданих параметрів і рядок символів, що містяться в параметрах. Визначення рядка символів виконується в окремому методі.

Варіант 12

Аналіз параметрів, що задаються при введенні програми. Програма видаляє з параметрів символи, що все повторюються, окрім одного (наприклад, параметр "abcadc", перетвориться в "abcd"). Програма виводить кількість заданих параметрів і перетворені значення параметрів. Перетворення параметра виконується в окремому методі.

Варіант 13

Аналіз параметрів, що задаються при введенні програми. Програма визначає рядок символів що зустрічаються тільки в одному з параметрів (наприклад, для параметрів "agc", "cf", "bfc" таким рядком буде рядок "gb"). Програма виводить кількість заданих параметрів і знайдений рядок символів або повідомлення про те, що таких символів немає. Визначення рядка символів проводиться в окремому методі.

Варіант 14

Аналіз параметрів, що задаються при введенні програми. Програма визначає, скільки разів символ зустрічається у введених параметрах (наприклад, для параметрів "agc", "cf", "bfc" символи "a", "g" і "b" зустрічаються один раз, символ "f" - двічі і символ "c" - три рази). Програма виводить кількість заданих параметрів і для кожного символу - частоту його повторення в параметрах. Визначення частоти повторення символів проводиться в окремому методі.

Варіант 15

Аналіз параметрів, що задаються при введенні програми. Програма сортує введені параметри по першому символу параметра (без урахування регістра), який повинен бути латинською буквою. Програма виводить кількість заданих параметрів, відсортовані елементи і, окремо, список елементів, які не можна відсортувати. Сортування параметрів проводиться в окремому методі.
Варіант 16

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

Варіант 17

Аналіз параметрів, що задаються при введенні програми. Програма визначає, чи є серед введених параметрів однакові параметри і число їх повторення. Програма виводить кількість заданих параметрів, значення параметрів, що повторюються, і кількість їх повторення або повідомлення про те, що параметрів, що повторюються, немає. Визначення параметрів, що повторюються, проводиться в окремому методі.
Варіант 18

Аналіз параметрів, що задаються при введенні програми. Програма переставляє введені параметри в порядку зростання їх довжини. Програма виводить кількість заданих параметрів і їх значення в порядку зростання довжини. Перестановка параметрів проводиться в окремому методі.

Варіант 19

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

Варіант 20

Аналіз параметрів, що задаються при введенні програми. Програма видаляє з масиву введених параметрів параметри, всі, що повторюються, крім одного (наприклад, з параметрів "ab", "cd", "ab" будуть залишені параметри "ab" і "cd"). Програма виводить кількість заданих параметрів, кількість різних параметрів і їх значення. Визначення неоднакових параметрів виконується в окремому методі.
Варіант 21

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

Варіант 22

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


Варіант 23

Перетворення параметрів, що задаються при введенні програми. Програма визначає тип параметра - шістнадцяткове число без знаку або рядок (шістнадцятковим числом без знаку вважається рядок, який містить цифри від 0 до 9 і букви A(a), B(b), C(c), D(d), E(e),F(f)). Введені параметри-числа перетворяться в двійкові числа. Програма виводить кількість заданих параметрів, кількість параметрів-чисел і їх двійкові значення. Перетворення параметра-числа проводиться в окремому методі.

Варіант 24

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

Варіант 25

Перетворення параметрів, що задаються при введенні програми. Програма визначає тип параметра - шістнадцяткове число без знаку або рядок (шістнадцяткове числом без знаку вважається рядок, який містить цифри від 0 до 9 і букви A(a), B(b), C(c), D(d), E(e),F(f)). Введені параметри-числа перетворяться в десяткові числа (кожна i-а цифра шістнадцяткового числа перетвориться в десяткове число Ni по формулі Ni=16n-i-1, де n - кількість цифр в числі; i = 0,n - індекс цифри в числі, шукане число є сумою всіх Ni). Програма виводить кількість заданих параметрів, кількість параметрів-чисел і їх десяткові значення. Перетворення параметра-числа проводиться в окремому методі.

Варіант 26

Аналіз параметрів, що задаються при введенні програми. Параметр має наступний формат:

ім'я-типу-або-ім’я-класу.ім’я-змінної-або-ім’я-метода

і є зверненням до змінної або виклик методу для об'єкту або класу в Java. Якщо перший символ звернення - заголовна буква, то виводиться тип "Static", якщо рядкова буква - виводиться "Object". Якщо ім'я змінної або методу починається з рядкової букви, то якщо ім'я містить символи "("і ")", то виводиться тип звернення "Method", інакше виводиться тип звернення "Variable". Якщо яке-небудь з приведених умов не виконується, то виводиться тип або тип звернення "Illegal". Програма виводить кількість заданих параметрів і, для кожного параметра, його тип, тип звернення і значення. Перевірка числа і виведення результату виконуються в окремих методах.

Варіант 27

Аналіз параметрів, що задаються при введенні програми. Програма розглядає параметри, що вводяться, як імена файлів MS DOS, визначає тип файлу по його розширенню (наприклад, "Program" або "Word document"), і проводить перевірку правильності завдання імені файлу відповідно до наступних умов:

1. У імені файлу не повинне бути більше 8 символів, а в розширенні імені (якщо воно є) - не більше 3 символів.

2. У імені файлу не повинно бути російських букв, пропусків, одиночних і подвійних апострофів, а також символів "-", "_", "$", "#", "&", "@" "!", "%" "(", ")", "{", "}", "", "." і "*".

Варіант 28

Аналіз типів параметрів, що задаються при введенні програми. Якщо параметр є правильним ідентифікатором мови C (тобто складається з латинських букв, цифр і символу і "_", що вважається буквою, і, крім того, перший символ є буквою), то його тип "Identifier", якщо параметр є ключовим словом C (для прикладу задати декілька ключових слів C, "if", "for", "while", "do" і "else"), то його тип "Keyword", інакше його тип вважається "Illegal". Програма виводить кількість заданих параметрів і, для кожного параметра, його тип і значення. Перевірка числа і виведення результату виконуються в окремих методах.

Варіант 29

Аналіз типів параметрів, що задаються при введенні програми. Якщо параметр є числовим літералом, тобто починається з цифри, то визначається його тип ("Integer" або "Real"), якщо параметр поміщений в одиночні апострофи і містить один символ, то його тип - "Character", якщо параметр поміщений в подвійні апострофи, то його тип - "String". Якщо не одна з умов не виконується, то тип параметра - "Identifier". Програма виводить кількість заданих параметрів і, для кожного параметра, його тип і значення. Перевірка числа і виведення результату виконуються в окремих методах.

Варіант 30

Аналіз параметрів, що задаються при введенні програми. Програма розглядає параметри (параметри можуть містити пропуски), що вводяться, як імена файлів Windows і визначає тип файлу по його розширенню (наприклад, "Program" або "Word document"), а потім переводить ім'я файлу (зване в Windows довгим ім'ям) в коротке ім'я (або ім'я MS DOS) по наступному алгоритму:

1. Якщо є розширення файлу, і воно містить більше трьох символів, в нім залишаються перші три символи.

2. З імені файлу віддаляються символи, неприпустимі в імені файлу MS DOS (пропуски, одиночні і подвійні апострофи, а також символи "-", "_", "$", "#", "&", "@" "!", "%" "(", ")", "{", "}", "", "." і "*").

3. Якщо довжина імені, що вийшло, менше або рівна 6 символам, ім'я, що вийшло, береться як ім'я файлу, інакше як довжина файлу беруться перші 6 символів файлу, після яких ставиться символи "1".

4. Якщо у якого-небудь імені файлу коротке ім'я співпадають з коротким ім'ям іншого файлу, то якщо ім'я файлу менше або рівне 6, до нього додаються символи "1", "2" і так далі, інакше останній символ в імені файлу збільшується на 1.
^

5. Зміст звіту


У звіті повинні бути представлений текст програми і приклад виведення програми.

6. Питання для самоконтролю


1. Які категорії і типи даних визначені в мові Java?

2. Як визначається область дії і час дії змінної в мові Java?

3. Як визначається доступ до змінної в мові Java?

4. Які види операторів управління визначені в мові Java?

5. Як визначається умовний оператор в мові Java?

6. Які оператори циклу визначені в мові Java і як вони діють?

7. Чим відрізняється дія оператора break від дії оператора continue?

8. Як виконується оператор вибору switch в Java?

9. Які класи є в Java для роботи з рядками, і чим вони відрізняються один від одного?

10. Якими способами можна створити рядок класу String в Java?

11. Які особливості реалізації рядків в Java необхідно враховувати при порівнянні рядків?

12. Які методи порівняння рядків визначені в Java?

13. Які методи пошуку символів і підрядків в рядках визначені в Java?

14. Як можна створити новий рядок класу String на основі існуючого рядка?

15. Як можна передати параметри програмі Java? У якому вигляді передаються ці параметри?

16. Якому правилу повинно підпорядковувати ім'я файлу програми?

17. Який метод повинен бути обов'язково заданий в застосуванні Java для того, щоб програма могла почати виконання і які модифікатори і параметри повинні бути задані для цього методу?


Скачать файл (167.5 kb.)

Поиск по сайту:  

© gendocs.ru
При копировании укажите ссылку.
обратиться к администрации
Рейтинг@Mail.ru