Размер шрифта: A AA Изображения Выключить Включить Цвет сайта Ц Ц Ц Х
Бесплатный конструктор сайтов - uCoz
Пятница, 17.05.2024, 08:04
Приветствую Вас Гость | RSS

Сайт учителя информатики  и ИКТ Шинкаренко Евгения Александровича

Реклама
Оцените сайт
Оцените мой сайт
Всего ответов: 837
Программирование
Какой язык программирования выбрать для подготовки к ЕГЭ
Всего ответов: 804

Решение задачи №6.

Задача №6.
Дан целочисленный массив A из 30 элементов. Опишите на русском языке или на одном из языков программирования алгоритм, который осуществляет циклический сдвиг элементов массива вправо, то есть элементу A[i] присваивается значение, которое было записано в элементе A[i–1] до сдвига, а первому элементу массива присваивается значение, которое было записано в последнем элементе до сдвига.
Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из них.

Паскаль
Бейсик
Си
Естественный язык
const
N=30;
var
A: array [1..N] of
integer;
i, x, y: integer;
begin
for i:=1 to N do
readln(A[i]);
...
for i:=1 to N do
writeln(A[i]);
end.

N=30
DIM A(N) AS INTEGER
DIM I, X, Y AS INTEGER
FOR I = 1 TO N
INPUT A(I)
NEXT I
...
FOR I = 1 TO N
PRINT A(I)
NEXT I
END
#include <stdio.h>
#define N 30
void main(void)
{int A[N];
int i, x, y;
for (i=0; i<N; i++)
scanf("%d", &A[i]);
...
for (i=0; i<N; i++)
printf("%d\n", A[i]);
}
Объявляем массив A из 30
элементов.
Объявляем целочисленные
переменные I, X, Y.
В цикле от 1 до 30 вводим
элементы массива A с 1-го по 30-й.
...
В цикле от 1 до 30 выводим
элементы массива A с 1-го по 30-й.
В качестве ответа Вам необходимо привести фрагмент программы (или описание алгоритма на естественном языке), который должен находиться на месте многоточия. Вы можете записать решение также на другом языке программирования (укажите название и используемую версию языка программирования, например, Borland Pascal 7.0) или в виде блок-схемы. В этом случае вы должны использовать переменные, аналогичные переменным, используемым в алгоритме, записанном на естественном языке, с учетом синтаксиса и особенностей используемого вами языка программирования.

Решение задачи №6.

Паскаль
Бейсик
Си
Естественный язык
x:=A[N];
for i:=N downto 2 do
A[i]:=A[i-1];
A[1]:=x;

X = A(N)
FOR I = N TO 2 STEP -1
A(I) = A(i-1)
NEXT I
A(1)=X
x=A[N-1];
for (i=N-1; i>0; i--)
A[i]=A[i-1];
A[0]=x;
Записываем в переменную X
значение последнего элемента
массива A[N]. В цикле для
переменной I от N до 2 элементу
массива A[I] присваиваем значение
A[I–1]. После окончания цикла
присваиваем элементу A[1] значение
переменной X.
Алгоритм решения задачи
Переменной Х зададим значение последнего элемента массива a[n], далее в цикле с 30 до 2 (цикл идет на уменьшение индекса) меняем элементы массива (a[i]:=a[i-1]). После прохода цикла все элементы кроме первого поменяли свое значение, осталось только поменять значение первому элементу массиву, меняем a[1]:=x (Х у нас имел значение последнего элемента массива). Задача решена.
Возврат к списку задач
Реклама
Календарь
«  Май 2024  »
ПнВтСрЧтПтСбВс
  12345
6789101112
13141516171819
20212223242526
2728293031
Поиск
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Счетчик яндекс
Яндекс.Метрика