ФОС ПМ.01 Разработка модулей программного обеспечения для компьютерных систем

2

СОДЕРЖАНИЕ

1. ОБЩИЕ ПОЛОЖЕНИЯ................................................................................................................... 4
2. РЕЗУЛЬТАТЫ ОСВОЕНИЯ ПРОФЕССИОНАЛЬНОГО МОДУЛЯ, ..................................... 5
ПОДЛЕЖАЩИЕ ПРОВЕРКЕ ..................................................................................................... 5
3. ОЦЕНКА УРОВНЕЙ ОСВОЕНИЯ ПРОФЕССИОНАЛЬНОГО МОДУЛЯ .......................... 7
4. МАТЕРИАЛЫ ДЛЯ ПРОВЕДЕНИЯ ПРОМЕЖУТОЧНОЙ АТТЕСТАЦИИ ..................... 9
ПО ПРОФЕССИОНАЛЬНОМУ МОДУЛЮ .............................................................................. 9
4.1. Типовые задания для оценки освоения МДК.01.01 Разработка программных
модулей .............................................................................................................................................. 9
4.2. Типовые задания для оценки освоения МДК.01.02 Поддержка и тестирование
программных модулей ................................................................................................................. 20
4.3. Типовые задания для оценки освоения МДК.01.03 Разработка .................................. 23
мобильных приложений............................................................................................................... 23
4.4. Типовые задания для оценки освоения МДК.01.04 Системное ......................... 107
программирование ...................................................................................................................... 107
4.5. Типовые задания для экзамена квалификационного по ПМ.01 ………….. 18 ....... 110
5. КОНТРОЛЬ И ОЦЕНКА РЕЗУЛЬТАТОВ ОСВОЕНИЯ .................................................... 111

ПРОФЕССИОНАЛЬНОГО МОДУЛЯ………………………………………………. 26

3

ПАСПОРТ ФОНДА ОЦЕНОЧНЫХ СРЕДСТВ
1.
ОБЩИЕ ПОЛОЖЕНИЯ
Фонд оценочных средств (ФОС) разработан с целью установления соответствия
образовательных достижений студентов требованиям программы подготовки специалистов
среднего звена по профессиональному модулю ПМ.01 Разработка модулей программного
обеспечения для компьютерных систем.
ФОС включают контрольные материалы
промежуточной аттестации.

для проведения текущего контроля и

ФОС текущего контроля используется для оперативного и регулярного управления
учебной деятельностью студентов.
ФОС промежуточной аттестации студентов по профессиональному модулю предназначен
для оценки степени достижения запланированных результатов обучения по завершению
изучения
междисциплинарных
курсов
профессионального
модуля,
экзамена
(квалификационного) по завершению изучения профессионального модуля в целом.

Фонд оценочных средств разработан на основании:
1. ФГОС
СПО
09.02.07
программирование

Информационные

системы

и

2. Примерной основной образовательной программы по специальности
09.02.07 Информационные системы и программирование
3. Рабочей
программы
профессионального
модуля
ПМ.02
Осуществление интеграции программных модулей.
4. Учебного плана по специальности 09.02.07 Информационные
системы и программирование
5. Положения о формах, периодичности и порядке текущего контроля
успеваемости и промежуточной аттестации обучающихся
6. Положения о квалификационном экзамене
7. Шаблона фонда оценочных средств профессионального модуля

4

2. РЕЗУЛЬТАТЫ ОСВОЕНИЯ ПРОФЕССИОНАЛЬНОГО МОДУЛЯ, ПОДЛЕЖАЩИЕ
ПРОВЕРКЕ
Результатом в рамках освоения профессионального модуля ПМ.01 Разработка модулей
программного обеспечения для компьютерных систем является овладение студентами вида
профессиональной деятельности Разработка модулей программного обеспечения для
компьютерных систем, в том числе профессиональными (ПК) и общими (ОК) компетенциями:

Код

Наименование результата обучения

ПК 1.1

Формировать алгоритмы разработки программных модулей в соответствии с
техническим заданием

ПК 1.2

Разрабатывать программные модули в соответствии с техническим заданием

ПК 1.3

Выполнять отладку
программных
модулей
с
использованием специализированных программных средств

ПК 1.4

Выполнять тестирование программных модулей

ПК 1.5

Осуществлять рефакторинг и оптимизацию программного кода

ПК 1.6

Разрабатывать модули программного обеспечения для мобильных платформ

ОК 1

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

ОК 2

ОК 3

ОК 4
ОК 5

ОК 6
ОК 7

ОК 8

ОК 9

Осуществлять устную и письменную коммуникацию на государственном языке
Российской Федерации с учетом особенностей социального и культурного
контекста
Проявлять гражданскопатриотическую позицию, демонстрировать осознанное
поведение на основе традиционных общечеловеческих ценностей
Содействовать сохранению окружающей среды, ресурсосбережению, применять
знания об изменении климата, принципы бережливого производства,
эффективно действовать в чрезвычайных ситуациях.
Использовать средства физической культуры для сохранения и укрепления
здоровья в процессе профессиональной деятельности и поддержания
необходимого уровня физической подготовленности
Пользоваться профессиональной документацией на государственном и
иностранном языках.

5

В результате освоения профессионального модуля студент должен: иметь
практический опыт:
ПО1 в разработке кода программного продукта на основе готовой спецификации на уровне
модуля;
ПО2 в использовании инструментальных средств на этапе отладки программного продукта;
ПО3 в проведении тестирования программного модуля по определенному сценарию; ПО4 в
разработке мобильных приложений. уметь:
У1 осуществлять разработку кода программного модуля на языках низкого и высокого уровней;
У2 создавать программу по разработанному алгоритму как отдельный модуль;
У3 выполнять отладку и тестирование программы на уровне модуля;
У4

осуществлять
современных

разработку кода программного
языках программирования;

модуля

на

У5 уметь выполнять оптимизацию и рефакторинг программного кода;
У6 оформлять документацию на программные средства. знать:
З1 основные этапы разработки программного обеспечения;
З2
основные
принципы
технологии
ориентированного программирования;

структурного

и

объектно-

З3 способы оптимизации и приемы рефакторинга;
З4 основные принципы отладки и тестирования программных продуктов.

6

3. ОЦЕНКА УРОВНЕЙ ОСВОЕНИЯ ПРОФЕССИОНАЛЬНОГО МОДУЛЯ
Оценивание уровней сформированности профессиональных и общих компетенций
проводится в рамках текущего и промежуточного контроля.
В результате освоения профессионального модуля ПМ.01 Разработка модулей
программного обеспечения для компьютерных систем студенты демонстрируют три уровня
сформированности профессиональных компетенций: пороговый, базовый и повышенный.
Для каждого конкретного этапа формирования компетенции определены категории
«знать», «уметь», «практический опыт», в которые вкладывается следующий смысл:
«приобрести практический опыт» – решать усложненные задачи на основе
приобретенных умений и навыков, с их применением в профессиональных деятельности;
«уметь» – решать типичные задачи на основе воспроизведения стандартных алгоритмов
решения;
«знать» - воспроизводить и объяснять учебный материал с требуемой степенью научной
точности и полноты.
Наименование
Разделов, МДК, тем

1

Результаты
обучения коды
ПК, ОК
2

Приобретенный Уровень
практический
освоения
опыт, освоенные ПК, ОК
умения и знания
3

4

Формы и методы
контроля и оценки

5

Раздел 1. Разработка программных модулей

МДК.01.01 Разработка
программных модулей

ПК 1.1
ПК 1.2
ПК 1.4
ПК 1.5

ОК 1-ОК 9
ПК 1.1
Тема 1.1.1 Жизненный цикл
ПК 1.2
ПО
ОК 1-ОК 9
ПК 1.1
Тема 1.1.2 Структурное
ПК 1.2
программирование
ОК 1-ОК 9
ПК 1.1
Тема 1.1.3
Объектноориентированное
ПК 1.2
программирование
ОК 1-ОК 9
ПК 1.1
Тема 1.1.4 Паттерны
ПК 1.2
проектирования
ОК 1-ОК 9
ПК 1.1
Тема 1.1.5
Событийноуправляемое
ПК 1.2
программирование
ОК 1-ОК 9
ПК 1.4
Тема 1.1.6 Оптимизация и
ПК 1.5
рефакторинг кода

ПО1 ПО2 ПО3
У1 У2 У4 У5 У6
З1 З2 З3
ПО1
У6 З1

2,3

2,3

ПО1
У1 У2 У4
З1 З2

2,3

ПО1 У1
У2 У4
З1 З2

2,3

ПО1
У1 У2 У4
З1 З2

2,3

ПО1 У1
У2 У4
З1 З2

2,3

ПО2 ПО3
У4 У5 З3

оценка на
практических
занятиях;
оценка защиты
лабораторных
работ;
оценка
выполнения
индивидуального
задания; экзамен
по МДК
01.01

2,3

7

ОК 1-ОК 9

1.1.7 Разработка
пользовательского
интерфейса

ПК 1.2
ОК 1-ОК 9

Тема 1.1.8 Основы ADO.Net

ПК 1.1
ПК 1.2
ОК 1-ОК 9

ПО1
У1 У2 У4
З2
ПО1
У1 У2 У4
З2

2,3

2,3

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

ПК 1.2
МДК.01.02 Поддержка и ПК 1.3
тестирование
ПК 1.4
программных модулей
ОК 1-ОК 9
Тема 1.2.1 Отладка и ПК 1.3
тестирование программного ПК 1.4
обеспечения
ОК 1-ОК 9
1.2.2 Документирование

ПК 1.2
ОК 1-ОК 9

ПО2 ПО3
У3 У6
З1 З4

2,3

ПО2 ПО3
У3
З1 З4

2,3

У6
З1 З4

2,3

оценка на
практических
занятиях; оценка
защиты
лабораторных
работ; оценка
выполнения
индивидуального
задания; экзамен
по МДК
01.02

Раздел 3. Разработка мобильных приложений

ПК 1.1
ПК 1.2
МДК.01.03
Разработка ПК 1.3
мобильных приложений
ПК 1.4
ПК 1.6
ОК 1-ОК 9
Тема 1.3.1 Основные
платформы и языки
разработки мобильных
приложений

Тема 1.3.2 Создание и
тестирование модулей для
мобильных приложений

ПО1 ПО2 ПО3
ПО4
У1 У2 У3 У4
З1 З2 З4

2,3

ПК 1.6
ОК 1-ОК 9

ПО4
У4
З2

2,3

ПК 1.1
ПК 1.2
ПК 1.3
ПК 1.4
ПК 1.6

ПО1 ПО2 ПО3
ПО4
У1 У2 У3 У4
З1 З2 З4

2,3

оценка на
практических
занятиях; оценка
защиты
лабораторных
работ; оценка
выполнения
индивидуального
задания; экзамен
по МДК
01.03

ОК 1-ОК 9
Раздел 4. Системное программирование

МДК.01.04 Системное
программирование

ПК 1.1
ПК 1.2
ПК 1.3
ПК 1.4
ОК 1-ОК 9

ПО1 ПО2 ПО3
У1 У2 У3 У4
З1 З2 З4

2,3

оценка на
практических
занятиях; оценка
защиты
лабораторных
работ; оценка

8

ПК 1.1
ПК 1.2
Тема 1.4.1
Программирование на языке ПК 1.3
низкого уровня
ПК 1.4

ПО1 ПО2 ПО3
У1 У2 У3 У4
З1 З2 З4

2,3

выполнения
индивидуального
задания; экзамен
по МДК
01.04

ОК 1-ОК 9

4. МАТЕРИАЛЫ ДЛЯ ПРОВЕДЕНИЯ ПРОМЕЖУТОЧНОЙ АТТЕСТАЦИИ ПО
ПРОФЕССИОНАЛЬНОМУ МОДУЛЮ
4.1.
модулей

Типовые задания для оценки освоения МДК.01.01 Разработка программных

Примеры тестовых заданий для текущего контроля
1.Максимально возможная интеграция программных продуктов с другими программами,
обеспечение обмена данными в общих форматах представления (экспорт/импорт баз
данных, внедрение или связывание объектов обработки и др.) означает их...
a. модифицируемость
b. эффективность
c. мобильность
d. коммуникативность
2. Наличие дружественного интерфейса, контекстно-зависимой подсказки, хорошей
документации является таким показателем качества программного продукта, как ...
a. коммуникативность
b. эффективность
c. мобильность
d. учет человеческого фактора
3. В соответствии с ГОСТ 19.102-77 детальное описание действий в виде:
- постановки задачи,
- выбора критериев эффективности,
- проведения предварительных научно-исследовательских работ,
- разработки технического задания, определяет содержание этапа модели ЖЦ ...
a. Эскизный проект
b. Технический проект
c. Техническое задание
d. Рабочий проект
4. Наличие обратных связей между этапами жизненного цикла, определяющих
возможность проведения проверок и корректировок проектируемого ПС на каждой
стадии разработки, является основной особенностью ...
a. каскадной модели жизненного цикла
b. итерационной модели жизненного цикла
c. спиральной модели жизненного цикла ПО 18
d. модели жизненного цикла UML
5. Функционирование программного продукта в соответствии с техническим заданием
соответствует характеристике эксплуатационных требований ...
a. правильность
9

b. универсальность
c. надежность
d. адаптируемость
6. Обеспечение правильности результатов при наличии различного рода сбоев
соответствует характеристике эксплуатационных требований ...
a. правильность
b. универсальность
c. надежность
d. защищенность
7. Обеспечение погрешности результатов не выше заданной соответствует характеристике
эксплуатационных требований...
a. правильность
b. проверяемость
c. точность результатов
d. защищенность
8. Функциональная диаграмма имеет аббревиатуру ...
a. ERD
b. SADT
c. DFD
d. STD
9.Для описания основных (стандартных) типов данных на языке С++ определены
следующие ключевые слова...
a. int, char, bool, double, void
b. int, char, float, double, bool
c. int, wchar_t, float, double, char
10. При обращении к функции в соответствии с требованиями хорошего стиля
программирования рекомендуется (но не обязательно), чтобы ...
a. имена формальных и фактических параметров были различными
b. количество формальных параметров соответствовало количеству фактических параметров
c. типы формальных параметров соответствовали типам фактических параметров
d. порядок перечисления фактических параметров соответствовал порядку перечисления
формальных параметров
11. В объектно-ориентированной среде программирования обработчики любых событий
для компонентов размещаются в окне ...
a. Формы
b. Инспектора объектов
c. Кода
d. Дерева объектов
12. В объектно-ориентированной среде программирования к любому компоненту в
программе можно обратиться по его свойству ...
a. Caption
b. Text
c. Align
d. Name
13. Абстрактным называется класс, который ...
a. не содержит функций
b. не содержит переменных
10

c. содержит хотя бы одну виртуальную функцию
d. содержит хотя бы одну чисто виртуальную функцию
14. Модульное тестирование предполагает ...
a. тестирование минимально возможного для тестирования компонента, например, отдельного
класса или функции
b. поиск каких-либо проблем в интерфейсах и взаимодействии между компонентами программы
c. тестирование интегрированной системы на ее соответствие исходным требованиям
d. имитацию реальной работы с системой штатными разработчиками либо реальной работы с
системой потенциальными пользователями/заказчиком на стороне разработчика
15. Интеграционное тестирование предполагает ...
a. тестирование минимально возможного для тестирования компонента, например отдельного
класса или функции
b. поиск каких-либо проблем в интерфейсах и взаимодействии между компонентами программы
c. тестирование интегрированной системы на ее соответствие исходным требованиям
d. распространение версии с ограничениями (по функциональности или времени работы) для
некоторой группы лиц с тем, чтобы убедиться, что продукт содержит достаточно мало ошибок
16. Системное тестирование предполагает ...
a) поиск каких-либо проблем в интерфейсах и взаимодействии между компонентами программы
b) тестирование интегрированной системы на ее соответствие исходным требованиям
c) имитацию реальной работы с системой штатными разработчиками либо реальной работы с
системой потенциальными пользователями/заказчиком на стороне разработчика
d) распространение версии с ограничениями (по функциональности или времени работы) для
некоторой группы лиц с тем, чтобы убедиться, что продукт содержит достаточно мало ошибок
17. Альфа-тестирование предполагает ...
a) поиск каких-либо проблем в интерфейсах и взаимодействии между компонентами
программы
b) тестирование интегрированной системы на ее соответствие исходным требованиям
c) имитацию реальной работы с системой штатными разработчиками либо реальной работы с
системой потенциальными пользователями/заказчиком на стороне разработчика
d) распространение версии с ограничениями (по функциональности или времени работы) для
некоторой группы лиц с тем, чтобы убедиться, что продукт содержит достаточно мало ошибок
18. Бета-тестирование предполагает ...
a) поиск каких-либо проблем в интерфейсах и взаимодействии между компонентами программы
b) тестирование интегрированной системы на ее соответствие исходным требованиям
c) имитацию реальной работы с системой штатными разработчиками либо реальной работы с
системой потенциальными пользователями/заказчиком на стороне разработчика
d) распространение версии с ограничениями (по функциональности или времени работы) для
некоторой группы лиц с тем, чтобы убедиться, что продукт содержит достаточно мало ошибок
19.Видимость переменных и методов класса только в пределах данного модуля определяет
спецификатора доступа ...
a. private
b. protected
c. public
d. published
20. Видимость переменных и методов класса в любом месте программы определяет
спецификатора доступа ...
a. private
11

b. protected
c. public
d. published
21. Процесс, в ходе которого один объект может приобретать свойства другого,
называется...
a. наследование
b. инкапсуляция
c. полиморфизм
d. динамический полиморфизм
22. На основе наследования и виртуальных функций реализуется принцип ...
a. наследования
b. инкапсуляции
c. статического полиморфизма
d. динамического полиморфизма
23. В приведѐнном коде измените или добавьте один символ чтобы код

напечатал 20 звѐздочек - *.
int i, N = 20;
for(i = 0; i < N; i--)
printf("*");
a) int i, N = 40;for(i = 0; i < N; i--) printf("*");
b)
int i, N = 20;for(i = 0; i < N; N--) printf("*");
c) int i, N = 20;for(i = 20; i < N; i--) printf("*");
d) int i, N = 20;for(i = 19; i < N; i--) printf("*");
24.Какой индекс имеет последний элемент массива A[6]?
a. int A[6];
b. int A[7];
c. int A[5];
d. int A[0];
25.Какими знаками заканчивается большинство строк кода в С++?
a): (двоеточие);
b) . (точка);
c) ; (точка с запятой);
d), (запятая)
26.Какой из перечисленных типов данных не является типом данных в С++?
a)real;
b) int;
c)double;
d) float
27.Какая из следующих записей - правильный комментарий в С++?
a)*/ Комментарии */ ;
b){комментарий};
c)** Комментарий **;
d)/* комментарий */
28. Что будет напечатано на экране, после выполнения этого кода?
#include 
int foo(int x, int y)
{
return x+y;
}
double foo(double x, double y)
{
return x+y;
12

}
int main(int argc, char** argv)
{
double (*ptr)(int, int);
ptr = foo;
std::cout << ptr(3,8) << std::endl;
return 0;
}
3
11
ошибка компиляции
8

a.
b.
c.
d.
29. Что будет напечатано на экране, после выполнения этого кода?
#include 
int foo(int y);
int foo(int x)
{
return x+1;
}
int main(int argc, char** argv)
{
int x = 3;
int y = 6;
std::cout << foo(x) << std::endl;
return 0;
}
a. 4
b. ошибка компиляции
c. 3
d. 9
30. Класс - это:
a) любой тип данных, определяемый пользователем
b) тип данных, определяемый пользователем и сочетающий в себе данные и функции их
обработки
c) структура, для которой в программе имеются функции работы с нею
31.Членами класса могут быть?
a) как переменные, так и функции, могут быть объявлены как private и как public
b) только переменные, объявленные как private
c) только функции, объявленные как private
d) только переменные и функции, объявленные как private
e) только переменные и функции, объявленные как public
32. Что называется конструктором?
a) метод, имя которого совпадает с именем класса и который вызывается автоматически при
создании объекта класса
b) метод, имя которого совпадает с именем класса и который вызывается автоматически при
объявлении класса (до создания объекта класса)
c) метод, имя которого необязательно совпадает с именем класса и который вызывается при
создании объекта класса
d) метод, имя которого совпадает с именем класса и который необходимо явно вызывать из
головной программы при объявлении объекта класса
33.Объект - это
a) переменная, содержащая указатель на класс
b) экземпляр класса
c) класс, который содержит в себе данные и методы их обработки
13

34. Отметьте правильные утверждения
a) конструкторы класса не наследуются
b) конструкторов класса может быть несколько, их синтаксис определяется программистом
c) конструкторов класса может быть несколько, но их синтаксис должен подчиняться правилам
перегрузки функций
d) конструктор возвращает указатель на объект
e) конструктор не возвращает значение
35. Что называется наследованием?
a) это механизм, посредством которого производный класс получает элементы родительского и
может дополнять либо изменять их свойства и методы
b)это механизм переопределения методов базового класса
c)это механизм, посредством которого производный класс получает все поля базового класса
d)это механизм, посредством которого производный класс получает элементы родительского,
может их дополнить, но не может переопределить
36. Выберите правильные утверждения:
a)если элементы класса объявлены как private, то они доступны только наследникам класса, но
не внешним функциям
b) если элементы класса объявлены как private, то они недоступны ни наследникам класса, ни
внешним функциям
c)если элементы объявлены как public, то они доступны наследникам класса, но не внешним
функциям
d) если элементы объявлены как public, то они доступны и наследникам класса, и внешним
функциям
37. Возможность и способ обращения производного класса к элементам базового
определяется
a) ключами доступа: private, public, protected в теле производного класса
b) только ключом доступа protected в заголовке объявления производного класса
c) ключами доступа: private, public, protected в заголовке объявления производного класса
d)ключами доступа: private, public, protected в теле базового класса
38. Шаблон функции - это...
a)определение функции, в которой типу обрабатываемых данных присвоено условное
обозначение
b) прототип функции, в котором вместо имен параметров указан условный тип
c)определение функции, в котором указаны возможные варианты типов обрабатываемых
параметров
d)определение функции, в котором в прототипе указан условный тип, а в определении указаны
варианты типов обрабатываемых параметров
39. Выберите правильные утверждения:
a) по умолчанию члены класса имеют атрибут private
b) по умолчанию члены класса имеют атрибут public;
c)члены класса имеют доступ только к элементам public;
d)элементы класса с атрибутом private доступны только членам класса
40. Переопределение операций имеет вид:
a)имя_класса, ключевое слово operation, символ операции
b) имя_класса, ключевое слово operator, символ операции, в круглых скобках могут быть
указаны аргументы
c)имя_класса, ключевое слово operator, список аргументов
d) имя_класса, два двоеточия, ключевое слово operator, символ операции
41. Полиморфизм – это :
a)средство, позволяющее использовать одно имя для обозначения действий, общих для
родственных классов;
b)средство, позволяющее в одном классе использовать методы с одинаковыми именами;
c)средство, позволяющее в одном классе использовать методы с разными именами для
выполнения одинаковых действий
14

d) средство, позволяющее перегружать функции для работы с разными типами или разным
количеством аргументов.
42. Полиморфизм реализован через механизмы:
a) перегрузки функций, виртуальных функций, шаблонов
b) перегрузки функций, наследования методов, шаблонов;
c) наследования методов, виртуальных функций, шаблонов
d) перегрузки функций, наследования, виртуальных функций.
43.Без какой библиотеки не будет работать ввод/вывод данных?
a)math;
b)random;
c) iostream:
d)string;
44.какая команда используется для ввода/вывода данных в C++?
a)readln /Writeln ;
b)cin/cout;
c) alert/ prompt
Вопросы для подготовки к экзамену/зачѐту
1. Трехслойная клиент-серверная архитектура
2. Основные элементы HTML
3. Основные теги HTML
4. Форматирование текста в HTML. Символьные элементы
5. Гиперссылки в HTML
6. Фреймы в HTML
7. Таблицы в HTML. Атрибуты таблиц и ячеек
8. Таблицы в HTML. Объединение ячеек таблиц
9. Списки в HTML. Упорядоченные и неупорядоченные списки
10. Формы в HTML. Основные элементы форм. Атрибуты форм
11. Графические возможности HTML
12. Карты изображений в HTML
13. Каскадные таблицы стилей и их подключение к HTML-документу
14. Структура документа c PHP-скриптом. Включение PHP в HTML
15. Переменные и константы в PHP
16. Типы данных PHP. Преобразование типов 17. Операторы PHP. Приоритет операторов
18.

Вывод контента в PHP.

19.

Функции даты и времени в PHP

20.

Строки в PHP. Функции работы со строками

21.

Условный оператор в PHP

22.

Оператор выбора в PHP

23.

Циклы с заданным числом повторений в PHP

24.

Циклы с предусловием и постусловием в PHP

25.

Функции в PHP. Повторное использование кода

26.

Массивы в PHP. Массивы с числовыми индексами и ассоциативные массивы

27.

Массивы в PHP. Функции для работы с массивами
15

28.

Обработка форм в PHP

29.

Основные понятия JavaScript, структура программы, поддержка браузерами

30.

Вывод результатов работы программы и ввод данных в JavaScript.

31.

Переменные и типы данных JavaScript

32.

Операторы JavaScript. Приоритет выполнения операторов

33.

Типы данных JavaScript, преобразование типов данных

34.

Массивы в JavaScript. Назначение массивов, объявление и инициализация
массивов

35.

Пользовательские функции JavaScript. Расположение функций внутри HTML-кода

36.

Оператор ветвления в JavaScript

37.

Оператор выбора JavaScript

38.

Многократное выполнение блоков кода. Цикл с заданным числом повторений в
JavaScript

39.

Циклы с предусловием и постусловием в JavaScript

40.

Встроенный класс Global в JavaScript. Основные функции и примеры
использования

41.

Встроенный класс Number в JavaScript. Работа с числами

42.

Встроенный класс String в JavaScript. Обработка строк

43.

Встроенный класс Array в JavaScript. Работа с массивами

44.

Встроенный класс Math в JavaScript. Использование математических функций

45.

Встроенный класс Date в JavaScript. Работа с датой и временем

46.

События в JavaScript. Определение событий, обработчики событий. События
мыши, пример использования

47.

События в JavaScript. Определение событий, обработчики событий. События
документа, пример использования

48.

События в JavaScript. Определение событий, обработчики событий. События
формы, пример использования.

49.

События в JavaScript. Написание обработчиков событий, примеры

50.

События в JavaScript. Объект event

51.

Объектная модель документа DOM. Функции для работы с объектной моделью
документа

52.

Доступ к значениям элементов форм в JavaScript

53.

Описание среды программирования на C++

54.

Структура программы на языке C++

55.

Понятие алгоритма. Свойства алгоритмов

56.

Базовые структуры алгоритмов. Способы описания алгоритмов

57.

Переменные и константы в языке C++

58.

Типы данных в языке C++. Явное и неявное преобразование типов

59.

Операции в языке C++

60.

Математические функции в языке C++. Примеры использования математических
функций
16

61.

Условный оператор в языке C++. Назначение. Формат записи, блок-схема.
Примеры

62.

Оператор выбора в языке C++. Назначение. Формат записи, блок-схема. Примеры

63.

Циклы с условием в языке C++. Назначение. Формат записи, блок-схема. Примеры

64.

Циклы с заданным числом повторений в языке C++. Назначение. Формат записи,
блоксхема. Примеры

65.

Операторы передачи управления в языках высокого уровня.

66.

Алгоритм нахождения суммы ряда с заданной точностью. Блок-схема алгоритма и
реализация на языках высокого уровня

67.

Нахождение корней уравнения методом половинного деления. Блок-схема
алгоритма и реализация на языках высокого уровня

68.

Нахождение корней уравнения методом хорд. Блок-схема алгоритма и реализация
на языках высокого уровня

69.

Вычисление определенного интеграла методом прямоугольников. Блок-схема
алгоритма и реализация на языках высокого уровня

70.

Вычисление определенного интеграла методом трапеций. Блок-схема алгоритма и
реализация на языках высокого уровня

71.

Одномерные массивы. Объявление и инициализация одномерных массивов

72.

Случайные и псевдослучайные числа. Генерация псевдослучайных чисел в языках
высокого уровня

73.

Получение и изменение значений элементов массива. Перебор элементов массива

74.

Матрицы. Объявление и инициализация матриц

75.

Получение и изменение значений элементов матрицы. Перебор элементов
матрицы

76.

Нахождение минимального и максимального элемента массива. Блок-схема
алгоритма и реализация в языках высокого уровня

77.

Нахождение суммы элементов массива. Блок-схема алгоритма и реализация на
языках высокого уровня

78.

Сортировка массивов методом нахождения максимального элемента

79.

Сортировка массивов методом «пузырька»

80.

Указатели и операции над указателями. Выражения и арифметические действия с
указателями

81.

Взаимосвязь между указателями и массивами

82.

Динамические массивы

83.

Объявление и инициализация строк. Доступ к символам строки. Перебор
символов строки

84.

Основные функции для работы со строками

85.

Пользовательские функции в языках высокого уровня. Объявление, определение и
вызов функций

86.

Пользовательские функции в языке языках высокого уровня. Расположение
объявления и определения функций. Заголовочные файлы

87.

Пользовательские функции в языках высокого уровня. Способы передачи
параметров в функцию
17

88.

Пользовательские функции в языках высокого уровня. Передача массивов в
функции

89.

Пользовательские функции в языках высокого уровня.Статические переменные

90.

Пользовательские функции в языках высокого уровня. Рекурсия

91.

Работа с файлами в языках высокого уровня. Открытие и закрытие файла

92.

Работа с файлами в языках высокого уровня. Запись в файл и чтение из файла

93.

Структуры. Объявление и инициализация структур

94.

Структуры. Доступ к элементам структур

95.

Структуры. Массивы структур

96.

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

97.

Функции для работы с динамической памятью

98.

Динамические структуры данных. Классификация динамических структур

99.

Динамические структуры данных. Объявление динамических структур

100.

Динамические структуры данных. Доступ к данным в динамических структурах

101.

Динамические структуры данных. Работа с памятью при использовании
динамических структур

102.

Однонаправленные
списки.
однонаправленным списком

103.

Однонаправленные списки. Создание и просмотр однонаправленного списка

104.

Однонаправленные списки. Вставка элемента в однонаправленный список

105.

Однонаправленный список. Удаление элемента из однонаправленного списка

106.

Однонаправленный список. Поиск элемента в однонаправленном списке

107.

Стек. Определение, основные операции со стеком

108.

Очередь. Определение, основные операции с очередью

109.

Основные понятия объектно-ориентированного программирования

110.

Классы и объекты. Объявление классов в языках высокого уровня

111.

Классы и объекты. Объявление и определение атрибутов и методов

112.

Классы и объекты. Конструкторы и деструкторы

113.

Классы и объекты. Статические атрибуты и методы

114.

Динамическое создание объектов. Указатели на объекты

115.

Наследование. Множественное наследование

116.

Виртуальные методы

117.

Абстрактные методы и классы

118.

Перегрузка операций

119.

Платформа Microsoft .NET. Структура платформы

120.

Платформа Microsoft .NET. Выполнение программы в .NET

121.

Основные принципы объектно-ориентированного программирования

122.

Среда Visual Studio .NET. Типы создаваемых проектов. Основные окна программы

Определение,

основные

операции

с

Примеры практических заданий
18

1. Создать форму для ввода массива и кнопкой «Перемешать». При нажатии на кнопку

элементы массива перемешиваются
2. Палиндромом называют последовательность символов, которая читается как слева
направо, так и справа налево. Создать web-форму для ввода строки и кнопкой, при
нажатии на которую определяется, является ли введенная строка палиндромом
3. Создать web-форму с двумя полями для ввода чисел и выбором операции (+, -, *, /).

Вычислить соответствующее выражение и вывести результат в браузер
4. Найти наибольшее из трех чисел, введенных пользователем в форму
5. Написать

программу нахождения синуса и косинуса
осуществляется с помощью переключателя
6. Средствами PHP вывести время и дату на странице

угла,

выбор

действия

7. Создать web-форму для ввода строки и кнопкой, при нажатии на которую строка
8.
9.

10.

11.

12.

13.

14.

переворачивается и выводится в браузер
Написать программу, которая для введенной строки подсчитывает сумму всех
содержащихся в ней цифр
Создать класс Point, разработав следующие элементы класса: поля (x, y); конструкторы,
позволяющие создать экземпляр класса с нулевыми координатами или с заданными
координатами; методы, позволяющие вывести координаты точки на экран, рассчитать
расстояние от начала координат до точки, переместить точку на плоскости на вектор (a,
b); свойства для получения-установки координаты точки (доступное для чтения и
записи), для умножения координаты точки на скаляр (доступное только для записи)
Создать класс Triangle, разработав следующие элементы класса: поля (a, b, c);
конструктор, позволяющий создать экземпляр класса с заданными длинами сторон;
методы, позволяющие вывести длины сторон треугольника на экран, рассчитать
периметр треугольника, рассчитать
площадь
треугольника;
свойства
для
полученияустановки длин сторон треугольника (доступное для чтения и записи), для
определения, существует ли треугольник с данными длинами сторон (доступное только
для чтения)
Создать класс Rectangle, разработав следующие элементы класса: поля (a, b);
конструктор, позволяющий создать экземпляр класса с заданными длинами сторон;
методы, позволяющие вывести длины сторон прямоугольника на экран, рассчитать
периметр прямоугольника, рассчитать площадь прямоугольника; свойства для
получения-установки длин сторон прямоугольника (доступное для чтения и записи), для
определения, является ли данный прямоугольник квадратом (доступное только для
чтения)
Создать класс Round, разработав следующие элементы класса: поля (r); конструктор,
позволяющий создать экземпляр класса с заданным радиусом; методы, позволяющие
рассчитать длину окружности, рассчитать площадь круга; свойства для
полученияустановки радиуса круга (доступное для чтения и записи)
Создать абстрактный класс Figure с методами вычисления площади и периметра, а также
методом, выводящим информацию о фигуре на экран. Создать производные классы:
Triangle (треугольник), Circle (круг) со своими методами вычисления площади и
периметра. Создать массив n фигур и вывести полную информацию о фигурах на экран
Посчитать сумму элементов побочной диагонали квадратной матрицы

19

15. Найти среднее арифметическое положительных элементов одномерного массива.

Количество элементов массива вводится пользователем, массив заполняется случайными
числами
16. Посчитать в строке количество цифр. Строка вводится пользователем с клавиатуры
17. Создать форму Windows. Программа должна предоставлять возможность менять цвет

фона формы
18. Создать Windows-приложение, демонстрирующее работу с модальными и немодальными

окнами
19. Написать программу на языке C++, которая считает сумму элементов одномерного
массива, не используя операцию индексирования [].
20. Написать программу на языках высокого уровня ,демонстрирующую способы передачи

параметров в функции
21. Написать рекурсивную функцию для нахождения факториала числа
22. Написать программу на языках высокого уровня для подсчета суммы элементов

одномерного массива. Размерность массива вводится пользователем с клавиатуры
23. Написать программу, демонстрирующую возможность создания односвязного списка и
добавления элемента в список
24. Написать программу, демонстрирующую возможность создания стека и добавления

элемента в любое место стека
25. Создать класс «Прямоугольник», который имеет два конструктора. Первый конструктор

принимает в качестве параметров длину и ширину. Второй конструктор создает квадрат с
заданной стороной
26. Написать программу, демонстрирующую работу с абстрактными классами
27. Создать функцию на языках высокого уровня, подсчитывающую сумму элементов

массива. Массив передается как параметр в функцию
28. Написать программу для нахождения максимально элемента матрицы.
29. Написать программу для сортировки массива методом пузырька.
30. Написать программу для нахождения корней квадратного уравнения ax2+bx+c=0.

Коэффициенты a, b, c вводятся пользователем
4.2. Типовые задания для оценки освоения МДК.01.02 Поддержка и тестирование
программных модулей
1. Отметьте все правильные утверждения о массивах в языке C++
a) элементы массива могут быть разных типов;
b) все элементы массива должны быть одного типа;
c)элементы в памяти расположены рядом;
d)элементы могут быть расположены в памяти по одному;
e) элементы всегда нумеруются с нуля.
2.Какой индекс имеет последний элемент массива A?
int A[6];
3Какими знаками заканчивается большинство строк кода в С++?
a): (двоеточие); b) . (точка); c) ; (точка с запятой); d), (запятая)
4.Какой из перечисленных типов данных не является типом данных в С++?
a)real; b) int; c)double; d) float
5.Какая из следующих записей - правильный комментарий в С++?
20

a)*/ Комментарии */ ; b){комментарий}; c)** Комментарий **;
d)/* комментарий */
6.Оператор ввода cin может задавать ввод нескольких переменных в одной команде,
используя следующий синтаксис:
a)cin » <переменная1> » <переменная2>…;
b)cin » <переменная1>,<переменная2>,…;
c)» <переменная1> » <переменная2> » endl »…;
d)Все ответы верны
7.Результат выполнения следующего фрагмента кода: cout << 22 / 5 * 3;
a)13.2; b)другое; c)1; d)1.47; e)12.
8. Класс - это:
a) любой тип данных, определяемый пользователем
b) тип данных, определяемый пользователем и сочетающий в себе данные и функции их
обработки
c) структура, для которой в программе имеются функции работы с нею
9.Членами класса могут быть?
a) как переменные, так и функции, могут быть объявлены как private и как public
b) только переменные, объявленные как private
c) только функции, объявленные как private
d) только переменные и функции, объявленные как private
e) только переменные и функции, объявленные как public
10. Что называется конструктором?
a) метод, имя которого совпадает с именем класса и который вызывается автоматически при
создании объекта класса
b) метод, имя которого совпадает с именем класса и который вызывается автоматически при
объявлении класса (до создания объекта класса)
c) метод, имя которого необязательно совпадает с именем класса и который вызывается при
создании объекта класса
d) метод, имя которого совпадает с именем класса и который необходимо явно вызывать из
головной программы при объявлении объекта класса
11.Объект - это
a) переменная, содержащая указатель на класс
b) экземпляр класса
c) класс, который содержит в себе данные и методы их обработки
12. Отметьте правильные утверждения
a)конструкторы класса не наследуются
b)конструкторов класса может быть несколько, их синтаксис определяется программистом
c) конструкторов класса может быть несколько, но их синтаксис должен подчиняться правилам
перегрузки функций
d) конструктор возвращает указатель на объект
e) конструктор не возвращает значение
13. Что называется наследованием?
a) это механизм, посредством которого производный класс получает элементы родительского и
может дополнять либо изменять их свойства и методы
b)это механизм переопределения методов базового класса
c)это механизм, посредством которого производный класс получает все поля базового класса
d)это механизм, посредством которого производный класс получает элементы родительского,
может их дополнить, но не может переопределить
14. Выберите правильные утверждения:
a)если элементы класса объявлены как private, то они доступны только наследникам класса, но
не внешним функциям
b) если элементы класса объявлены как private, то они недоступны ни наследникам класса, ни
внешним функциям
21

c)если элементы объявлены как public, то они доступны наследникам класса, но не внешним
функциям
d) если элементы объявлены как public, то они доступны и наследникам класса, и внешним
функциям
15. Возможность и способ обращения производного класса к элементам базового
определяется
a) ключами доступа: private, public, protected в теле производного класса
b) только ключом доступа protected в заголовке объявления производного класса
c) ключами доступа: private, public, protected в заголовке объявления производного класса
d)ключами доступа: private, public, protected в теле базового класса
16. Шаблон функции - это...
a)определение функции, в которой типу обрабатываемых данных присвоено условное
обозначение
b) прототип функции, в котором вместо имен параметров указан условный тип
c)определение функции, в котором указаны возможные варианты типов обрабатываемых
параметров
d)определение функции, в котором в прототипе указан условный тип, а в определении указаны
варианты типов обрабатываемых параметров
17. Выберите правильные утверждения:
a) по умолчанию члены класса имеют атрибут private
b) по умолчанию члены класса имеют атрибут public;
c)члены класса имеют доступ только к элементам public;
d)элементы класса с атрибутом private доступны только членам класса
18. Переопределение операций имеет вид:
a)имя_класса, ключевое слово operation, символ операции
b) имя_класса, ключевое слово operator, символ операции, в круглых скобках могут быть
указаны аргументы
c)имя_класса, ключевое слово operator, список аргументов
d) имя_класса, два двоеточия, ключевое слово operator, символ операции
19. Полиморфизм – это :
a)средство, позволяющее использовать одно имя для обозначения действий, общих для
родственных классов;
b)средство, позволяющее в одном классе использовать методы с одинаковыми именами;
c)средство, позволяющее в одном классе использовать методы с разными именами для
выполнения одинаковых действий
d) средство, позволяющее перегружать функции для работы с разными типами или разным
количеством аргументов.
20. Полиморфизм реализован через механизмы:
a) перегрузки функций, виртуальных функций, шаблонов
b) перегрузки функций, наследования методов, шаблонов;
c) наследования методов, виртуальных функций, шаблонов
d) перегрузки функций, наследования, виртуальных функций.
21.Без какой библиотеки не будет работать ввод/вывод данных?
a)math;
b)random;
c) iostream:
d)string;
22.какая команда используется для ввода/вывода данных в C++?
a)readln /Writeln ;
b)cin/cout;
c) alert/ prompt
22

Вопросы для подготовки к экзамену/зачѐту
1. Валидация(аттестация) и верификация
2. Общие вопросы верификации ПО. Цели и задачи верификации ПО
3. Статические и динамические методы верификации ПО
4. Факторы и атрибуты внешнего и внутреннего качества ПО
5. Виды и методы тестирования. Смоук-тестирование, регрессионное тестирование,
тестирование белого и черного ящиков
6. Тестирование нефункциональных требований
7. Взаимосвязь разработки и тестирования. V-модель разработки ПО.
8. Уровни тестирования. Модульное (unit), интеграционное (integration),
9. Системное (system), приемочное (acceptance) тестирование.
10. Техники тест дизайна. Разбиение на классы эквивалентности и тестирование граничных
значений.
11. Понятие дефекта. Основные определения и классификация дефектов.
12. Описание дефектов
13. Атрибуты дефектов. Приоритет(priority) и серьезность(severity) дефектов 14.
Определение серьезности дефекта по его описанию — практическое задание 15.
Версионирование ПО на разных стадиях разработки.
16. Инструментальные средства поддержки тестирования. Системы отслеживания ошибок
(Bug Tracking Systems)
17. Артефакты разработки ПО, относящиеся к тестированию. Тест-кейсы (test cases)
18. Артефакты разработки ПО, относящиеся к тестированию. План тестирования (test plan).
4.3. Типовые задания для оценки освоения МДК.01.03 Разработка мобильных
приложений
Вопросы для подготовки к экзамену/зачѐту 1.
Понятие защищенной информационной системы.
2. Свойства защищенной ОС.
3. Безопасность информационных систем в нормативных документах.
4. Классификация защищенности ОС по международным стандартам.
5. Политика безопасности, формальное представление политик.
6. Классификация изъянов защиты.
7. Категории изъянов защиты в ОС.
8. Мобильное программирование, платформы для разработки.
9. Основы работы с сенсорным вводом. Обработка нескольких касаний. Использование
изображений.
10. Акселерометр и служба определения местоположения, вторичные потоки выполнения,
обработка асинхронных операций и доступ к Веб-сервисам.
11. Особенности использования pivot и panorama.
12. Краткая история ОС Android.
23

13. Intel для Android: партнерство и инструментарий разработчика.
14. Архитектура приложений для Android. Ресурсы приложения. Пользовательский
интерфейс. Инструментарий разработки приложений для Android.
15. Обзор шагов разработки типичного приложения под Android. Особенности разработки с
использованием эмулятора. Отладка кода в эмуляторе и на реальных приложенийах.
Пример простейших программ Android-приложения. Запуск приложения на эмуляторе.
16. Тестирование приложения с помощью Dalvik Debug Monitor Server (DDMS).
17. Планирование покадровой анимации, анимирование, анимация шаблонов, видов,
использование класса Camera.
18. Проверка безопасности, работа со службами, основанными на местоположении,
использование HTTP-служб, службы AIDL.
19. Подготовка AndroidManifest.xml для закачки, локализация приложения, подготовка
ярлыка приложения, подготовка APK-файла для закачки, работа пользователя с Android
Market.
20. Работа с инструментами Intel для оптимизации отладки Android-приложений

Примеры тестовых заданий для текущего контроля МДК 01.03. Разработка
мобильных приложений
1. Ядро какой операционной системы использовалось в качестве базы для ОС Android?
(a) Linux
(b) OS/2
(c) Mac OS
(d) Windows

2. Большинство приложений для Android написано на языке программирования
(a) C++
(b) C#
(c) Java
(d) JavaScript

3. Какая графическая библиотека входит в набор библиотек ОС Android?
(a) OpenCV
(b) DirectX
(c) OpenCL
(d) Open GL

24

4. Приложения, не имеющие GUI и выполняющиеся в фоновом режиме – это
(a) Services
(b) Intents
(c) Content Providers
(d) Activities

5. Какая папка в структуре Android-приложения содержит файлы с исходным кодом на языке
Java?
(a) gen
(b) src
(c) bin
(d) res

6. Приложение какого вида имеет смысл использовать для отображения динамической
информации, такой как заряд батареи, прогноз погоды, дата и время?
(a) фоновое приложение
(b) приложение переднего плана
(c) виджет
(d) смешанное приложение

7. Что находится в папке gen?
(a) ресурсы приложения
(b) аудио файлы
(c) изображения
(d) автоматически сгенерированные java-файлы

8. При загрузке приложения первой появляется активность,
(a) чье описание является первым в лексикографическим порядке
(b) чье описание находится первым в манифесте
(c) чье описание находится последним в манифесте
25

(d) правильный вариант ответа отсутствует

9. При проектировании окон приложения необходимо:
(a) интегрировать в рабочее пространство инструменты, используемые наиболее часто
(b) для каждой функции делать отдельное диалоговое окно
(c) все вышеперечисленное
(d) позволять диалоговому окну оперировать только с одной функцией

10. Какой вид компоновки определяет табличный способ расположения компонентов
графического интерфейса пользователя в приложениях под Android?
(a) RowLayout
(b) TableLayout
(c) GridBagLayout
(d) GridLayout

11. Какой метод вызывается системой в случае, когда активность теряет фокус?
(a) onPause()
(b) onRestart()
(c) onDestroy()
(d) onStop()

12. Какой движок баз данных используется в ОС Android?
(a) InnoDB
(b) DBM
(c) MyISAM
(d) SQLite

26

13. Какой класс является основным строительным блоком для компонентов пользовательского
интерфейса (UI), определяет прямоугольную область экрана и отвечает за прорисовку и
обработку событий?
(a) GUI
(b) UIComponent
(c) View
(d) Widget

14. Каждый приемник широковещательных сообщений является наследником класса ...
(a) ContentProvider
(b) BroadcastReceiver
(c) ViewReceiver
(d) IntentReceiver

15. Какой компонент управляет распределенным множеством данных приложения?
(a) сервис (Service)
(b) активность (Activity)
(c) приемник широковещательных сообщений (Broadcast Receiver)
(d) контент-провайдер (Content Provider)

16. Какой метод запускает новую активность?
(a) startActivity()
(b) beginActivity()
(c) intentActivity()
(d) newActivity()

17. Что необходимо сделать при добавлении в проект новой активности?
(a) скачать и установить специальный инструмент MultiActivity SDK
(b) прописать в манифесте информацию о новой активности
(c) создать новый проект
(d) запустить эмулятор
27

18. При настройке обратной совместимости необходимо добавить в файл манифеста
следующую информацию:
(a) только минимальную версии Android SDK
(b) только основную (целевую) версии Android SDK
(c) минимальную и основную (целевую) версии Android SDK
(d) информацию о подключенной библиотеке

19. С помощью какого класса можно создавать всплывающие сообщения ?
(a) PopUp
(b) Messages
(c) Help
(d) Toast

20. Какова главная проблема при проектировании интерфейсов для мобильных устройств?
(a) небольшой размер экрана
(b) плохая цветопередача экрана
(c) энергопотребление
(d) низкая контрастность экрана

Ответы

1. a) 2. c) 3. d) 4. a) 5. b) 6. c) 7. d) 8. b) 9. a) 10. b) 11. a) 12. d) 13. c)
14. b) 15. d) 16. a) 17. b) 18. c) 19. d) 20. a)

Примеры практических заданий
МДК 01-03. Разработка мобильных приложений
Веб-приложения являются простым частным случаем мобильных приложений, которые
запускаются в браузере. Были рассмотрены следующие примеры программ на языке HTML с
фрагментами на JavaScript.

28

1. Вводятся 3 целых числа и вычисляется минимальное из них и средняя величина.


Нахождение среднего










2. Вводятся целые числа в одну строку через пробел и вычисляется минимальное из них и средняя величина. 29 Нахождение среднего



30 Введение в язык Java. Для проведения практических занятий и написания приложений на Android, так же как и для работы с уже написанными кодами необходимо знание основ языка Java. Следующие примеры программ на языке Java помогают понять различные элементы синтаксиса языка и создают лишь настольные приложения (на ПК), которые напрямую нельзя превратить в мобильные. Рассматривались следующие примеры с запуском, тестированием, синтаксическим анализом программ. Можно использовать различные IDE (как Visual Studio), так и компилятор javac в режиме командной строки ля запуска программ. 1. Работа со строками, циклом for и выводом в Java. public class Welcome { public static void main (String[ ] args) { String[] greeting = new String[3]; greeting[0] = "Welcome to Core Java"; greeting[1] = "by Cay Hortsmann"; greeting[2] = "and Gary Cornell"; for (String g : greeting) System.out.println(g); } } 2. Работа со строками и заменой в них, с вводом-выводом в Java. import java.io.*; import java.util.*; public class WordExchange{ public static void main(String[] args)throws IOException{ BufferedReader br=new BufferedReader(new InputStreamReader(System.in, "CP866")); String s, w1, w2; int i=0; System.out.print("Enter the sentence: "); s=br.readLine(); 31 System.out.print("Enter word for search:"); w1=br.readLine(); System.out.print("Enter word for replacement:"); w2=br.readLine(); //первый вариант i=s.indexOf(w1); //Находим номер символа в строке s //с которого подстрока w1 //входит //в строку s. (-1 если такой нет). if(i != -1){ s=s.substring(0,i)+w2+s.substring(i+w1.length()); } //второй вариант s=s.replaceFirst(w1,w2); // System.out.println("Resulting sentence is: "+s); } } 3. Работа с классами, изображениями и окнами в Java. import java.awt.EventQueue; import java.awt.event.*; import java.io.*; import javax.swing.*; /** * Программа для просмотра изображений */ public class ImageViewer { public static void main(String[ ] args) { EventQueue.invokeLater (new Runnable ( ) { public void run() { JFrame frame = new ImageViewerFrame ( ) ; frame.setTitle ("ImageViewer"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible (true); 32 } } ); } } /** * Фрейм с текстовой меткой для вывода изображения. */ class ImageViewerFrame extends JFrame { private JLabel label; private JFileChooser chooser; private static final int DEFAULT_WIDTH = 300; private static final int DEFAULT_HEIGHT = 400; public ImageViewerFrame ( ) { setSize (DEFAULT_WIDTH, DEFAULT_HEIGHT) ; // использовать метку для вывода изображений на экран label = new JLabel(); add(label); // установить селектор файлов chooser = new JFileChooser () ; chooser.setCurrentDirectory (new File(".") ) ; // установить строку меню JMenuBar menuBar = new JMenuBar(); setJMenuBar(menuBar) ; JMenu menu = new JMenu ("File"); menuBar.add(menu); JMenuItem openItem = new JMenuItem("Open"); menu.add(openItem); openItem.addActionListener (new ActionListener ( ) { public void actionPerformed(ActionEvent event) { // отобразить диалоговое окно селектора файлов int result = chooser.showOpenDialog(null); 33 // если файл выбран, задать его в качестве пиктограммы для метки if (result == JFileChooser.APPROVE_OPTION) { String name = chooser.getSelectedFile () .getPath(); label.setIcon(new ImageIcon(name) ) ; } } }); JMenuItem exitItem = new JMenuItem("Exit"); menu.add(exitItem); exitItem.addActionListener (new ActionListener () { public void actionPerformed(ActionEvent event) { System.exit (0); } }); } } 4. Ввод-вывод и арифметика в Java. import java.util.Scanner;// импортируем класс Scanner public class Main {// объявляется класс Main public static void main(String[] args) {// так включаются программы, Scanner sc = new Scanner(System.in); System.out.println("Введите число:"); int a = sc.nextInt(); sc.close(); System.out.println("Квадрат числа:" + (a * a)); } } 5. Ввод-вывод и арифметика в Java. 34 import java.util.Scanner;// импортируем класс Scanner public class Main {// объявляется класс Main public static void main(String[] args) {// так включаются программы, Scanner sc = new Scanner(System.in); System.out.println("Введите число:"); int a = -sc.nextInt(); sc.close(); System.out.println("Обратное число:" + a); } } 6. Ввод-вывод и арифметика в Java. import java.util.Scanner; // импортируем класс Scanner public class Main { // объявляется класс Main public static void main(String[] args) {// так включаются программы, Scanner sc = new Scanner(System.in); System.out.println("Введите число:"); int a = sc.nextInt(); System.out.println("Введите число:"); int b = sc.nextInt(); sc.close(); System.out.println("Разность:" + (a - b)); } } 7. Ввод-вывод и случайные числа в Java. public class Test {// объявляется класс Test public static void main(String[] args) { int i = (int) (Math.random() * 10 + 1); 35 System.out.println("Случайное число:" + i); } } 8. Ввод-вывод и циклы в Java. import java.util.Scanner; public class Test { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("Введите число:") int a = sc.nextInt(); sc.close(); int i = 0; do { System.out.println("Повтор:" + i); i = i + 1; } while (i < (a + 1)); } } 9. Ввод-вывод, циклы и случайные числа в Java. import java.util.Scanner; public class Game { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int a; int result = (int) (Math.random() * 10 + 1); do { System.out.println("Угадайте число:"); a = sc.nextInt(); 36 } while (result != a); System.out.println("Ответ:" + a); sc.close(); } } 10. Ввод-вывод и условный оператор в Java. import java.util.Scanner;// импортируем класс Scanner public class Task { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("Введите число:"); int a = sc.nextInt(); System.out.println("Введите число:"); int b = sc.nextInt(); sc.close(); if (a != b) { if (a > b) { System.out.println(a + " больше " + b); } else { System.out.println(b + " больше " + a); } } else { System.out.println("Числа равны"); } } } 11. Ввод-вывод и математические операторы в Java. public class Test { public static void main(String[] args) { // библиотека MATH, тригонометрия double a = 0.5; double b, c, d, e, f, g; 37 b = Math.sin(a); c = Math.cos(a); d = Math.tan(a); e = Math.asin(a); f = Math.acos(a); g = Math.atan(a); System.out.println("sin " + a + " = " + b); System.out.println("cos " + a + " = " + c); System.out.println("tan " + a + " = " + d); System.out.println("asin " + a + " = " + e); System.out.println("acos " + a + " = " + f); System.out.println("atan " + a + " = " + g); } } 12. Ввод-вывод и математические операторы в Java. import java.util.Scanner; public class Main { public static void main(String[] args) { // библиотека MATH, hypot Scanner sc = new Scanner(System.in); double a; double b; System.out.println("Введите число:"); a = sc.nextInt(); System.out.println("Введите число:"); b = sc.nextInt(); sc.close(); double g = Math.hypot(a, b); System.out.print("Гипотенуза треугольника с катетами "); System.out.println(a + " и " + b + " = " + g); } } 13. Ввод-вывод и строковые функции в Java. import java.util.Scanner; 38 public class Task { public static void main(String[] args) { // методы класса String, length() Scanner sc = new Scanner(System.in); String adres; System.out.println("Введите слово:"); adres = sc.nextLine(); sc.close(); int numer = adres.length(); System.out.println("Длина строки:" + numer); } } 14. Ввод-вывод и строковые функции в Java. import java.util.Scanner; public class Task { public static void main(String[] args) { // методы класса String, equals Scanner sc = new Scanner(System.in); String target = "аккумулятор"; System.out.println("В слове 'акамулятор' есть ошибки, исправьте ошибки."); System.out.println("Введите слово:"); String word = sc.nextLine(); sc.close(); if (word.equals(target)) { System.out.println(word + " правильно"); } else { System.out.println(word + " не правильно"); } } } 15. Ввод-вывод, строковые функции, циклы и условный оператор в Java. import java.util.Scanner; 39 public class Main { public static void main(String[] args) { // методы класса String, сортировка по алфавиту // compareTo Scanner sc = new Scanner(System.in); String a[] = new String[3]; System.out.println("Введите слово:"); a[0] = sc.nextLine(); System.out.println("Введите слово:"); a[1] = sc.nextLine(); System.out.println("Введите слово:"); a[2] = sc.nextLine(); sc.close(); for (int j = 0; j < a.length; j++) { for (int i = j + 1; i < a.length; i++) { if (a[i].compareTo(a[j]) < 0) { String helper = a[j]; a[j] = a[i]; a[i] = helper; } } System.out.println(a[j]); } } } 16. Ввод-вывод, строковые функции и условный оператор в Java. import java.util.Scanner; public class Main { public static void main(String[] args) { // методы класса String, isEmpty Scanner sc = new Scanner(System.in); String a; System.out.println("Введите слово:"); a = sc.nextLine(); sc.close(); if (a.isEmpty()) { System.out.println("Пусто"); 40 } else { System.out.println(a); } } } 17. Работа с классами в Java. public class Box { int width; int height; int length; public void valueOfBox() { System.out.println("Объем = " + width * height * length); } public void lenghtOfSides() { System.out.println("Длина сторон = " + (width+height+length)*4); } } import java.util.Scanner; public class Main { public static void main(String[] args) { Box box1 = new Box(); Scanner sc = new Scanner(System.in); System.out.println("Введите стороны коробки"); System.out.println("Введите число:"); box1.width = sc.nextInt(); System.out.println("Введите число:"); box1.height = sc.nextInt(); System.out.println("Введите число:"); box1.lenght = sc.nextInt(); 41 box1.valueOfBox(); box1.lenghtOfSides(); sc.close(); } 18. Оконные приложения в Java. import java.awt.BorderLayout; import javax.swing.*; // подключаем все средства java Swing public class Program { // класс с методом main() public static void main(String[] args) { JFrame frame = new JFrame("My First GUI"); // задаѐм путь к иконке (т.е. где находится файл) String path = "../images/icon.png"; // создание через обращение к главному классу приложения и его ресурсам ImageIcon icon = new ImageIcon(Program.class.getResource(path)); // помещение иконки на frame frame.setIconImage(icon.getImage()); JPanel buttonsPanel = new JPanel(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // задание геометрии окна frame.setSize(300, 300); // запрет изменения размеров frame.setResizable(false); frame.setLocationRelativeTo(null); JButton start = new JButton("Старт"); JButton stop = new JButton("Стоп"); buttonsPanel.add(start); buttonsPanel.add(stop); frame.getContentPane().add(BorderLayout.NORTH, buttonsPanel); frame.setVisible(true); } } В следующих примерах исходных кодов для мобильных приложений на Android нужно провести синтаксический разбор программ на языке Java и XML (без подробного анализа самих алгоритмов). Данные задания задавались также и на экзамене. 42 1. Main Activity package com.example.menugroup; import android.os.Bundle; import android.app.Activity; import android.view.Menu; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } } main 43 2. Main Activity package com.example.usingcheckablemenuitems; import android.app.Activity; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } /* * When a checkable item is selected, the system calls your respective * item-selected callback method (such as onOptionsItemSelected()). It is * here that you must set the state of the checkbox, because a checkbox or * radio button does not change its state automatically. You can query the * current state of the item (as it was before the user selected it) with * isChecked() and then set the checked state with setChecked() */ @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.save: case R.id.delete: if (item.isChecked()) item.setChecked(false); 44 else item.setChecked(true); return true; default: return super.onOptionsItemSelected(item); } } } Menu 3. Main Activity package com.example.datepickerdialog; import android.app.Activity; import android.app.DatePickerDialog; import android.app.DatePickerDialog.OnDateSetListener; import android.os.Bundle; import android.view.Menu; import android.view.View; import android.widget.Button; import android.widget.DatePicker; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); 45 setContentView(R.layout.activity_main); Button but = (Button) findViewById(R.id.button1); but.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub DatePickerDialog datePickerDialog = new DatePickerDialog( MainActivity.this, new OnDateSetListener() { public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) { // TODO Use the selected date. } }, 2013, 10, 11); datePickerDialog.show(); } }); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } 4. MainActivity.java package com.example.progressdialog; import android.app.Activity; import android.app.ProgressDialog; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.view.Menu; import android.view.View; import android.widget.Button; public class MainActivity extends Activity { 46 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button button = (Button) findViewById(R.id.button1); button.setOnClickListener(new View.OnClickListener() { ProgressDialog progressdialog; @Override public void onClick(View v) { // TODO Auto-generated method stub progressdialog = new ProgressDialog(MainActivity.this); progressdialog.setMessage("Loading...."); progressdialog.setTitle("Please Wait.."); progressdialog.setProgressStyle(progressdialog.STYLE_HORIZONTAL); progressdialog.setProgress(0); progressdialog.setMax(100); progressdialog.show(); new Thread(new Runnable() { @Override public void run() { // TODO Auto-generated method stub try { while (progressdialog.getProgress() <= progressdialog.getMax()) { Thread.sleep(1000); handle.sendMessage(handle.obtainMessage()); if (progressdialog.getProgress() == progressdialog.getMax()) { progressdialog.dismiss(); } } } catch (Exception e) { } } }).start(); } Handler handle = new Handler() { @Override public void handleMessage(Message msg) { // TODO Auto-generated method stub super.handleMessage(msg); progressdialog.incrementProgressBy(20); 47 } }; }); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } } Activity_Main.xml
Наверх

На сайте используются файлы cookie (cookie - небольшой набор данных, отправляемый веб-сервером и хранимый на компьютере пользователя без изменений и какой-либо обработки). Продолжая использование сайта, вы соглашаетесь на обработку своих персональных данных. Подробности об обработке ваших данных — в политике конфиденциальности.

Функционал «Мастер заполнения» недоступен с мобильных устройств.
Пожалуйста, воспользуйтесь персональным компьютером для редактирования информации в «Мастере заполнения».