РЕШЕНИЕ ЛИНЕЙНОЙ СИСТЕМЫ УРАВНЕНИЙ
, .
ОПЕРАТОР ВЫБОРА CASE
Оператор выбора выполняет одно действие из нескольких в зависимости от значения некоторого выражения, называемого переключателем. Он имеет следующий вид:
case переключатель of
список выбора 1: оператор1;
...
список выбора N: операторN
else оператор0;
end;
Case1 Дано целое число в диапазоне 1–7. Вывести строку - название дня недели, соответствующее данному числу (1 - «понедельник», 2 - «вторник» и т. д.).
program case1;
var n: byte; // byte - 0 ... 255
Begin
writeln ('Введите номер дня недели');
readln (N);
Case N of
1: writeln (' понедельник ');
…
Writeln ('воскресенье')
else writeln ('диапазон от 1 до 7!')
end ;
End .
Case4 Дан номер месяца - целое число в диапазоне 1–12 (1 - январь, 2 - февраль и т. д.). Определить количество дней в этом месяце для не високосного года.
Case18 Дано целое число в диапазоне 100–999. Вывести строку-описание данного числа, например: 256 - «двести пятьдесят шесть», 814 - «восемьсот четырнадцать».
Case19 В восточном календаре принят 60-летний цикл, состоящий из 12-летних подциклов, обозначаемых названиями цвета: зеленый, красный, желтый, белый и черный. В каждом подцикле годы носят названия животных: крысы, коровы, тигра, зайца, дракона, змеи, лошади, овцы, обезьяны, курицы, собаки и свиньи. По номеру года определить его название, если 1984 год - начало цикла: «год зеленой крысы».
Case20. Даны два целых числа: D (день) и M (месяц), определяющие правильную дату. Вывести знак Зодиака, соответствующий этой дате: «Водолей» (20.1–18.2), «Рыбы» (19.2–20.3), «Овен» (21.3–19.4), «Телец» (20.4–20.5), «Близнецы» (21.5–21.6), «Рак» (22.6–22.7), «Лев» (23.7–22.8), «Дева» (23.8–22.9), «Весы» (23.9–22.10), «Скорпион» (23.10–22.11), «Стрелец» (23.11–21.12), «Козерог» (22.12–19.1).
|
|
ЦИКЛ С ПАРАМЕТРОМ. ОПЕРАТОР ЦИКЛА FOR .. TO ..
for i:=1 to 5 do
"for" – от i – переменная цикла (целое) i:=1 …
"to" – до 1 – начальное значение i :=2 …
"do" – делать 5 – конечное значение i :=3 …
i :=4 …
i :=5 …
for i :=7 downto 2 do – в обратном порядке, вниз
For1 Даны целые числа N и K (N > 0). Вывести N раз число K.
Вход: ; Выход:
For2 Даны два целых числа A и B (A < B). Вывести в порядке возрастания все целые числа, расположенные между A и B (включая сами числа A и B), а также количество N этих чисел.
Вход: ; Выход:
var i, a, b: integer;
Begin
read (a,b);
for i:=a to b do write (i,' ');
|
|
writeln;
writeln ('N=', b-a+1);
End .
For3 Даны два целых числа A и B (A< B). Вывести в порядке убывания все целые числа, расположенные между A и B (не включая числа A и B), а также количество N этих чисел.
Вход: ; Выход:
For4 Дано вещественное число - цена 1 кг конфет. Вывести стоимость 1, 2, . . . , 10 кг конфет.
Вход: 12.20; Выход: 12.2 24.4 36.6 48.8 61.0 73.2 85.4 97.6 109.8 122.0
For7 Даны два целых числа A и B (A < B). Найти сумму всех целых чисел от A до B включительно.
Вход: ; Выход:
var a, b, i, s: integer;
Begin
s:=0;
readln (a,b);
for i:=a to b
do s:=s+i;
writeln ('s=', s);
End.
For9 Даны два целых числа A и B (A < B). Найти сумму квадратов всех целых чисел от A до B включительно.
Вход: ; Выход:
For10 Дано целое число N (>0). Найти сумму (вещественное число).
Вход: ; Выход:
For11 Дано целое число N (>0). Найти сумму
(целое число).
Вход: ; Выход:
For12 Дано целое число N (> 0). Найти произведение
(N сомножителей).
Вход: ; Выход:
var i, n: integer;
pr: real;
Begin
read (n); pr:=1;
for i:=1 to n do
pr:=pr*(1+i/10);
writeln (pr);
End .
For13 Дано целое число N (> 0). Найти значение выражения 1.1 − 1.2 + 1.3 − … (N слагаемых, знаки чередуются). Условный оператор не использовать.
Вход: ; Выход:
For14 Дано целое число N (> 0). Найти квадрат данного числа, используя для его вычисления следующую формулу: . После добавления к сумме каждого слагаемого выводить текущее значение суммы (в результате будут выведены квадраты всех целых чисел от 1 до N).
|
|
Вход: ; Выход:
For15 Дано вещественное число A и целое число N (> 0). Найти A в степени N.
Вход: ; Выход:
For16 Дано вещественное число A и целое число N (> 0). Используя один цикл, вывести все целые степени числа A от 1 до N.
Вход: ; Выход:
For18 Дано вещественное число A и целое число N (> 0). Используя один цикл, найти значение выражения . Условный оператор не использовать.
Вход: ; Выход:
For19 Дано целое число N (> 0). Найти (N–факториал).
Вход: ; Выход:
var i, n: integer;
pr: longint;
Begin
read (n);
pr:=1;
for i:=1 to n do pr:=pr*i;
writeln (pr);
End.
For21 Дано целое число N (> 0). Используя один цикл, найти сумму
Полученное число является приближенным значением константы .
Вход: ; Выход:
var i, n, p: integer;
s: real;
Begin
readln (n);
s:=1; p:=1;
for i:=1 to n do
Begin
p:=p*i;
s:=s+1/p;
end;
write ('сумма 1/N!= ',s:1:8);
End .
For23 Дано вещественное число X и целое число N (> 0). Найти значение выражения . Полученное число является приближенным значением функции .
Вход: ; Выход:
For24 Дано вещественное число X и целое число N (> 0). Найти значение выражения . Полученное число является приближенным значением функции .
|
|
Вход: ; Выход:
For29 Дано целое число N (> 1) и две вещественные точки на числовой оси: A, B ( ). Отрезок разбит на N равных отрезков. Вывести H - длину каждого отрезка, а также набор точек образующий разбиение отрезка .
Вход: ; Выход:
For33 Дано целое число N (> 1). Последовательность чисел Фибоначчи (целого типа) определяется следующим образом: . Вывести элементы .
Вход: ; Выход:
For36 Даны целые положительные числа N и K. Найти сумму . Чтобы избежать целочисленного переполнения, вычислять слагаемые этой суммы с помощью вещественной переменной и выводить результат как вещественное число.
Вход: ; Выход:
For37 Дано целое число N (>0). Найти сумму . Чтобы избежать целочисленного переполнения, вычислять слагаемые этой суммы с помощью вещественной переменной и выводить результат как вещественное число.
Вход: ; Выход:
For38 Дано целое число N (>0). Найти сумму . Чтобы избежать целочисленного переполнения, вычислять слагаемые этой суммы с помощью вещественной переменной и выводить результат как вещественное число.
Вход: ; Выход:
For40 Даны целые числа A и B ( ). Вывести все целые числа от A до B включительно; при этом число A должно выводиться 1 раз, число A+1 должно выводиться 2 раза и т. д.
Вход: ; Выход:
18. ЦИКЛ С УСЛОВИЕМ. ОПЕРАТОР ЦИКЛ "ПОКА", WHILE
while <условие> do <действие, пока выполняется условие>;
while – пока, do – делать
while i < 7 do i:= i + 1;
i :=0, i :=0+1=1
i :=1, i :=1+1=2
…
i :=6, i :=6+1=7
7<7 нет! Выход из цикла, действие переходит на следующую строку. i=7
While11 Дано целое число . Вывести наименьшее из целых чисел K, для которых сумма будет больше или равна N, и саму эту сумму.
Вход: Выход:
Вход: Выход:
var k, sum, n: integer;
Begin
writeln ('введите предел суммы');
read (n);
while sum<n do
Begin
k:=k+1;
sum:=sum+k;
end;
writeln ('k=',k,' sum=',sum);
End .
While1 Даны положительные числа A и B . На отрезке длины A размещено максимально возможное количество отрезков длины B (без наложений). Не используя операции умножения и деления, найти длину незанятой части отрезка.
Вход: ; Выход:
While2 Даны положительные числа A и B . На отрезке длины A размещено максимально возможное количество отрезков длины B (без наложений). Не используя операции умножения и деления, найти количество отрезков B, размещенных на отрезке A.
Вход: ; Выход:
While3 Даны целые положительные числа N и K. Используя только операции сложения и вычитания, найти частное от деления нацело N на K, а также остаток от этого деления.
Вход: ; Выход: Остаток 3
While4 Дано целое число . Если оно является степенью числа 3, то вывести TRUE, если не является — вывести FALSE.
Вход: Выход: FALSE
While5 Дано целое число , являющееся некоторой степенью числа 2: . Найти целое число K — показатель этой степени.
Вход: Выход: 9
While7 Дано целое число . Найти наименьшее целое положительное число K, квадрат которого превосходит N: . Функцию извлечения квадратного корня не использовать.
Вход: Выход:
var n, k, st: integer;
Begin
read (n);
k:=1; st:=1;
while st<n do
Begin
inc(k);
st:=sqr(k);
end;
writeln (k);
End.
While8 Дано целое число . Найти наибольшее целое число K, квадрат которого не превосходит N: . Функцию извлечения квадратного корня не использовать.
Вход: Выход:
While12 Дано целое число . Вывести наибольшее из целых чисел K, для которых сумма будет ≤ N, и саму эту сумму.
Вход: Выход:
Вход: Выход:
While13 Дано число . Вывести наименьшее из целых чисел K, для которых сумма будет больше A, и саму эту сумму.
Вход: Выход:
While15 Начальный вклад в банке равен 1000 руб. Через каждый месяц размер вклада увеличивается на P процентов от имеющейся суммы (P — вещественное число, ). По данному P определить, через сколько месяцев размер вклада превысит 1100 руб., и вывести найденное количество месяцев K (целое число) и итоговый размер вклада S (вещественное число).
Вход: Выход:
While19 Дано целое число . Используя операции деления нацело и взятия остатка от деления, найти число, полученное при прочтении числа N справа налево.
Вход: Выход:
While20 Дано целое число . С помощью операций деления нацело и взятия остатка от деления определить, имеется ли в записи числа N цифра «2». Если имеется, то вывести TRUE, если нет — вывести FALSE.
Вход: Выход: TRUE
var n: longint;
fl: boolean;
Begin
fl:=FALSE;
read (n);
while n>0 do
Begin
if (n mod 10)=2 then fl:=TRUE;
n:=n div 10;
end;
Write (fl);
End .
While21 Дано целое число . С помощью операций деления нацело и взятия остатка от деления определить, имеются ли в записи числа N нечетные цифры. Если имеются, то вывести TRUE, если нет — вывести FALSE.
Вход: Выход: FALSE
While22 Дано целое число . Если оно является простым, то есть не имеет положительных делителей, кроме 1 и самого себя, 'простое число', иначе вывести 'составное число'.
Вход: N=383 Выход: простое число
While23 Даны целые положительные числа A и B. Найти их наибольший общий делитель (НОД), используя алгоритм Евклида: если ; .
Вход: Выход:
var a,b: longint;
Begin
read (a,b);
write ('НОД(',a,';',b,')=');
while a<>b do
if a>b then a:=a-b else b:=b-a;
write ( a );
End .
While27 Дано целое число , являющееся числом Фибоначчи: . Найти целое число K — порядковый номер числа Фибоначчи N.
Вход: Выход:
While30 Даны положительные числа . На прямоугольнике размера размещено максимально возможное количество квадратов со стороной C (без наложений). Найти количество квадратов, размещенных на прямоугольнике. Операции умножения и деления не использовать.
Вход: Выход: Кол-во квадратов: 24
ПОСЛЕДОВАТЕЛЬНОСТИ
Во всех заданиях данной группы предполагается, что исходный набор содержит ненулевое число элементов (в частности, число N всегда больше нуля). В заданиях на обработку нескольких наборов чисел (Series29-Series40) количество наборов K также всегда является ненулевым.
Для решения заданий из данной группы следует использовать «однопроходные» алгоритмы, позволяющие получить требуемый результат после однократного просмотра набора исходных данных. Однопроходные алгоритмы обладают важным преимуществом: для них не требуется хранить в памяти одновременно весь набор данных, поэтому при программной реализации этих алгоритмов можно не использовать массивы.
Series1 Даны N вещественных чисел. Найти их сумму.
Вход:
Выход:
var N,i: integer;
a,s: real;
Begin
writeln ('введите N');
readln (n);
for i:=1 to n do
Begin
readln (a);
s:=s+a;
end;
writeln (s);
End.
Series2 Даны N вещественных чисел. Найти их произведение.
Вход:
Выход:
Series3 Даны N вещественных чисел. Найти их среднее арифметическое.
Вход:
Выход:
Series5 Дано целое число N и набор из N положительных вещественных чисел. Вывести в том же порядке целые части всех чисел из данного набора (как вещественные числа с нулевой дробной частью), а также сумму всех целых частей.
Вход:
Выход:
var N,i: integer;
a,s: real;
Begin
writeln ('введите N');
readln (n);
for i:=1 to n do
Begin
read (a);
a:=trunc(a);
s:=s+a;
write (a:4:2,' ');
end;
writeln;
writeln ('Сумма целых частей:', s :6:2);
End.
Series13 Дан набор ненулевых целых чисел; признак его завершения - число 0. Вывести сумму всех положительных четных чисел из данного набора. Если требуемые числа в наборе отсутствуют, то вывести 0.
Вход:
Выход:
Series15 Дано целое число К и набор ненулевых целых чисел; признак его завершения — число 0. Вывести номер первого числа в наборе, большего K. Если таких чисел нет, то вывести 0.
Вход:
Выход:
var k,a,i: integer;
Begin
writeln ('Введи K');
read(k);
writeln ('Введи числа');
Repeat
Begin
read(a);
inc(i);
End
until (a>k) or (a=0);
if a=0 then i:=0;
writeln ('Номер ',i);
End .
Series16 Дано целое число К и набор ненулевых целых чисел; признак его завершения — число 0. Вывести номер последнего числа в наборе, большего K. Если таких чисел нет, то вывести 0.
Вход:
Выход:
Series17 Дано вещественное число В, целое число N и набор из N вещественных чисел, упорядоченных по возрастанию. Вывести элементы набора вместе с числом В, сохраняя упорядоченность выводимых чисел.
Вход:
Выход:
Series18 Дано целое число N и набор из N целых чисел, упорядоченный по возрастанию. Данный набор может содержать одинаковые элементы. Вывести в том же порядке все различные элементы данного набора.
Вход:
Выход:
Series21 Дано целое число N (> 1) и набор из N вещественных чисел. Проверить, образует ли данный набор возрастающую последовательность. Если образует, то вывести True, если нет — вывести False.
Вход:
Выход: False
Series22 Дано целое число N (> 1) и набор из N вещественных чисел. Если данный набор образует убывающую последовательность, то вывести 0; в противном случае вывести номер первого числа, нарушающего закономерность.
Вход:
Выход: 2
Series23 Дано целое число N (> 2) и набор из N вещественных чисел. Набор называется пилообразным, если каждый его внутренний элемент либо больше, либо меньше обоих своих соседей (то есть является «зубцом»). Если данный набор является пилообразным, то вывести 0; в противном случае вывести номер первого элемента, не являющегося зубцом.
Вход:
Выход: 3
var n,k,a,b,c: integer;
Begin
writeln ('Введи N');
read(n);
writeln ('Введи числа');
read(a);
read(b);
read(c);
k:=2;
while (((b>a) and (b>c)) or ((b<a) and (b<c))) and (k<(n-1)) do
Begin
a:=b; b:=c;
inc(k);
read(c);
end;
if (((b>a) and (b>c)) or ((b<a) and (b<c))) then k:=0;
writeln ('K=',k);
End.
Series24 Дано целое число N и набор из N целых чисел, содержащий по крайней мере два нуля. Вывести сумму чисел из данного набора, расположенных между последними двумя нулями (если последние нули идут подряд, то вывести 0).
Вход:
Выход: 11
Series25 Дано целое число N и набор из N целых чисел, содержащий по крайней мере два нуля. Вывести сумму чисел из данного набора, расположенных между первым и последним нулем (если первый и последний нули идут подряд, то вывести 0).
Вход:
Выход: 12
Series38 Дано целое число K, а также K наборов ненулевых целых чисел. Каждый набор содержит не менее двух элементов, признаком его завершения является число 0. Для каждого набора выполнить следующее действие: если элементы набора возрастают, то вывести 1; если элементы набора убывают, то вывести -1; если элементы набора не возрастают и не убывают, то вывести 0.
Вход:
Набор1: 6 7 9 0
Набор2: 9 8 7 0
Набор3: 1 6 7 4 55 0
Выход: Набор1: 1 Набор2: -1 Набор3: 0
Series39 Дано целое число К, а также К наборов ненулевых целых чисел. Каждый набор содержит не менее трех элементов, признаком его завершения является число 0. Найти количество пилообразных наборов (определение пилообразного набора дано в задании Series23).
Вход:
Набор1: 6 7 9 0
Набор2: 9 8 7 0
Набор3: 1 7 6 10 5 0
Выход: 1
Series40 Дано целое число K, а также K наборов ненулевых целых чисел. Каждый набор содержит не менее трех элементов, признаком его завершения является число 0. Для каждого набора выполнить следующее действие: если набор является пилообразным (см. задание Series23), то вывести количество его элементов; в противном случае вывести номер первого элемента, который не является зубцом.
Вход:
Набор1: 6 7 9 0
Набор2: 9 8 7 0
Набор3: 1 7 6 10 5 0
Выход: Набор1: № элемента 2 Набор2: № элемента 2 Набор3: Кол.эл. 5
МИНИМУМЫ И МАКСИМУМЫ
Для решения заданий из данной группы следует использовать «однопроходные» алгоритмы, позволяющие получить требуемый результат после однократного просмотра набора исходных данных. Однопроходные алгоритмы обладают важным преимуществом: для них не требуется хранить в памяти одновременно весь набор данных, поэтому при программной реализации этих алгоритмов можно не использовать массивы. Во всех заданиях данной группы предполагается, что исходный набор содержит ненулевое количество элементов (в частности, число N всегда больше нуля).
Minmax1 Дано целое число N и набор из N чисел. Найти минимальный и максимальный из элементов данного набора и вывести их в указанном порядке.
Вход: 1 7 6 10 5 8
Выход: Min:1 Max:10
var N,i: integer;
a,Min,Max: real;
Begin
read(N);
read (a);
Min:=a; Max:=a;
for i:=2 to N do
Begin
read(a);
if a>Max then Max:=a;
if a<Min then Min:=a;
end;
writeln ('Min:',Min,' Max:',Max);
End .
Minmax2 Дано целое число N и набор из N прямоугольников, заданных своими сторонами - парами чисел . Найти минимальную площадь прямоугольника из данного набора.
Вход: 1.5 8.3 7.0 6.6 6.7 10.8 5.4 8.8
Выход: 12.45
Minmax6 Дано целое число N и набор из N целых чисел. Найти номера первого минимального и последнего максимального элемента из данного набора и вывести их в указанном порядке.
Вход: 7 1 1 10 5 10
Выход:
Minmax8 Дано целое число N и набор из N целых чисел. Найти номера первого и последнего минимального элемента из данного набора и вывести их в указанном порядке.
Вход: 7 1 1 10 1 1
Выход:
Minmax10 Дано целое число N и набор из N целых чисел. Найти номер первого экстремального (то есть минимального или максимального) элемента из данного набора.
Вход: 3 4 7 1 7 1
Выход:
var N,i,Min1N,Max1N,Ext1N: integer;
a,Min,Max: real;
Begin
read (N);
read (a);
Min1N:=1; Max1N:=1; Max:=a; Min:=a;
for i:=2 to N do
Begin
read (a);
if a>Max then
Begin
Max:=a;
Max1N:=i;
end;
if a<Min then
Begin
Min:=a;
Min1N:=i;
end;
end;
if Max1N<Min1N then Ext1N:=Max1N else Ext1N:=Min1N;
writeln ('N 1-ого extremal элемента:',Ext1N);
End .
Minmax12 Дано целое число N и набор из N чисел. Найти минимальное положительное число из данного набора. Если положительные числа в наборе отсутствуют, то вывести 0.
Вход: -3 4 -7 -1 7 3
Выход:
Minmax13 Дано целое число N и набор из N целых чисел. Найти номер первого максимального нечетного числа из данного набора. Если нечетные числа в наборе отсутствуют, то вывести 0.
Вход: -3 4 3 3 7 7
Выход:
Minmax14 Дано число и набор из десяти чисел. Вывести минимальный из тех элементов набора, которые больше B, а также его номер. Если чисел, больших B, в наборе нет, то дважды вывести 0.
Вход: -3 4 8 3 7 7 6 5 4 6
Выход:
Minmax16 Дано целое число и набор из целых чисел. Найти количество элементов, расположенных перед первым минимальным элементом.
Вход: 8 4 8 3 1 7 6 1 4
Выход: 3
Minmax18 Дано целое число N и набор из N целых чисел. Найти количество элементов, содержащихся между первым и последним максимальным элементом. Если в наборе имеется единственный максимальный элемент, то вывести 0.
Вход: 8 4 9 3 9 7 6 1 4
Выход: 1
Minmax20 Дано целое число N и набор из N целых чисел. Найти общее количество экстремальных (то есть минимальных и максимальных) элементов из данного набора.
Вход: 8 7 1 3 5 7 6 1 1
Выход: 5
Minmax21 Дано целое число и набор из N чисел - значений некоторой величины, полученных в N опытах. Найти среднее значение этой величины. При вычислении среднего значения не учитывать минимальное и максимальное из имеющихся в наборе значений.
Вход: 8 7 1 3 5 7 6 1 1
Выход: 4.67
Minmax22 Дано целое число и набор из N чисел. Найти два наименьших элемента из данного набора и вывести эти элементы в порядке возрастания их значений.
Вход: 8 7 -1 3 -5 7 -6 1 1
Выход: -6 -5
Minmax24 Дано целое число и набор из N чисел. Найти максимальную сумму двух соседних чисел из данного набора.
Вход: 8 7 1 3 5 7 2 6 1
Выход: 12
Minmax26 Дано целое число N и набор из N целых чисел. Найти максимальное количество четных чисел в наборе, идущих подряд. Если четные числа в наборе отсутствуют, то вывести 0.
Вход: 8 7 2 4 5 8 2 6 4
Выход: 4
Minmax27 Дано целое число N и набор из N целых чисел, содержащий только нули и единицы. Найти номер элемента, с которого начинается самая длинная последовательность одинаковых чисел, и количество элементов в этой последовательности. Если таких последовательностей несколько, то вывести номер первой из них.
Вход: 8 01100111
Выход: 6 3
Minmax28 Дано целое число N и набор из N целых чисел, содержащий только нули и единицы. Найти номер элемента, с которого начинается самая длинная последовательность единиц, и количество элементов в этой последовательности. Если таких последовательностей несколько, то вывести номер последней из них. Если единицы в исходном наборе отсутствуют, то дважды вывести 0.
Вход: 8 01110111
Выход: 6 3
var a,b,N,i,kmax,k,nach,nachM: integer;
Begin
read (N);
read(a);
if a=1 then begin k:=1; nach:=1; end;
for i:=2 to N do
Begin
b:=a;
read(a);
if (a=b) and (a=1) then
Begin
if k=1 then nach:=i-1;
inc(k);
End
Else
Begin
if k>=kmax then
Begin
kmax:=k;
nachM:=nach;
end;
k:=1;
end;
end;
if k>=kmax then begin
kmax:=k;
nachM:=nach;
end;
if (kmax=1) and (nachM=0) then kmax:=0;
write(nachM,' ',kmax);
End .
Minmax29 Дано целое число N и набор из N целых чисел. Найти максимальное количество подряд идущих минимальных элементов из данного набора.
Вход: 8 01001000
Выход: 3
Minmax30 Дано целое число N и набор из N целых чисел. Найти минимальное количество подряд идущих максимальных элементов из данного набора.
Вход: 8 01110100
Выход: 1
ОДНОМЕРНЫЙ МАССИВ
МАССИВ, МАТРИЦА - упорядоченный набор данных | ||||||
а) одномерный МАССИВ (ARRAY) | ||||||
номера элементов | 1 | 2 | 3 | 4 | 5 | 6 |
mas | 180 | 175 | 168 | 174 | 165 | 177 |
mas - имя массива (часто имя массива А) | ||||||
mas[1] - первый элемент массива, mas[1]=180 | ||||||
mas[6] - шестой элемент массива, mas[6]=177 | ||||||
массив задается так: mas: array [1..6] of integer; |
Array1 Дано целое число N (>0). Сформировать и вывести целочисленный массив размера N, содержащий N первых положительных нечетных чисел: 1, 3, 5, . . . .
var i,n: integer;
a: array [1..10] of integer;
Begin
read (n);
for i:=1 to n do
Begin
a[i]:=2*i-1;
write ('a[',i,']=',a[i],' ');
end;
End.
Array5 Дано целое число N (>2). Сформировать и вывести целочисленный массив размера N, содержащий N первых элементов последовательности чисел Фибоначчи .
Вход:
Выход: 1 1 2 3 5 8 13 21 34
Array6 Даны целые числа N (> 2), A и B. Сформировать и вывести целочисленный массив размера N, первый элемент которого равен A, второй равен B, а каждый последующий элемент равен сумме всех предыдущих.
Вход:
Выход: 5 3 8 16 32 64
Array7 Дан массив размера N. Вывести его элементы в обратном порядке.
Вход: 8 5 3 77 8 2 Выход: 2 8 77 3 5 8
Array18 Дан массив A ненулевых целых чисел размера 10. Вывести значение первого из тех его элементов , которые удовлетворяют неравенству . Если таких элементов нет, то вывести 0.
Вход: 9 8 7 6 5 4 3 2 1 4
Выход: 3
Array19 Дан целочисленный массив A размера 10. Вывести порядковый номер последнего из тех его элементов , которые удовлетворяют двойному неравенству . Если таких элементов нет, то вывести 0.
Вход: 4 8 7 6 4 5 3 2 1 9
Выход: 6
var a: array[1..10] of integer;
i,k: integer;
Begin
for i:=1 to 10 do read (a[i]);
for i:=2 to 9 do
if (a[i]>a[1]) and (a[i]<a[10]) then k:=i;
write ( k );
End .
Array21 Дан массив размера N и целые числа K и L ( ). Найти среднее арифметическое элементов массива с номерами от K до L включительно.
Вход: 1 2 3 4 5 6 7 8 9 10
Выход: 4.5
Array26 Дан целочисленный массив размера N. Проверить, чередуются ли в нем четные и нечетные числа. Если чередуются, то вывести 0, если нет, то вывести порядковый номер первого элемента, нарушающего закономерность.
Вход: 1 2 3 4 6 7
Выход: 5
Array28 Дан массив A размера N. Найти минимальный элемент из его элементов с четными номерами: .
Вход: 1 4 3 3 6 2
Выход: 2
Array32 Дан массив размера N. Найти номер его первого локального минимума (локальный минимум — это элемент, который меньше любого из своих соседей).
Вход: 4 5 3 6 2 4
Выход: 3
Array34 Дан массив размера N. Найти максимальный из его локальных минимумов (определение локального минимума дано в задании Array32).
Вход: 2 1 5 3 6 4 5 8
Выход: 4
Array37 Дан массив размера N. Найти количество участков, на которых его элементы возрастают.
Вход: 2 9 3 2 4 7 8 7 6 9
Выход: 3
Array39 Дан массив размера N. Найти количество его промежутков монотонности (то есть участков, на которых его элементы возрастают или убывают).
Вход: 2 9 3 2 4 7 8 7 6 9
Выход: 5
Array42 Дано число R и массив размера N. Найти два соседних элемента массива, сумма которых наиболее близка к числу R, и вывести эти элементы в порядке возрастания их индексов (определение наиболее близких чисел дано в задании Array40).
Вход: 4.9 5.2 4.7 7.7 6.9 8.0
Выход: 6.9 8
Array45 Дан массив размера N. Найти номера двух ближайших элементов из этого массива (то есть элементов с наименьшим модулем разности) и вывести эти номера в порядке возрастания.
Вход: 4.9 5.2 4.7 7.7 6.9 4.6
Выход: 3 6
Array47 Дан целочисленный массив размера N. Найти количество различных элементов в данном массиве.
Вход: 6 2 9 6 2 3 1 2 6 2
Выход: 5
Array48 Дан целочисленный массив размера N. Найти максимальное количество его одинаковых элементов.
Вход: 6 2 9 6 2 3 1 2 6 2
Выход: 4
program sort_puzir;
var n,i,j,pr:integer;
mas: array [1..100] of integer;
Begin
readln (n);
for i:=1 to n do read (mas[i]);
for i:=1 to n-1 do
for j:=1 to n-i do
if mas[j]>mas[j+1]then
Begin
pr:=mas[j];
mas[j]:=mas[j+1];
mas[j+1]:=pr;
End;
for i:= 1 to n do write (mas[i],' ');
End .
Дата добавления: 2019-09-13; просмотров: 222; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!