Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Часть 2. 24 Тре­бо­ва­лось на­пи­сать про­грам­му, при вы­пол­не­нии ко­то­рой с кла­ви­а­ту­ры счи­ты­ва­ет­ся ко­ор­ди­на­та точки на пря­мой (x – дей­стви­тель­ное






Для записи ответов на задания этой части (24–27)используйте БЛАНКОТВЕТОВ № 2. Запишите сначала номер задания (24, 25 и т. д.), а затем полное решение. Ответы записывайте чётко и разборчиво.

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

Бей­сик Пас­каль
INPUT x IF x> =-3 THEN IF x< =9 THEN IF x> 1 THEN PRINT " не при­над­ле­жит" ELSE PRINT " при­над­ле­жит" ENDIF ENDIF ENDIF END var x: real; begin readln(x); if x> =-3 then if x< =9 then if x> 1 then write('не при­над­ле­жит') else write('при­над­ле­жит') end.
Си Ал­го­рит­ми­че­ский язык
void main(void) { float x; scanf(" %f", & x); if(x> =-3) if(x< =9) if(x> 1) printf(" не при­над­ле­жит"); else printf(" при­над­ле­жит"); } алг нач вещ x ввод x если x> =-3 то если x< =9 то если x> 1 то вывод 'не при­над­ле­жит' иначе вывод 'при­над­ле­жит' все все все кон

 

По­сле­до­ва­тель­но вы­пол­ни­те сле­ду­ю­щее.

1. Пе­ре­ри­суй­те и за­пол­ни­те таб­ли­цу, ко­то­рая по­ка­зы­ва­ет, как ра­бо­та­ет про­грам­ма при ар­гу­мен­тах, при­над­ле­жа­щих раз­лич­ным об­ла­стям (A, B, C, D и E). Гра­ни­цы (точки –3, 1, 5 и 9) при­над­ле­жат за­штри­хо­ван­ным об­ла­стям (B и D со­от­вет­ствен­но).

Об­ласть Усло­вие 1 (x > = –3) Усло­вие 2 (x < = 9) Усло­вие 3 (x > 1) Про­грам­ма вы­ве­дет Об­ласть об­ра­ба­ты­ва­ет­ся верно
A          
B          
C          
D          
E          

 

В столб­цах усло­вий ука­жи­те «Да», если усло­вие вы­пол­нит­ся; «Нет», если усло­вие не вы­пол­нит­ся; «—» (про­черк), если усло­вие не будет про­ве­рять­ся; «не изв.», если про­грам­ма ведет себя по-раз­но­му для раз­ных зна­че­ний, при­над­ле­жа­щих дан­ной об­ла­сти. В столб­це «Про­грам­ма вы­ве­дет» ука­жи­те, что про­грам­ма вы­ве­дет на экран. Если про­грам­ма ни­че­го не вы­во­дит, на­пи­ши­те «—» (про­черк). Если для раз­ных зна­че­ний, при­над­ле­жа­щих об­ла­сти, будут вы­ве­де­ны раз­ные тек­сты, на­пи­ши­те «не изв.». В по­след­нем столб­це ука­жи­те «Да» или «Нет».

2. Ука­жи­те, как нужно до­ра­бо­тать про­грам­му, чтобы не было слу­ча­ев её не­пра­виль­ной ра­бо­ты. (Это можно сде­лать не­сколь­ки­ми спо­со­ба­ми, до­ста­точ­но ука­зать любой спо­соб до­ра­бот­ки ис­ход­ной про­грам­мы.)

 

25 Дан це­ло­чис­лен­ный мас­сив из 30 эле­мен­тов. Эле­мен­ты мас­си­ва могут при­ни­мать про­из­воль­ные зна­че­ния. С кла­ви­а­ту­ры вво­дит­ся целое число X. Опи­ши­те на рус­ском языке или на одном из язы­ков про­грам­ми­ро­ва­ния ал­го­ритм, ко­то­рый на­хо­дит и вы­во­дит наи­мень­ший номер эле­мен­та мас­си­ва, рав­но­го X, или со­об­ще­ние, что та­ко­го эле­мен­та нет.

Ис­ход­ные дан­ные объ­яв­ле­ны так, как по­ка­за­но ниже. За­пре­ща­ет­ся ис­поль­зо­вать пе­ре­мен­ные, не опи­сан­ные ниже, но раз­ре­ша­ет­ся не ис­поль­зо­вать часть из них.

 

ПАС­КАЛЬ БЕЙ­СИК
const N = 30; var a: array [1..N] of integer; i, j, x: integer; begin for i: = 1 to N do readln(a[i]); readln(x); ... end. N = 30 DIM A (N) AS INTEGER DIM I, J, X AS INTEGER FOR I = 1 TO N INPUT A (I) NEXT I INPUT X ... END

 

СИ Ал­го­рит­ми­че­ский язык
#include #define N 30 void main(void) {int a[N]; int i, j, x; for (i = 0; i < N; i + +) scanf (H%d'\ & a [ i ]); scanf{" %d", & x); } алг нач цел N = 30 цел­таб а[1: N] цел i, j, х нц для i от 1 до N ввод a [i] кц ввод X ... кон

 

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

 

26 Два иг­ро­ка, Петя и Вася, иг­ра­ют в сле­ду­ю­щую игру. Перед ними лежат две кучки кам­ней, в пер­вой из ко­то­рых 2, а во вто­рой — 1 ка­мень. У каж­до­го иг­ро­ка не­огра­ни­чен­но много кам­ней. Иг­ро­ки ходят по оче­ре­ди, пер­вым ходит Петя. Ход со­сто­ит в том, что игрок или уве­ли­чи­ва­ет в 3 раза число кам­ней в какой-то куче, или до­бав­ля­ет 3 камня в какую-то кучу. Вы­иг­ры­ва­ет игрок, после хода ко­то­ро­го в одной из куч ста­но­вит­ся не менее 24 кам­ней. Кто вы­иг­ры­ва­ет при без­оши­боч­ной игре? Каким дол­жен быть пер­вый ход вы­иг­ры­ва­ю­ще­го иг­ро­ка?

 

Ответ обос­нуй­те.

 

27 По ка­на­лу связи пе­ре­да­ет­ся по­сле­до­ва­тель­ность по­ло­жи­тель­ных целых чисел , … все числа не пре­вы­ша­ют 1000, их ко­ли­че­ство за­ра­нее не­из­вест­но. Каж­дое число пе­ре­да­ет­ся в виде от­дель­ной тек­сто­вой стро­ки, со­дер­жа­щей де­ся­тич­ную за­пись числа. При­зна­ком конца пе­ре­да­ва­е­мой по­сле­до­ва­тель­но­сти яв­ля­ет­ся число 0. Уча­сток по­сле­до­ва­тель­но­сти от эле­мен­та до эле­мен­та на­зы­ва­ет­ся подъ­емом, если на этом участ­ке каж­дое сле­ду­ю­щее число боль­ше преды­ду­ще­го. Вы­со­той подъ­ема на­зы­ва­ет­ся раз­ность . На­пи­ши­те эф­фек­тив­ную про­грам­му, ко­то­рая вы­чис­ля­ет наи­боль­шую вы­со­ту среди всех подъ­емов по­сле­до­ва­тель­но­сти. Если в по­сле­до­ва­тель­но­сти нет ни од­но­го подъ­ема, про­грам­ма вы­да­ет 0. Про­грам­ма долж­на на­пе­ча­тать отчет по сле­ду­ю­щей форме:

По­лу­че­но... чисел Наи­боль­шая вы­со­та подъ­ема: …

Раз­мер па­мя­ти, ко­то­рую ис­поль­зу­ет Ваша про­грам­ма, не дол­жен за­ви­сеть от длины пе­ре­дан­ной по­сле­до­ва­тель­но­сти чисел.

Перед тек­стом про­грам­мы крат­ко опи­ши­те ис­поль­зу­е­мый вами

ал­го­ритм ре­ше­ния за­да­чи.

При­мер вход­ных дан­ных:

При­мер вы­ход­ных дан­ных для при­ве­ден­но­го выше при­ме­ра вход­ных дан­ных:

По­лу­че­но 8 чисел

Наи­боль­шая вы­со­та подъ­ема: 10

 

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.