- •Часть 1
- •Часть 1
- •Введение
- •Лабораторная работа № 1 разработка схем алгоритмов
- •Краткая теория Этапы решения задач на эвм
- •Определение алгоритма и способы его описания
- •Правила оформления схем алгоритмов
- •Типы алгоритмов
- •Задания
- •Построение схем алгоритмов с помощью текстового редактора word
- •Содержание отчета
- •Контрольные вопросы
- •Лабораторная работа № 2 работа в среде netbeans. Создание простейших программ с линейным алгоритмом
- •Краткая теория Установка ide NetBeans
- •Общие правила создания приложений
- •Работа с проектом NetBeans
- •Пример создания простейшего приложения
- •Общие правила построения класса
- •Типы данных
- •Объявление переменных
- •Оператор присваивания
- •Приведение типов
- •Организация ввода данных
- •Организация вывода данных
- •Задания
- •Содержание отчета
- •Контрольные вопросы
- •Лабораторная работа № 3 разработка простейших приложений на базе разветвляющихся алгоритмов
- •Краткая теория Средства переименования в среде NetBeans
- •Отладка кода в среде NetBeans
- •Условный оператор if-else
- •Условный оператор switch
- •Задания
- •Содержание отчета
- •Контрольные вопросы
- •Лабораторная работа № 4 разработка программ с циклами со счетчиком
- •Краткая теория Циклы со счетчиком
- •Особенности алгоритмов и программ с накапливанием
- •Методы класса Math
- •Задания
- •Содержание отчета
- •Контрольные вопросы
- •Лабораторная работа № 5 работа с итерационными циклами. Одномерные массивы
- •Краткая теория Итерационные циклы
- •Цикл while
- •Цикл do-while
- •Одномерные массивы
- •Подсчет суммы, количества и среднего значения в одномерных массивах
- •Нахождение минимума и максимума
- •Задания
- •Содержание отчета
- •Контрольные вопросы
- •Лабораторная работа № 6 алгоритмы сортировки и разбиения одномерных массивов
- •Краткая теория Сортировка одномерных массивов
- •Разбиение одномерных массивов
- •Задания
- •Содержание отчета
- •Контрольные вопросы
- •Лабораторная работа № 7 обработка двумерных массивов
- •Краткая теория Понятие многомерных массивов. Ввод и вывод матриц
- •Типовые алгоритмы обработки матриц
- •Алгоритмы обработки матриц в целом
- •Алгоритмы обработки матриц по строкам и столбцам
- •Задания
- •Содержание отчета
- •Контрольные вопросы
- •Лабораторная работа № 8 диагонали матрицы, умножение матриц
- •Краткая теория Обработка главной и побочной диагоналей матриц
- •Работа с диагоналями матриц выше и ниже главной/побочной
- •Умножение матриц
- •Задания
- •Содержание отчета
- •Контрольные вопросы
- •Лабораторная работа № 9 обработка строк класса string
- •Краткая теория Создание объектов класса String
- •Методы класса String
- •Задания
- •Содержание отчета
- •Контрольные вопросы
- •Лабораторная работа № 10 алгоритмы и программы обработки фрагментов строк класса string
- •Краткая теория Сравнение символов строк класса String
- •Типовые задачи обработки массивов строк (слов из текста)
- •Задания
- •Содержание отчета
- •Контрольные вопросы
- •Лабораторная работа № 11 разработка алгоритмов и программ с использованием классов StringBuffer/StringBuilder
- •Краткая теория Создание и обработка объектов классов stringbuffer и stringbuilder
- •Задания
- •Содержание отчета
- •Контрольные вопросы
- •Лабораторная работа № 12 разработка собственных методов
- •Краткая теория Общие правила создания методов класса
- •Описание методов класса
- •Вызов методов класса
- •Передача параметров
- •Содержание
- •Задания
- •Содержание отчета
- •Контрольные вопросы
- •Библиографический список
- •Программирование на Java
- •443100, Г. Самара, ул. Молодогвардейская, 244. Главный корпус
- •443100, Г. Самара, ул. Молодогвардейская, 244. Корпус № 8
Задания
Задание 3.1. В одном из проектов выполнить следующее:
– поочередно переименовать проект, пакет, класс, добавив им в конец имени текущий год, а также изменить название любой переменной. Все изменения производить, используя предварительный просмотр;
– после реорганизации кода для всех переименований в первом вхождении сделать комментарии, указав старое название.
Задание 3.2. Выполнить задачу 3.1 из теоретической части лабораторной работы.
Задание 3.3. Создать приложение для вычисления площади треугольника по формуле Герона с проверкой правильности ввода длин сторон a, b, c (сумма двух любых длин сторон в треугольнике должна быть больше длины третей стороны). Если длины стороны введены неправильно – выдать сообщение, что такого треугольника не существует.
Проверку условий выполнять согласно следующему алгоритму:
Если a+b>c
Если b+c>a
Если a+c>b
a) вычислить полупериметр;
б) вычислить площадь треугольника;
в) вывести площадь;
Иначе …
Произвести процесс пошаговой отладки программы.
Для тестирования использовать значения из табл. 3.1.
Таблица 3.1
a |
b |
c |
Площадь |
1 |
1 |
10 |
треугольник не существует |
1 |
10 |
1 |
треугольник не существует |
10 |
1 |
1 |
треугольник не существует |
3 |
4 |
5 |
6 |
Задание 3.4. Создать приложение для решения квадратного уравнения a*x2+b*x+c=0 при условии, что пользователь может вводить с клавиатуры любые значения коэффициентов a, b, c.
Задание выполнить двумя способами:
– c использованием конструкции if-else.
– c использованием конструкции switch.
Тестирование проводить в режиме отладки.
Для тестирования кода использовать данные из табл. 3.2.
Таблица 3.2
№ |
Уравнение |
Результат |
1 |
x2 – 5*x+6=0 |
x1=2; x2=3 |
2 |
3*x2 – 36*x+140=0 |
вещественных корней нет |
3 |
0*x2+5*x+2=0 |
x= -0,4 |
4 |
0*x2+0*x+5=0 |
вещественных корней нет |
5 |
1*x2+4*x+4=0 |
x1=x2=-2 |
6 |
0*x2+0*x+0=0 |
корни – вся числовая ось |
Задание 3.5. Выполнить задачу 3.2 из теоретической части лабораторной работы.
Задание 3.6. Создать приложение для задачи перевода названий цветов радуги с английского языка на русский. Использовать конструкцию switch и строковые литералы для case (возможно для jdk7 и других, более поздних версий).
Задание 3.7. Выполнить по бригадам задания с использованием конструкции if согласно вариантам, представленным в табл. 3.3.
Таблица 3.3
Вариант 1 |
Создать приложение для задачи, которая вычисляет частное от деления двух чисел, введенных с клавиатуры. Программа должна проверять правильность введенных пользователем данных и, если они неверные (делитель равен нулю), выдавать сообщение об ошибке.
|
Вариант 2 |
С оздать приложение для задачи вычисления сопротивления электрической цепи, состоящей из двух сопротивлений. Сопротивления могут быть соединены последовательно или параллельно. Тип соединения выбирается пользователем.
|
Вариант 3 |
Создать приложение для задачи вычисления стоимости покупки с учетом скидки. Скидка в 10 % предоставляется, если сумма покупки больше 1000 руб.
|
Вариант 4 |
Создать приложение для задачи вычисления площади кольца. Программа должна проверять правильность исходных данных и в случае ошибки (радиус отверстия не может быть больше радиуса кольца) выдавать сообщение.
|
Вариант 5 |
Создать приложение для задачи, которая проверяет, является ли четным введенное пользователем целое число, и выдает соответствующее сообщение.
|
Вариант 6 |
Создать приложение для задачи, которая сравнивает два числа, введенных с клавиатуры. Программа должна указать, какое число больше, или, если числа равны, вывести соответствующее сообщение.
|
Окончание табл. 3.3
Вариант 7 |
Создать приложение для задачи проверки знания года начала Второй мировой войны. В случае неверного ответа пользователя программа должна выводить соответствующее сообщение и правильный ответ, например: «Вы ошиблись, год начала Второй мировой войны – 1939».
|
Вариант 8 |
Создать приложение для задачи, которая вычисляет оптимальный вес пользователя, сравнивает его с реальным и выдает рекомендацию о необходимости поправиться или похудеть. Оптимальный вес вычисляется по формуле: рост (в сантиметрах) – 100.
|
Вариант 9 |
Создать приложение для задачи, проверяющей знание даты основания Самары. В случае неверного ответа пользователя программа должна выводить соответствующее сообщение и правильный ответ, например: «Вы ошиблись, Самара была основана в 1586 году».
|
Вариант 10 |
Создать приложение для задачи вычисления стоимости покупки с учетом скидки. Скидка в 3 % предоставляется в том случае, если сумма покупки больше 500 руб., в 5 % – если сумма больше 1000 руб.
|
Вариант 11 |
Создать приложение для задачи, которая выводит пример на вычитание двух чисел, введенных с клавиатуры, и запрашивает ответ пользователя, проверяет его и выводит сообщение «Правильно!» или «Вы ошиблись» и правильный результат.
|
Вариант 12 |
Создать приложение для задачи определения стоимости разговора по телефону с учетом скидки 20 %, предоставляемой по выходным. Исходные данные: стоимость минуты, длительность разговора (целое количество минут), день недели (1 – выходной, 2 – рабочий). |
Задание 3.8. Выполнить задания с использованием конструкции switch по бригадам согласно вариантам, представленным в табл. 3.4.
Таблица 3.4
Вариант 1 |
|||||||||||||||
Разработать программу, которая запрашивает у пользователя номер месяца и выводит его название. В случае если пользователь укажет недопустимое число, программа должна вывести сообщение «Ошибка ввода данных». Ниже представлен рекомендуемый вид экрана во время работы программы.
Введите номер месяца (число от 1 до 12) и нажмите <Enter> -> 11 Ноябрь
|
|||||||||||||||
Вариант 2 |
|||||||||||||||
Разработать программу, которая запрашивает у пользователя номер дня недели и выводит одно из сообщений: «Рабочий день – ПОНЕДЕЛЬНИК», …, «Выходной – СУББОТА» или «Выходной – ВОСКРЕСЕНЬЕ». Ниже представлен рекомендуемый вид экрана во время работы программы.
Введите день недели -> 7 Выходной – ВОСКРЕСЕНЬЕ.
|
|||||||||||||||
Вариант 3 |
|||||||||||||||
Разработать программу, вычисляющую стоимость междугороднего телефонного разговора (цена одной минуты определяется расстоянием до города, в котором находится абонент). Исходными данными для программы являются код города и продолжительность разговора. Ниже представлен рекомендуемый вид экрана во время работы программы (данные, введенные пользователем, и коды некоторых городов выделены полужирным шрифтом).
Город
Код
Цена
минуты,
руб.
Владивосток
423
2.20
Москва
195
1,0
Мурманск
815
1,2
Самара
846
1,4 Введите исходные данные: Код города –> 846 Длительность (целое количество минут)–> 3 Город: Владивосток Цена минуты: 2.20 руб. Стоимость разговора: 6.60 руб.
|
Продолжение табл. 3.4
Вариант 4 |
Разработать программу, которая после введенного с клавиатуры числа (в диапазоне от 1 до 99), обозначающего денежную сумму, дописывает слово «рубль» в правильном падеже. Например, 12 рублей, 21 рубль и т. д. Ниже представлен рекомендуемый вид экрана во время работы программы.
Введите число и нажмите <Enter> -> 11 11 рублей
|
Вариант 5 |
Разработать программу, которая вычисляет стоимость покупки с учетом скидки. Скидка в 3 % предоставляется в том случае, если сумма покупки больше 500 руб., в 5 % – если сумма больше 1000 руб., в 10 % – если сумма больше 2000 руб. Стоимость покупки задается целыми числами. Ниже представлен рекомендуемый вид экрана во время работы программы (данные, введенные пользователем, выделены полужирным шрифтом).
Вычисление стоимости покупки с учетом скидки. Введите сумму покупки и нажмите <Enter> -> 640 Вам предоставляется скидка 3% Сумма покупки с учетом скидки: 620.80 руб.
|
Вариант 6 |
Разработать программу: «Гадание на ромашке». Ввести количество лепестков у ромашки. Программа должна выдать одно из сообщений: – любит; – не любит; – к сердцу прижмет; – к черту пошлет. Ниже представлен рекомендуемый вид экрана во время работы программы (данные, введенные пользователем, выделены полужирным шрифтом).
Гадание на ромашке. Введите количество лепестков у цветка и нажмите <Enter> ==> 7 К сердцу прижмет!
|
Продолжение табл. 3.4
Вариант 7 |
Разработать программу, которая должна выдать общепринятую оценку школьника, соответствующую результату его теста по ЕГЭ. Следует принять: оценка 2 – от 0 до 29 баллов; оценка 3 – от 30 до 49 баллов; оценка 4 – от 50 до 69 баллов; оценка 5 – от 70 до 100 баллов. Ниже представлен рекомендуемый вид экрана во время работы программы.
Результаты экзаменов по ЕГЭ. Введите балл, полученный по результату тестирования ЕГЭ, и нажмите <Enter> ==> 72 Ваша оценка 5 (отлично).
|
Вариант 8 |
Разработать программу, которая должна перевести цифру римской системы счисления в ее десятичный эквивалент. Римская цифра вводится c клавиатуры (в виде похожей на нее латинской буквы), а затем на экране должен появиться ее десятичный эквивалент. Соответствие цифр: 'M' -> 1000; 'D' -> 500; 'C' -> 100; 'L' -> 50; 'X' -> 10; 'V' -> 5; ‘I' -> 1
Ниже представлен рекомендуемый вид экрана во время работы программы.
Введите символ и нажмите <Enter> ==> L Это число 50.
|
Продолжение табл. 3.4
Вариант 9 |
||||||||||||||
Разработать программу, которая должна определять (выводить на экран) падеж имени существительного, в зависимости от выбранного ответа пользователя (номера пункта введенного с клавиатуры).
Номер пункта
Вопросы, на
которые отвечает
имя существительное
1
Кто? Что? (есть)
2
Кого? Чего?
(нет)
3
Кому? Чему?
(дам)
4
Кого? Что?
(вижу)
5
Кем? Чем?
(горжусь)
6
О ком? О чем?
(думаю)
Ниже представлен рекомендуемый вид экрана во время работы программы.
Введите номер пункта, подходящий для проверяемого имени существительного и нажмите <Enter> ==> 6 Это предложный падеж.
|
||||||||||||||
Вариант 10 |
||||||||||||||
Разработать программу, которая должна определять (выводить на экран) название дня недели, соответствующее заданному числу месяца при условии, что в месяце 31 день, и первое число – понедельник. Ниже представлен рекомендуемый вид экрана во время работы программы.
Введите число месяца и нажмите <Enter> ==> 8 Это понедельник.
|
||||||||||||||
Вариант 11 |
||||||||||||||
Разработать программу, которая для произвольной цифры от 0 до 9, введенной с клавиатуры, выводит на экран ее значение прописью. Ниже представлен рекомендуемый вид экрана во время работы программы.
Введите цифру и нажмите <Enter> ==> 1 Это один.
|
Окончание табл. 3.4
Вариант 12 |
Разработать программу, которая для введенной температуры воздуха выводит на экран ее значение с единицами измерения (градусы) с согласованным окончанием. Ниже представлен рекомендуемый вид экрана во время работы программы.
Введите температуру и нажмите <Enter> ==> 17 Температура воздуха в Самаре 17 градусов.
|
