ПОКА снизу свободно ИЛИ справа свободно




Begin

s:= 20;

n:= 0;

while 150 < s*s do begin

s:= s - 1;

n:= n + 3

end;

Writeln(n)

End.

2) Запишите число, которое будет выведено в результате работы программы:

var s, n: integer;

Begin

s:= 15;

n:= 99;

while n > s do begin

s:= s + 3;

n:= n - 2

end;

Writeln(n)

End.

3) В программе используется одномерный целочисленный массив A с индексами от 0 до 9. Значения элементов равны 1, 2, 4, 3, 5, 6, 8, 7, 3, 4, т.е. A[0]=1, A[1]=2 и т.д. Определите значение переменной s после выполнения следующего фрагмента программы:

s:= 0;

for i:=1 to 9 do

if A[i-1] < A[i] then begin

A[i]:= A[i-1] + 1;

s:= s + 1

End

4) Фрагмент программы обрабатывает элементы одномерного целочисленного массива A с индексами от 0 до 9. Перед началом выполнения данного фрагмента эти элементы массива имели значения 3, 5, 4, 2, 7, 4, 3, 1, 2, 6 (т.е. A[0] = 3, A[1] = 5, …, A[9] = 6). Определите значение переменной s после выполнения фрагмента.

N:= 9;

s:= 0;

for i:=0 to N do begin

if A[i] < A[N] then begin

A[i]:= A[i] + 1;

A[N]:= A[N] – 1;

s:= s + 1

End

end;

5) Ниже приведён алгоритм. Укажите наименьшее из таких чисел , при вводе которого алгоритм напечатает четырёхзначное число.

var x, d, x0, N: longint;

Begin

readln(x);

x0:= x; N:= 0;

while x > 0 do begin

d:= x mod 2;

N:= 10*N + d;

x:= x div 2

end;

N:= N + x0;

writeln(N);

End.

6) Укажите наименьшее натуральное число, при вводе которого эта программа напечатает сначала 1, потом – 4.

var x, a, b: longint;

Begin

readln(x);

a:= 0; b:= 0;

while x > 0 do begin

if x mod 2 = 0 then

a:= a + 1

Else

b:= b + x mod 6;

x:= x div 6;

end;

writeln(a); write(b);

End.

7) Укажите минимальное натуральное число, при вводе которого этот алгоритм напечатает сначала 7, а потом – 12.

var x, a, b: longint;

Begin

readln(x);

a:= 0; b:= 1;

while x > 0 do begin

if x mod 2 > 0 then

a:= a + x mod 12

Else

b:= b * (x mod 12);

x:= x div 12;

end;

writeln(a); write(b);

End.

8) Определите, какое число выведет эта программа:

var i: integer;

function f(n: integer): integer;

Begin

f:= n*n*n;

end;

function g(n: integer): integer;

Begin

g:= 100*n*n + 50;

end;

Begin

i:= 1;

while f(i) < g(i) do

i:= i*2;

Writeln(i)

End.

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

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

Function F(x:integer):integer;

Begin

F:= abs(abs(x-3)+abs(x+3)-10) + 8

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+R);

End.

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

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

function F(x:integer):integer;

Begin

if x>0 then

F:= (x*x-11)*(x*x-11) + 11

Else

F:= (x*x-7)*(x*x-7) + 11

end;

Begin

a:= -9; b:= 9;

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+R);

End.

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

var x, y: real;

Begin

readln(x, y);

if y >= x then

if y >= 0 then

if y <= 2-x*x then

Write('принадлежит')

Else

write('не принадлежит');

End.

Последовательно выполните следующее: 1) Приведите пример таких чисел x, y, при которых программа неверно решает поставленную задачу. 2) Укажите, как нужно доработать программу, чтобы не было случаев ее неправильной работы. (Это можно сделать несколькими способами, поэтому можно указать любой способ доработки исходной программы).

12) Дан целочисленный массив из 20 элементов. Элементы массива могут принимать целые значения от –10 000 до 10 000 включительно. Опишите на естественном языке или на одном из языков программирования алгоритм, позволяющий найти и вывести количество пар элементов массива, в которых оба числа делятся на 3. В данной задаче под парой подразумевается два подряд идущих элемента массива. Например, для массива из пяти элементов: 6; 2; 9; –3; 6 – ответ: 2.

Паскаль Алгоритмический язык
const N = 20; var a: array [1..N] of integer; i, j, k: integer; begin for i:= 1 to N do readln(a[i]); ... end. алг нач цел N = 20 целтаб a[1:N] цел i, j, k нц для i от 1 до N ввод a[i] кц ... кон
Си  
#include <stdio.h> #define N 20 int main() { int a[N]; int i, j, k; for (i = 0; i<N; i++) scanf("%d", &a[i]); ... return 0; }  

 

ЕГЭ №14

1) Исполнитель Чертёжник перемещается на координатной плоскости, оставляя след в виде линии. Чертёжник может выполнять команду Сместиться на (a, b) (где a, b – целые числа), перемещающую Чертёжника из точки с координатами (x, y) в точку с координатами (x + a, y + b). Чертёжнику был дан для исполнения следующий алгоритм:

Сместиться на (32, 20)

Повтори N раз

Сместиться на (7, b)

Сместиться на (a, 13)

конец

Сместиться на (9, 62)

Определите минимальное натуральное значение N > 1, для которого найдутся такие значения чисел a и b, что после выполнения программы Чертёжник возвратится в исходную точку?

2) Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки цифр.

заменить (v, w)

нашлось (v)

Дана программа для исполнителя Редактор:

НАЧАЛО

ПОКА нашлось (222) ИЛИ нашлось (888)

ЕСЛИ нашлось (222)

ТО заменить (222, 8)

ИНАЧЕ заменить (888, 2)

КОНЕЦ ЕСЛИ

КОНЕЦ ПОКА

КОНЕЦ

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

3) Сколько клеток лабиринта соответствуют требованию, что, начав движение в ней и выполнив предложенную программу, РОБОТ уцелеет и остановится в закрашенной клетке (клетка F1)?

             
             
             
             
             
             
A B C D E F  

1) 22 2) 19 3) 15 4) 12

ПОКА снизу свободно ИЛИ справа свободно

ПОКА справа свободно

Вправо

КОНЕЦ ПОКА

Вниз

КОНЦЕ ПОКА

 

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2020-04-01 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: