Партнерка на США и Канаду по недвижимости, выплаты в крипто
- 30% recurring commission
- Выплаты в USDT
- Вывод каждую неделю
- Комиссия до 5 лет за каждого referral
3) Сумме всех элементов массива А, меньших последнего элемента массива
4) Индексу первого элемента массива А, который меньше A[n]
20. Задание 20 № 000. Ниже на 4-х языках записан алгоритм. Получив на вход число x, этот алгоритм печатает два числа a и b.
Бейсик | Паскаль |
DIM X, A, B AS INTEGER INPUT X A = 0: B = 1 WHILE X > 0 A = A + 1 B = B * (X MOD 10) X = X \ 10 WEND PRINT A PRINT B | var x, a, b: integer; begin readln(x); a: = 0; b: = 1; while x>0 do begin a : = a + 1; b : = b * (x mod 10); x : = x div 10 end; writeln(a); write(b); end. |
Си | Алгоритмический язык |
#include<stdio. h> void main() { int x, a, b; scanf("%d", &x); a = 0; b = 1; while (x>0){ a = a + 1; b = b * (x%10); x = x/10; } printf("%d\n%d", a, b); } | алг нач цел x, a, b ввод x a: = 0; b: = 1 нц пока x>0 a : = a + 1 b : = b * mod(x,10) x : = div(x,10) кц вывод a, нс, b кон |
Укажите наименьшее из таких чисел x, при вводе которых алгоритм печатает сначала 3, а потом 14.
21. Задание 21 № 000. Определите, какое число будет напечатано в результате выполнения следующего алгоритма:
Var a, b,t, M,R :integer;
Function F(x:integer):integer;
begin
F:=2*(x-9)*(x-9)+12;
end;
BEGIN
a:= -20; b:=20;
M:=a; R:=F(a);
for t:=a to b do begin
if (F(t)< R)then begin
M:=t;
R:=F(t);
end;
end;
write(M);
END.
22. Задание 22 № 000. Исполнитель Б22 преобразует целое число, записанное на экране.
У исполнителя три команды, каждой команде присвоен номер:
1. Прибавь 1
2. Прибавь 2
3. Прибавь предыдущее
Первая команда увеличивает число на экране на 1, вторая увеличивает это число на 2, третья прибавляет к числу на экране число, меньшее на 1 (к числу 3 прибавляется 2, к числу 11 прибавляется 10 и т. д.). Программа для исполнителя Б22 – это последовательность команд.
Сколько существует программ, которые число 3 преобразуют в число 10?
23. Задание 23 № 000. Сколько существует различных наборов значений логических переменных x1, x2, x3, x4, x5, x6, y1, y2, y3, y4, y5, которые удовлетворяют всем перечисленным ниже условиям?
(x1 → x2) ∧ (x2 → x3) ∧ (x3 → x4) ∧ (x4 → x5 ) = 1
(y1 → y2) ∧ (y2 → y3) ∧ (y3 → y4) ∧ (y4 → y5 ) = 1
x5 ∨ y1 = 1
В ответе не нужно перечислять все различные наборы значений переменных x1, x2, x3, x4, x5, x6, y1, y2, y3, y4, y5, при которых выполнена данная система равенств. В качестве ответа вам нужно указать количество таких
наборов.
24. Задание 24 № 000. Требовалось написать программу, которая вводит с клавиатуры координаты точки на плоскости (
,
— действительные числа) и определяет принадлежность точки заштрихованной области, включая её границы. Программист торопился и написал программу неправильно.
Паскаль | Бейсик | Си |
var x, y: real; begin readln(x, y); if x*x+y*y>=4 then if x>= –2 then if y<= –x then write('принадлежит') else write('не принадлежит') end. | INPUT x, y IF x*x+y*y>=4 THEN IF x>= –2 THEN IF y<= –x THEN PRINT "принадлежит" ELSE PRINT "не принадлежит" ENDIF ENDIF ENDIF END | void main() { float x, y; scanf("%f %f",&x,&y); if (x*x+y*y>=4) if (x>= –2) if (y<= –x) printf("принадлежит"); else printf("не принадлежит"); } |

Последовательно выполните следующее.
1. Перерисуйте и заполните таблицу, которая показывает, как работает программа при аргументах, принадлежащих различным областям (A, B, C, D, E, F, G и H).
Точки, лежащие на границах областей, отдельно не рассматривать. В столбцах условий укажите "да", если условие выполнится, "нет", если условие не выполнится, "—" (прочерк), если условие не будет проверяться, "не изв.", если программа ведет себя по-разному для разных значений, принадлежащих данной области. В столбце "Программа выведет" укажите, что программа выведет на экран. Если программа ничего не выводит, напишите "—" (прочерк). Если для разных значений, принадлежащих области, будут выведены разные тексты, напишите "не изв". В последнем столбце укажите "да" или "нет".
2. Укажите, как нужно доработать программу, чтобы не было случаев ее неправильной работы. (Это можно сделать несколькими способами, достаточно указать любой способ доработки исходной программы.)
Область | Условие 1 (x*x+y*y>=4) | Условие 2 (x>= –2) | Условие 3 (y<= –x) | Программа выведет | Область обрабатывается верно |
A | |||||
В | |||||
С | |||||
D | |||||
Е | |||||
F | |||||
G | |||||
Н |
25. Задание 25 № 000. Дан массив, содержащий 70 целых чисел. Опишите на одном из языков программирования эффективный алгоритм, позволяющий найти и вывести наибольшую разность двух чисел, содержащихся в массиве. Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается использовать часть из описанных переменных.
Паскаль | Алгоритмический язык |
const N=70; var a: array [1..N] of integer; i, j, x, y: integer; begin for i := 1 to N do readln(a[i]); … end. | алг нач цел N=70 целтаб a[1:N] цел i, j, x, y нц для i от 1 до N ввод a[i] кц ... кон |
Бейсик | Си |
N=70 DIM A(N) AS INTEGER DIM I, J, X, Y AS INTEGER FOR I = 1 TO N INPUT A(I) NEXT I … END | #include <stdio. h> #define N 70 void main(void){ long a[N]; long i, j, x, y; for (i=0; i < N; i++) scanf("%d", &a[i]); … } |
В качестве ответа Вам необходимо привести фрагмент программы (или описание алгоритма на естественном языке), который должен находиться на месте многоточия. Вы можете записать решение также на другом языке программирования (укажите название и используемую версию языка программирования, например Free Pascal 2.4) или в виде блок-схемы. В этом случае Вы должны использовать те же самые исходные данные и переменные, какие были предложены в условии.
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 |


