Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ФУП Информатика. Контрольная работа

.pdf
Скачиваний:
58
Добавлен:
14.05.2015
Размер:
1.58 Mб
Скачать

 

 

31

 

208)

программирование

237)

редактор формул

 

визуальное

238)

режим plug-and-play

209)

программирование

239)

режим вставки

 

модульное

240)

режим диалоговый

210)

программирование

241)

режим замены

 

нисходящее

242)

ресурс системный

211)

программирование

243)

ретушь

 

объектно-

244)

сайт

 

ориентированное

245)

сегментация

212)

программирование

246)

сектор дисковой памяти

 

событийно-

247)

сервер баз данных

 

ориентированное

248)

сервер новостей

213)

программирование

249)

сервер почтовый

 

структурное

250)

сервер приложений

214)

программное обеспечение

251)

сервер сетевой

215)

пространство

252)

сервер шлюзовой

 

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

253)

сервер файловый

216)

протокол сетевой

254)

сертификат электронный

217)

процессор

255)

сетевая карта

218)

прямое соединение

256)

сеть глобальная

219)

путь к файлу

257)

сеть локальная

220)

Рабочая книга

258)

сеть одноранговая

221)

рабочая область

259)

Си

222)

рабочая станция

260)

Си++

223)

Рабочий стол

261)

сигнал

224)

разрешение изображения

262)

символ

225)

разрешение оригинала

263)

система команд

226)

разрешение оцифровки

 

процессора

227)

разрешение цветовое

264)

система BIOS

228)

разрешение экрана

265)

система

229)

распознавание речи

 

геоинформационная

230)

распознавание текста

266)

система операционная

231)

растр

267)

система поисковая

232)

расширение имени файла

268)

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

233)

регистр

 

базами данных

234)

Регулятор громкости

269)

системный блок

235)

редактор графический

270)

сканер

236)

редактор текстовый

271)

слайд

 

 

32

 

272)

слой

305)

Фортран

273)

слот

306)

цвет насыщенность

274)

службы (сервисы)

307)

цветовой охват

 

Интернета

308)

цветовоспроизведение

275)

событие пользовательское

 

аддитивное

276)

событие программное

309)

цветовоспроизведение

277)

событие системное

 

субтрактивное

278)

совместимость аппаратная

310)

цикл

279)

совместимость

311)

частота кадров

 

программная

312)

чат

280)

соединение виртуальное

313)

шина адресная

281)

сообщение электронной

314)

шина данных

 

почты

315)

шина команд

282)

сортировка

316)

шифрование данных

283)

спецификация

317)

шлюз

284)

список данных

318)

шрифт

285)

средства активной защиты

319)

шрифт TrueType

286)

средства коммуникации

320)

экранная заставка

287)

средства контроля

321)

язык ассемблера

288)

средства кэширования

322)

язык запросов SQL

 

дисков

323)

язык программирования

289)

стиль

324)

ярлык

290)

супер-ЭВМ

325)

IP-адрес компьютера

291)

таблицы электронные

326)

IP-телефония

292)

тип файла

327)

Skype

293)

топология компьютерной

328)

Unicode

 

сети

329)

URL-адрес

294)

условное выражение

330)

WebMoney

295)устройство периферийное

296)файл

297)файловая система

298)фильтр

299)флэш-память

300)форма

301)форматирование

302)формат ASCII

303)формат HTML

304)формула

33

Примеры по алгоритмизации и программированию

Алгоритмы линейной структуры

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

Задача 1. Определить площадь треугольника по формуле Герона S = р(р-а)(р-в)(р-с), где a, b, c – длины сторон, р – полупериметр треугольника.

Схема алгоритма представлена ниже.

Начало

Ввод a,b,c

P=(a+b+c)/2

S=vp(p-a)(p-b)(p-c)

Вывод S

Конец

Рис. 1. Схема алгоритма решения задачи 1

Y=(2x+

Выво

Начало

34

Программа на Паскале решения этой задачи выглядит так:

Program Prim_1;

{заголовок программы}

Var A, B, C, S, P: Real;

{блок описания данных}

Begin

{начало операторов программы}

Read(A,B,C);

{ввод трех чисел с клавиатуры }

WriteLn(A,B,C); {вывод этих чисел на экран для контроля}

P:=(A+B+C)/2;

{нахождение полупериметра}

S:=Sqrt(P*(P-A)*(P-B)*(P-C));

{нахождение площади}

WriteLn('S=',S:8:3)

{вывод результата}

End.

{конец программы}

Все операторы заканчиваются знаком “;”. Перед оператором END точку с запятой не ставят.

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

Этот же алгоритм решения задачи записывается на Бейсике следующим образом:

10 Input A,B,C

20 Print A,B,C

20 P=(A+B+C)/2

30 S=Sqr(P*(P-A)*(P-B)*(P-C))

40 Print “S=”;S

50 End

Алгоритмы разветвляющейся структуры

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

35

условия. По одной из ветвей может не быть никаких действий. Это называется обходом.

Задача 2. Составить схему алгоритма вычисления значения y = (2x + 3)/(3x – 4).

На первый взгляд, алгоритм нахождения значения y кажется линейным, но это не так. В алгоритме необходимо проверить условие: равен ли нулю знаменатель при данном значении x. Если это условие выполняется, то идем по стрелке "да" и выводим сообщение о невозможности вычисления y. Если условие не выполняется, то переходим по стрелке "нет" к блоку, в котором вычисляется значение y.

Начало

Ввод x

d=3x-4

нет

да

c)

d=0

Y=(2x+3)/d

Вывод Вывод Y “Найти Y

нельзя”

Конец

Рис. 2. Схема алгоритма решения задачи 2

Начало

Ввод x,а

36

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

Program Prim_2;

 

{заголовок программы}

Var X, D: Integer;

 

{блок описания данных}

Y : Real;

 

 

Begin

{начало операторов программы}

Read(X);

{ввод значения Х с клавиатуры}

WriteLn('X=',Х);

{вывод Х на экран для контроля}

D:=(3*X-4);

 

{нахождение знаменателя}

WriteLn('D=',D);

{вывод D на экран для контроля}

If D=0 Then

{если знаменатель=0, то делать}

Writeln('Найти Y нельзя')

{вывод сообщения}

Else

 

{иначе выполнить}

Begin

 

{открытие блока}

Y:=(2*X+3)/D;

 

{нахождение Y}

Writeln('Y=',Y:8:2)

 

{вывод результата}

End

 

{закрытие блока}

End.

 

{конец программы}

Эта же задача может быть записана на Бейсике следующим образом:

10 Input X%

20 Print "X=";X%

30 D%=(3*X%-4)

40 If D%=0 Then Print "Нельзя найти Y" Else Y=(2*X%+3)/D% : Print Y 50 End

Целый тип в Бейсике может задаваться через имена переменных. Для этого используется знак %, который ставится в конце имени. Например, переменная X имеет вещественный тип, а переменная X% – целый тип.

Задача 3. Вычислить

 

x + a ,

если

x < 3

y =

x – a ,

если

x > 3

 

x2 + a2 , если

x = 3

Имеются три формулы для вычисления y. Исходными данными в задаче являются переменные x и a. Выбор той или

P=(a+b+c)/2

vp(p-a)(p-b)(p-c)

нет

37

d=3x-4

да d=0

Вывод S

Конец

иной формулы зависит от заданных условий. Можно начать

Y=(2x+3)/d

 

 

алгоритм с проверки любого условия из заданных. В

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

ветви

 

Вывод

Это

Вывод Y

“Найти Y

(каждая ветвь для соответствующей

формулы).

 

нельзя”

 

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

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

Конец

 

 

Предлагается следующая блок-схема решения этой задачи.

Начало

Ввод x,а

x>3

да

Y=x-a

нет

 

 

да

x<3

Y=x+a

нет

 

2

2

Y=x +a

 

Вывод Y

Конец

 

Рис. 3. Схема алгоритма решения задачи 3

Программа на Паскале представлена ниже.

Program Prim_3;

{заголовок программы}

Var X : Integer;

{блок описания данных}

Y, A: Real;

 

Begin

{начало операторов программы}

Read(X);

{ввод целого числа Х с клавиатуры}

 

 

38

 

WriteLn('X=',Х);

 

{вывод Х на экран для контроля}

Read(A);

{ввод вещественного числа A с клавиатуры}

WriteLn('A=',A:6:2);

{вывод A на экран для контроля}

If X>3 Then

 

 

{если X>3, то делать}

Y:=X-A

 

 

 

Else

 

 

{иначе выполнить}

If X<3 Then

Y:=X+A

 

 

Else

Y:=X*X+Y*Y;

{иначе выполнить}

Writeln('Y=',Y:8:2)

 

{вывод результата}

End.

 

 

{конец программы}

Решение этой задачи может быть записано на Бейсике следующим образом:

10 Input X%,A

20 Print ("X=";X%)

30 Print ("A=";A)

40 If X%>3 Then Y=X%-A : GOTO 60

50 If X%<3 Then Y=X%+A Else Y=X%*X%+A*A

60 Print ("Y=";Y)

70End

Задача 4. Даны целые числа x, y, z.

Вычислить u = min(x, max(y, z)).

Вэтой задаче сначала нужно найти наибольшее число из y и z. Найденное наибольшее число запоминается в переменной r. Затем находится наименьшее число из x и r.

39

Начало

Начало

Ввод x ,y ,z

 

да

y > z

r= y

нет

 

r= z

 

 

да

x < r

u = x

нет

 

u = r

 

Вывод u

Конец

Конец

Рис. 4. Схема алгоритма решения задачи 4

Приведем соответствующие программы.

Program Prim_4;

{заголовок программы}

Var X, Y, Z,R,U: Integer;

{блок описания данных}

Begin

{начало операторов программы}

WriteLn('Введите три целых числа X, Y, Z ’ );

Read(X,Y,Z);

{ввод значения Х с клавиатуры}

WriteLn('X=',Х,’Y=’,Y,’Z=’,Z); {вывод Х на экран для контроля}

If Y>Z Then

{если Y>Z, то делать}

R:=Y

 

Else

{иначе выполнить}

R:=Z;

 

If X<R Then

 

U:=X

 

Else

 

U:=R;

 

Writeln('U=',U:6)

{вывод результата}

End.

{конец программы}

40

Алгоритм на Бейсике выглядит так:

10 Input X%,Y%,Z%

20 Print ("X=";X%)

30 Print ("Y=";Y%)

40 Print ("Y=";Y%)

50 If Y%>Z% Then R%=Y% Else R%=Z%

60 If X%<R% Then U%=X% Else U%=R%

60 Print ("U=";U%)

70 End

Алгоритмы циклической структуры

Наиболее сложным типом вычислительного процесса является циклический. Циклы возникают тогда, когда необходимо многократно повторять какие-либо действия. Число повторений в любом цикле должно быть конечным.

Существуют циклы, в которых число повторений заранее известно (счетные циклы). В итерационных циклах количество повторений заранее неизвестно, выход из них осуществляется по достижению заданных условий.

Рассмотрим несколько примеров циклических процессов.

Задача 5. Найти конечную сумму

S = 1 + 1/2 + 1/3 +…+ 1/n.

Введем следующие обозначения. Переменная i – номер слагаемого данной суммы. Само слагаемое имеет вид 1/i. Необходимо просмотреть все номера, начиная с первого и заканчивая последним номером n, и каждое слагаемое прибавить к S. Предлагается следующая схема алгоритма нахождения S.