Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1_tekctumk.pdf
Скачиваний:
22
Добавлен:
16.02.2016
Размер:
2.53 Mб
Скачать

402

Word

вёд

слово

403

Work

вёок

работа

404

Write

райт

писать

405

Write to

райт ту

записать в

406

WWW

три дабл ю

всемирная паутина

407

You should read

ю шуд Рид

вам следовало бы прочитать

408

Zoom

зуум

увеличивать

 

Заключение

Для дальнейшего совершенствования знаний по изучаемому предмету

следует

регулярно читать периодические журналы по направлению

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

4.Блок контроля освоения дисциплины

Блок контроля освоения дисциплины включает:

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

Блок тестов текущего контроля.

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

Целью курсового проекта является освоение широко распространенных задач по обработке массивов – сортировки и поиска. Базовой подготовкой студентов для работы над курсовым проектом являются лабораторные работы и практические занятия, на которых рассматривались близкие вопросы.

Курсовой проект состоит из двух частей, в каждой из которых содержится две программы

часть 1: три метода сортировки; часть 2: три метода поиска.

Задание на курсовой проект

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

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

Содержание пояснительной записки

1.описание трёх алгоритмов сортировки и поиска;

2.алгоритм оценки эффективности методов сортировки и поиска;

3.интерфейс с указанием на нём внутренних имён визуальных компонентов; предусмотреть окна для вывода оценки эффективности алгоритмов;

4.программные тексты с комментариями.

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

Пример возможного интерфейса программы представлен на рис. 63.

Рис. 63. Возможный интерфейс программы для курсового проекта

На титульном листе указывается:

Наименование кафедры; Наименование дисциплины;

Наименование задачи (сортировка и поиск); Имя Ф.О.

Реквизиты группы (курс, форма обучения, учебная точка); Дата представления работы.

Пример титульного листа представлен на рис. 64.

Рис. 64. Пример титульного листа пояснительной записки к курсовому проекту

При разработке алгоритма оценки эффективности метода сортировки или поиска учтите следующие обстоятельства:

1.Более эффективен тот метод, который приводит к меньшим затратам машинного времени. Затраты памяти игнорируются.

2.Операции сравнения выполняются в рабочих регистрах процессора, следовательно, они на порядок быстрее, чем операции, требующие обращения к основной памяти. Можно допустить, что время выполнения одной операция сравнения эквивалентно 10 операциям присваивания. Поэтому за оценку эффективности можно принять общее число приведённых машинных операций:

эффективность = количество операций сравнения +10* количество присваиваний

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

4.2. Блок тестов текущего контроля

Приводятся 10 тестов текущего контроля по каждой из основных тем дисциплины. Они предлагаются студентам в качестве тренировочных (репетиционных). После работы с этими тестами можно проверить ответы - они приведены в конце раздела 4.2. Завершив работу с тренировочным тестом по теме, студент получает у тьютора аналогичный контрольный тест. Время ответа и число попыток ответа для контрольного теста ограничено.

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

Раздел 1.ОБЩИЕ ПОЛОЖЕНИЯ

Тест 1. Технология программирования Тест 2. Базовые понятия алгоритма и алгоритмического языка

Раздел 2. ПРОГРАММИРОВАНИЕ ТИПОВЫХ АЛГОРИТМОВ

Тест 3. Прямые алгоритмы Тест 4. Обработка строк

Тест 5. Разветвляющиеся алгоритмы Тест 6. Циклические алгоритмы Тест 7. Алгоритмы с процедурами Тест 8. Локализация переменных

Раздел 3. МАССИВЫ

Тест 9. Обработка массивов

Раздел 4. ГРАФИКА

Тест 10. Графические приемы построения изображений

Раздел 1.ОБЩИЕ ПОЛОЖЕНИЯ Тест 1. Технология программирования

1. Укажите правильную последовательность этапов жизненного цикла программного обеспечения (ответ имеет вид d,c,f,…. )

aРазработка решающих алгоритмов

bРазработка технического задания

cПостановка задачи

dТестирование

eСопровождение

fКодирование и отладка

2.Понятие «декомпозиция задачи» подразумевает: ( укажите букву единственного правильного ответа)

aПредставление задачи в виде блок-схемы алгоритма

bЛогический анализ задачи с целью её представления как совокупности связанных более простых подзадач

cЗапись решающего алгоритма с помощью подпрограмм

dЗапись решающего алгоритма на модульном алгоритмическом языке

3.К понятию «модульный принцип программирования» приводит:

(укажите совокупность букв - правильных ответов)

a.представление задачи в виде блок-схемы алгоритма

b.запись решающего алгоритма с помощью подпрограмм.

cиспользование системы программирования C++Builder.

dпредставление программы в виде обработчиков событий

4.К достоинствам модульного принципа программирования относится: (укажите совокупность букв - правильных ответов)

a простота сведения программного кода к блок схеме алгоритма

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

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

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

e возможность структурировать программу и делать её более понятной

5.Укажите правильную последовательность этапов проектирования ПО, регламентированную Государственным стандартом ГОСТ 19.102-77

(ответ имеет вид d,c,a,…. ) a эскизный проект

b рабочий проект

c техническое задание d технический проект

e внедрение

6. Объектно-ориентированным программированием называется такой способ разработки программ, при котором: (укажите совокупность букв - правильных ответов)

aв процессе компиляции создаются объектные модули типа *.obj

bпрограмма построена из модулей, объективно отражающих решающий алгоритм

cпрограмма построена из модулей, являющихся объединением данных и процедур их обработки

dобъекты программы представляют собою компоненты, находящиеся в родственных связях

eобъекты программы, кроме данных и методов, умеют ещё и окликаться на внешние события

7. Показателями качества программного продукта, определяющими его рыночную стоимость, являются: (укажите совокупность букв - правильных ответов)

aнадёжность

bчитаемость программных текстов

cкраткость исходных модулей

dналичие комментариев в исходных текстах

eналичие контекстной справки

8.К прямым алгоритмам относятся такие процессы: (укажите совокупность букв - правильных ответов)

aкоторые изображаются блок схемами в один столбик

bвсе операторы которых обязательно выполняются, причём только один

раз

cсостоят из отдельных ветвей, которые в зависимости от полученных промежуточных условий выполняются только один раз

dв которых отсутствуют циклы

eв которых отсутствуют разветвления

9.К разветвляющимся алгоритмам относятся такие процессы: (укажите совокупность букв - правильных ответов)

aоператоры которых выполняются только один раз

bсостоят из отдельных ветвей, которые в зависимости от полученных промежуточных условий выполняются только один раз

cв которых отсутствуют циклы

dв которых отсутствуют разветвления

10.К циклическим алгоритмам относятся такие процессы: (укажите совокупность букв - правильных ответов)

aоператоры которых выполняются фиксированное число раз

bсостоят из отдельных ветвей, которые в зависимости от полученных промежуточных условий могут выполняться или опускаться

cв которых отсутствуют циклы

dв которых отсутствуют разветвления

Тест 2. Базовые понятия алгоритма и алгоритмического языка

1.Запись алгоритма в виде блок-схемы делают, чтобы: (укажите совокупность букв - правильных ответов)

aпередать алгоритм компьютеру для выполнения

bпередать алгоритм в издательство для публикации

cобъяснить студентам существо задачи

dзаписать на магнитный диск для последующей компиляции

2.Алгоритмом является описание процесса выполнения задачи: (укажите совокупность букв - правильных ответов)

aна английском языке

bна русском языке

cв виде блок-схемы

dв машинных кодах

3.Метод компиляции позволяет создать программу: (укажите одну или совокупность букв - правильных ответов)

aнезависимую от типа процессора

bнезависимую от языка программирования

cв виде загрузочного модуля, который можно скачать из Интерната на любой компьютер

dв виде загрузочного модуля, обеспечивающего наибольшую скорость выполнения программы

eв виде модуля, обеспечивающего наиболее простой поиск ошибок

4.Метод интерпретации имеет следующие преимущества над методом компиляции: (укажите одну или совокупность букв - правильных ответов)

a более высокое быстродействие выполнения программы

b позволяет выполнять программу из Интернета, независимо от типа процессора

c строит модули в машинных кодах

d обеспечивает наиболее простой поиск ошибок

5.Чтобы перенести программу, созданную в среде C++Builder, на другую машину с целью её дальнейшей отладки, надо сохранять только следующие модули (укажите одну или совокупность букв - правильных ответов)

a*.tds

b*.cpp

c*.bpr

d*.exe

e*.dfm

f*.res

g*.obj

h*.h

6.Объектный модуль: (укажите одну или совокупность букв - правильных ответов)

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

b необходим для реализации принципа модульного программирования c образуется как промежуточный результат в процессе компиляции d служит исходными данными для компоновщика (linker)

7.Загрузочный модуль: (укажите одну или совокупность букв - правильных ответов)

a позволяет передавать программу в оперативную память и выполнять её без дальнейшей доработки

b необходим для реализации принципа модульного программирования c образуется как промежуточный результат в процессе интерпретации d служит исходными данными для компоновщика (linker)

8.С++ имеет следующие преимущества над языком Pascal : (укажите одну или совокупность букв - правильных ответов)

a может быть русифицирован

bобладает более понятным синтаксисом и семантикой

cпозволяет составлять более эффективные системные программы

dлучше приспособлен для прикладных программ

9.Достоинства языка Java по отношению к С++ состоят в следующем: (укажите одну или совокупность букв - правильных ответов)

a может быть русифицирован

b лучше приспособлен для сценариев WEB-страниц

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

d позволяет получать более быстродействующие программы

10.Язык HTML, разработанный для представления гипертекста на WEB

страницах, обладает достоинствами: (укажите одну или совокупность букв - правильных ответов)

a позволяет эффективно отображать базы данных

b позволяет включать в Интернет страницы с изображения c позволяет включать в Интернет страницы со звуком

d записывать любые алгоритмы

Раздел 2. ПРОГРАММИРОВАНИЕ ТИПОВЫХ АЛГОРИТМОВ Тест3. Прямые алгоритмы

1. В языке С++ допустимы типы данных (укажите одну или совокупность букв - правильных ответов)

ainteger

bLongInteger

cbyte

dint

echar

2. Данные типа int обладают такими свойствами (укажите одну или совокупность букв - правильных ответов)

aзанимают поле 16 бит

bпредставлены в диапазоне от-32 768 до +32 767

cпредставлены в диапазоне от -2 147 483 648 до +2 147 483 647

dзанимают поле 4 байта

3.Дан фрагмент программы. {int a,b,X;

a=8; b=2; X=(a-b)/3;

}

Укажите числовое значение X после выполнения этого фрагмента ?

4.Дан фрагмент программы. {int a,b,X;

a=7; b=2; X=(a-b)/3;

}

Укажите числовое значение X после выполнения этого фрагмента ?

5.Дан фрагмент программы.

{int a,b,X;

a=7; b=6; X=(a-b)/2;

}

Укажите числовое значение X после выполнения этого фрагмента ?

6.Дан фрагмент программы. {int a,b,X;

a=7; b=5; X=(a-b)%3;

}

Укажите числовое значение X после выполнения этого фрагмента ?

7.Дан фрагмент программы.

{float a,b,X;

a=8; b=5; X=(a-b)/2;

}

Укажите числовое значение X после выполнения этого фрагмента ?

8.Дан фрагмент программы. {float a,b,X;

a=8; b=6; X=3/4*(a-b)/2;

}

Укажите числовое значение X после выполнения этого фрагмента ?

9.Дан фрагмент программы.

{float a,b,X;

a=8; b=6; X=3/(4*(a-b)/2);

}

Укажите числовое значение X после выполнения этого фрагмента ?

10. Дан фрагмент программы. {float a,b,X;

a=9; b=4; X=a/b;

}

Укажите числовое значение X после выполнения этого фрагмента ?

Тест 4. Обработка строк

Укажите значение X после выполнения фрагмента программы

1. {AnsiString a,b,X; a=”12”; b=”3”; X=a+b;

}

2.{AnsiString a,b,X; a=”12”; b=”3”; X=a.Insert(b,2);

}

3. {AnsiString a,b,X; a=”12”; b=”3”; X=a.Insert(b,1);

}

4.{AnsiString a,b; int X; a=”123”; b=”3”;

X=a.Lengt();

}

5. {AnsiString a,X; a=”12345”; X=a.SubString(2,3);

}

6. {AnsiString a,b; int X; a=”12345”; b=”34”;

X=AnsiPos(b,a);

}

7. {AnsiString a,b; int X; a=”12345”; b=”35”; X=AnsiPos(b,a);

}

8. {AnsiString a,b; int X; a=”12345”; b=”34”; X=AnsiPos(a,b);

}

9.{AnsiString a="abcde",X;int p=3,k=3; X=a.SubString(p,k);

}

10.AnsiString a="abcde",X;int p=4,k=3; X=a.SubString(p,k);

}

Тест5. Разветвляющиеся алгоритмы

Укажите числовое значение X после выполнения фрагмента программы

1. {float a,b,X; a=9; b=4; X=a/b;

if (a>b) X=b; else X=a;

}

2. {float a,b,X; a=9; b=4; X=a/b;

if (a>b) X=a;

3. {float a,b,X; a=9; b=4; X=a/b;

if (a<b) X=a;

4. {int a,b,X; a=9; b=4; X=a/b;

if (a<b) X=a;

5. {int a,b,X; a=9; b=5; X=a%b;

if (a<b) X=a;

6. {int a,b,X; a=9; b=5;

if (a%2==0)&& (b%2==0) X=1;

else X=2;

7. {int a,b,X;

a=10; b=4;

if (a%2==0)&& (b%2==0) X=1; else X=2;

8. {int a,b,X; a=10; b=3;

if (a%2==1)&& (b%2==1) X=1; else X=2;

9. {int a,b,X; a=10; b=4;

if (a%2==1)|| (b%2==1) X=1;

else if (a%2==0)|| (b%2==0) X=2;

else X=3;

10. {int a,b,X; a=10; b=3;

if (a>10)||(b>3) X=1;

else if (a<10)||(b<3) X=2;

else X=3;

Тест 6. Циклические алгоритмы

Укажите числовое значение X после выполнения фрагмента программы

1.{int i,s; s=0;

for (i=1;i<=4;i++) s=s+i;

}

2. {int i,s;

for (i=1;i<=4;i++) { s=0;

s=s+i;

}

}

3. {int i,s;

for (i=1;i<=4;i++) { s=i;

s=s+i;

}

}

4.{int i,s; s=0;

for (i=1;i<=4;i++)

s=s*i;

}

5.{int i,s; s=1;

for (i=1;i<=4;i++) s=s*i;

}

6. {int i,s;

for (i=1;i<=4;i++)

{s=1;

s=s*i;

}

}

7.{int i,s; s=0;

for (i=1;i>=4;i++)

s=s+i;

}

8.{int i,s; s=0;

for (i=4;i>=1;i--) s=s+i;

}

9.{int i,s; s=0;

for (i=1;i<=4;i++)

if (i%2==1) s=s+i;

}

10. {int i,s; s=0;

for (i=1;i<=4;i++)

if (i%2==0) s=s+i;

}

Тест 7. Алгоритмы с процедурами

Укажите числовое значение X после выполнения фрагмента программы

1.int Calculate (int a, int b) {return (a+b);

}

{int a,b,X; a=4;b=5;

X=Calculate(4,4);

}

2.int Calculate (int a, int b) {return (a+b);

}

{int a,b,X; a=4;b=5;; X=Calculate(a,b);

}

3.int Calculate (int a, int b) {return (a+b);

}

{int a,b,X; a=4;b=5;;

X=Calculate(a,b)+ Calculate(b,a);

}

4.int Calculate (int a, int b) {return (a-b);

}

{int a,b,X; a=4;b=5;

X=Calculate(a,b)+ Calculate(b,a);

}

5.float Calculate (float a, float b) {return ( 0.5*a+b);

}

{int a,b,X; a=6;b=5;

X=Calculate(a,b);

}

6.float Calculate (float a, float b) {return ( 0.5*(a+b));

}

{ float a,b,X; a=6;b=5; X=Calculate(a,b);

}

7.float Calculate (float a, float b) {return ( 0.5*(a+b));

}

{ float a,b,X; a=6;b=4;

X=15/Calculate(a,b);

}

8.float Calculate (float a, float b) {return ( 1/2*(a+b));

}

{ float a,b,X; a=6;b=4; X=Calculate(a,b);

}

9.float Calculate (float a, float b) {return ( 2.0/3.0*(a+b));

}

{ float a,b,X; a=3;b=9; X=Calculate(a,b);

}

10.float Calculate (float a, float b) {return ( 2/3*(a+b));

}

{ float a,b,X; a=3;b=9; X=Calculate(a,b);

}

Тест 8. Локализация переменных

Укажите числовое значение X после выполнения фрагмента программы

1.int

{ }

1.#include <vcl.h> #pragma hdrstop int a=3; int b=5; {int a,X;

a=10;

X=a+b;

}

2.#include <vcl.h> #pragma hdrstop int a=3; int b=5; {int X;

X=a+b;

}

3.#include <vcl.h> #pragma hdrstop int a=3; int b=5; {int X;

a=1;

X=a+b;

}

4.#include <vcl.h> #pragma hdrstop int a=3; int b=5; {int a,X;

a=10;

}

{int X; X=a+b;

}

5.#include <vcl.h> #pragma hdrstop int a=3; int b=5; {int X;

a=10;

}

{int X; X=a+b;

}

6.#include <vcl.h> #pragma hdrstop int a=3; int b=5;

int Summa (int a, int b) {return (a+b);

}

{int a,b,X; a=1;b=2; X=Summa (a,b);

}

7.#include <vcl.h> #pragma hdrstop int a=3; int b=5;

int Summa (int a, int b) {return (a+b);

}

{int X;

X=Summa (a,b);

}

8.#include <vcl.h>

#pragma hdrstop

int a=3; int b=5;int c=7; int Summa (int a, int b) {c=10;

return (a+b);

}

{int X;

X=c+Summa (a,b);

}

9.#include <vcl.h> #pragma hdrstop

int a=3; int b=5; int c=7; int Summa (int a, int b) {c=10;

return (a+b);

}

{int X;

X=Summa (a,b)+c;

}

10.#include <vcl.h> #pragma hdrstop

int a=3; int b=5; int c=7; int Summa (int a, int b)

{

return (a+b);

}

{int X;

X=Summa (a,b)+c;

}

Раздел 3. МАССИВЫ Тест 9. Обработка массивов

Укажите числовое значение X после выполнения фрагмента программы

1. {int a[4]={4,3,2,1}, X, i; X=0;

for (i=0;i<=3;i++) X=X+a[i];

}

2. {int a[4]={4,3,2,1}, X, i; X=0;

for (i=0;i<=3;i++)

if (a[i]%2==0) X=X+a[i];

}

3. {int a[4]={1,2,3,4}, X, i; X=0;

for (i=0;i<=3;i++)

if (a[i]%2==1) X=X+a[i];

}

4. {int a[4]={1,2,3,4}, X, i; X=0;

for (i=0;i<=3;i++)

if (a[i]%2==0) X=X+a[i];

}

5. {int a[4]={1,2,3,4}, X, i; X=0;

for (i=0;i<=3;i++) X=X*a[i];

}

6. {int a[4]={1,2,3,4}, X, i; X=1;

for (i=0;i<=3;i++) X=X*a[i];

}

7.{int a[4]={1,2,3,4}, X, i; X=0;i=0;

while (i<=3) {X=X+a[i]; i=i+1;

}

8.{int a[4]={1,2,3,4}, X, i; X=0;i=0;

while (i<=3) {X=X+a[i]; i=i+2;

}

9.{int a[4]={1,2,3,4}, X, i; X=0;i=1;

while (i<=3) {X=X+a[i];

i=i+2;

}

10. {int a[4]={1,2,3,4}, X, i; X=0;i=1;

while (i<=3) {X=X+a[i]; i=i+3;

}

Раздел 4. ГРАФИКА Тест 10. Графические приемы построения изображений

1. Изображение формируется с помощью компонентов, обладающих свойствами: (укажите совокупность букв - правильных ответов)

aCaption

bText

cCanvas

dImage

2. Файлы, предназначенные только для хранения изображений, имеют расширения: (укажите совокупность букв - правильных ответов)

aobj

bpcx

cbmp

dmpeg

ejpg

3. Для записи изображения в файл используют функции: (укажите совокупность букв - правильных ответов)

aPictureToFile

bSaveToFile

cSavePicture

dLoadToFile

4.Для передачи изображения из файла в видимый компонент

используют функции: (укажите совокупность букв - правильных ответов)

aPictureFromFile

bMoveImage

cLoadPicture

dLoadFromFile

5. Для передачи изображения из буфера обмена в видимый компонент используют Assign FromClipBoard используется: (укажите совокупность букв - правильных ответов)

aPictureFromFile

bAssign

cFromClipBoard

dLoadFromClipBoard

6. Для прорисовки линии между двумя точками следует использовать функции:

aMoveTo

bLineTo

cChord

dPen

eBrush

fPolyline

7. Чтобы нарисовать прямоугольник, можно использовать функции:

aDrow

bLineTo

cRectangle

dFillRect

eClipRect

8. Чтобы нарисовать круг, можно использовать функции:

aDrow

bLineTo

cRectangle

dEllips

9. Чтобы заполнить цветом прямоугольную область, можно использовать функции:

aFill

bFillRect

cRectangle

dEllips

10. Перед тем, как прорисовывать линию, надо установить «перо» в исходную точку функцей:

aMoveTo

bLineTo

cPosition

dPoint