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


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

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






readln(x);





a:=0; b:=0;

while x>0 do begin

a:=a + 1;

b:=b + (x mod 10);

x:=x div 10;

End;

Writeln(a); write(b);

End.

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

var a,b,t,M,R,H:integer;

Function F(H, x: integer):integer;

Begin

F:= -5*(x-H)*(x-H)+3;

End;

BEGIN

Readln(H);

a:= -20; b:= 60;

M:= a; R:= F(H, a);

for t:= a to b do begin

if (F(H, t) < R) then begin

M:= t;

R:= F(H, t)

End

End;

Write(R)

END.

22. У исполнителя Калькулятор три команды, которым присвоены номера:

Прибавь 2

Прибавь 3

Прибавь 5

Программа для исполнителя – это последовательность команд. Сколько существует программ, которые число 20 преобразуют в число 35?

23. Сколько различных решений имеет система уравнений?

(X1 º X2) Ú (X1 Ù X10) Ú (X1 Ù X10)= 1

(X2 º X3) Ú (X2 Ù X10) Ú (X2 Ù X10)= 1

...

(X9 º X10) Ú (X9 Ù X10) Ú (X9 Ù X10)= 1

(X1 º X10) = 0.

где x1, x2, …, x10 – логические переменные? В ответе не нужно перечислять все различные наборы значений переменных, при которых выполнено данное равенство. В качестве ответа нужно указать количество таких наборов

24. На обработку поступает последовательность из четырёх неотрицательных целых чисел (некоторые числа могут быть одинаковыми). Нужно написать программу, которая выводит на экран количество чётных чисел в исходной последовательности и сумму таких чисел. Если чётных чисел нет, требуется на экран вывести «NO». Известно, что вводимые числа не превышают 1000. Программист написал программу неправильно. Ниже эта программа для Вашего удобства приведена на четырёх языках программирования.

Бейсик Паскаль
CONST n = 4 count = 0 sum = 0 FOR I = 1 TO n INPUT x IF x mod 2 = 0 THEN count = count + 1 sum = x END IF NEXT I IF sum > 0 THEN PRINT count PRINT sum ELSE PRINT "NO" ENDIF const n = 4; var i, x: integer; var sum, count: integer; begin count:= 0; sum:= 0; for i:= 1 to n do begin read(x); if x mod 2 = 0 then begin count:= count + 1; sum:= x end end; if sum > 0 then begin writeln(count); writeln(sum) end else writeln('NO') end.

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

1. Напишите, что выведет эта программа при вводе последовательности:

20, 93, 40, 39

2. Приведите пример такой последовательности, содержащей хотя бы одно чётное число, что, несмотря на ошибки, программа печатает правильный ответ.

3. Найдите все ошибки в этой программе (их может быть одна или
несколько). Известно, что каждая ошибка затрагивает только одну строку
и может быть исправлена без изменения других строк. Для каждой ошибки:

1) выпишите строку, в которой сделана ошибка;

2) укажите, как исправить ошибку, т.е. приведите правильный вариант строки.

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

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

Примечание: 0 – чётное число

 

25. Дан целочисленный массив из 20 элементов. Элементы массива могут принимать целые значения от 0 до 10 000 включительно. Опишите на естественном языке или на одном из языков программирования алгоритм, позволяющий найти и вывести количество пар элементов массива, произведение которых нечётно, а сумма не кратна 5. Под парой подразумевается два подряд идущих элемента массива.

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

Бейсик Паскаль
N = 20 DIM A(N) AS LONG DIM I, J, K AS LONG FOR I = 1 TO N INPUT A(I) NEXT I ...   END const N = 20; var a: array [1..N] of longint; i, j, k: longint; begin for i:= 1 to N do readln(a[i]); ... end.

26. Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежит куча камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может добавить в кучу один или три камня или увеличить количество камней в куче в два раза. Например, имея кучу из 15 камней, за один ход можно получить кучу из 16, 18 или 30 камней. У каждого игрока, чтобы делать ходы, есть неограниченное количество камней.

Игра завершается в тот момент, когда количество камней в куче становится не менее 47.

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

В начальный момент в куче было S камней; 1 ≤ S ≤ 46.

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

Выполните следующие задания. Во всех случаях обосновывайте свой ответ.

Задание 1

а) Укажите все такие значения числа S, при которых Петя может выиграть в один ход. Обоснуйте, что найдены все нужные значения S, и укажите выигрывающие ходы.

б) Укажите такое значение S, при котором Петя не может выиграть за один ход, но при любом ходе Пети Ваня может выиграть своим первым ходом. Опишите выигрышную стратегию Вани.

Задание 2

Укажите два таких значения S, при которых у Пети есть выигрышная стратегия, причём одновременно выполняются два условия:

Петя не может выиграть за один ход;

Петя может выиграть своим вторым ходом независимо от того, как будет ходить Ваня.

Для каждого указанного значения S опишите выигрышную стратегию Пети.

Задание 3

Укажите значение S, при котором одновременно выполняются два условия:

у Вани есть выигрышная стратегия, позволяющая ему выиграть первым или вторым ходом при любой игре Пети;

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

Для указанного значения S опишите выигрышную стратегию Вани.

Постройте дерево всех партий, возможных при этой выигрышной стратегии Вани (в виде рисунка или таблицы). На рисунке на рёбрах дерева указывайте, кто делает ход; в узлах – количество камней в позиции.

27. Сейсмограф автоматической геофизической станции «Токанава» передаёт показания каждую минуту. Показания сейсмографа – положительные вещественные числа, не превышающие 1000.

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

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

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

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

Максимальная оценка за правильную программу, эффективную по времени и по памяти, – 4 балла.

Максимальная оценка за правильную программу, эффективную по времени, но неэффективную по памяти, – 3 балла.

Максимальная оценка за правильную программу, неэффективную ни по времени, ни по памяти, – 2 балла.

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

В первой строке задаётся число N – общее количество показаний прибора. Гарантируется, что N > 5. В каждой из следующих N строк задаётся одно положительное вещественное число – очередное показание прибора.

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

Программа должна вывести одно число – описанную в условии сумму.

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

Date: 2015-09-25; view: 1015; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.006 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию