Меню

упражнение на паскаль abc

Сборник задач по программированию на Паскале

Сборник задач по программированию на языке Паскаль

Автор : Селезнева Наталья Николаевна, учитель информатики и ИКТ МОУ Рязанцевской СОШ

Описание материала: Сборник задач посвящен вопросам программирования на языке программирования Pascal 7.0. В нем подробно рассматриваются решения большого количества задач, от простых до достаточно сложных.

Сборник адресован учащимся, преподавателям, ведущим занятия по информатике и программированию, а также всем желающим самостоятельно овладеть искусством программирования на языке Pascal 7.0.

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

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

1. Линейные алгоритмы 4

2. Разветвляющиеся алгоритмы 5

2.1 Условный оператор IF 5

2.2 Условный оператор CASE 6

3. Циклические алгоритмы 8

3.1 Оператор цикла FOR 8

3.2 Оператор цикла WHILE 9

4. Обработка массивов 12

4.1 Одномерные массивы 12

4.1.1 Алгоритмы поиска и присвоения значений элементам массива 12

4.1.2 Алгоритмы нахождения суммы, произведения и количества элементов массива. Работа с индексами элементов массива 14

4.1.3 Алгоритмы нахождения наибольшего или наименьшего элемента массива и его индекса 18

4.1.4 Алгоритмы удаления, вставки и перестановки элементов 21

4.1.5 Алгоритмы сортировки числового массива 22

4.2 Двумерные массивы 23

4.2.1 Алгоритмы действий над элементами двумерного массива 23

4.2.2 Алгоритмы формирования одномерного массива 28

4.2.3 Алгоритмы нахождения наибольшего и наименьшего элементов двумерного массива 31

4.2.4 Алгоритмы удаления, вставки и перестановки элементов 33

5.1 Подсчет и вывод символов 34

5.2 Удаление символов 35

5.3 Вставка символов 36

5.4 Сложные варианты 37

6. Создание графических изображений. Модуль Graph 39

Линейные алгоритмы

Write (‘ Введите два значения ‘);

Задача 2. Решить предыдущую задачу, не используя дополнительных переменных (и предполагая, что значениями целых переменных могут быть произвольные целые числа).

Write (‘ Введите два значения ‘);

Задача 3. Задан радиус окружности. Найти площадь и длину окружности.

Write (‘ Введите радиус окружности ‘);

WriteLn (‘ Площадь окружности = ’, S :4:2);

WriteLn (‘ Длина окружности = ‘, L :4:2);

Даны три действительных положительных числа. Найти среднее геометрическое и среднее арифметическое этих чисел.

Даны катеты прямоугольного треугольника. Найти его гипотенузу и площадь.

Мальчик купил несколько тетрадей по сто рублей и несколько обложек по 50 рублей. Составить программу, которая могла бы подсчитать стоимость всей покупки.

2. Разветвляющиеся алгоритмы

2.1 Условный оператор IF

Задача 1. Определить является ли данное целое число R четным. Дать словесный ответ.

WriteLn(‘ Введите число ‘);

IF R MOD 2 = 0 Then WriteLn(‘ Число четное ‘)

Else WriteLn(‘Число не четное’);

Задача 2. Даны три целых числа. Выбрать из них те, которые принадлежат интервалу [1,3]

WriteLn(‘Введите три целых числа’);

Else WriteLn(‘Первое число не принадлежит заданному интервалу’);

Else WriteLn(‘Второе число не принадлежит заданному интервалу’);

Else WriteLn(‘Третье число не принадлежит заданному интервалу’);

Задача 3. Даны положительные целые числа A, B, C. Выяснить существует ли треугольник с длинами сторон A, B, C.

WriteLn(‘ Введите три числа ‘);

IF (A+B>C) AND (A+C>B) AND (B+C>A) Then WriteLn(‘ Треугольник построить можно ‘)

Else WriteLn(‘Треугольник построить нельзя’);

2.2 Условный оператор CASE

Задача 1. Составить программу, которая по введенному значению 1, 2, 3, 4 вычисляет площадь треугольника:

По основанию и высоте

По двум сторонам и углу между ними

WriteLn(‘Вычисление площади треугольника’); WriteLn;

WriteLn(‘1.По основанию и высоте’);

WriteLn(‘2.По трем сторонам’);

WriteLn(‘3.По двум сторонам и углу между ними’);

WriteLn(‘ Введите номер пункта ‘); ReadLn(X);

Write(‘Введите основание и высоту треугольника ‘); ReadLn(A,H);

WriteLn(‘Площадь треугольника = ‘,S:5:2); ReadLn;

Write(‘Введите значения сторон треугольника ‘);

WriteLn(‘Площадь треугольника = ‘,S:5:2); ReadLn;

Write(‘Введите значения двух сторон и угол между ними ‘);

WriteLn(‘Площадь треугольника = ‘,S:5:2); ReadLn;

WriteLn(‘Программа закончила свою работу’); ReadLn;

WriteLn(‘ Номер пункта ввели неверно ‘); ReadLn;

Задача 2. Составить программу, которая по введенному значению выводит оценки по математике, физике, информатике.

VAR X: INTEGER; M:CHAR;

W rite L n(‘ПРГ выводит оценки по математике, физике и химии’);

Write L n(‘1.Вывод оценок по предметам’);

Write L n(‘Введите номер пункта’);

WriteLn(‘ По какому предмету Вы хотите увидеть оценки’);

‘ М ‘,’ м ‘:WriteLn(‘5 5 4 4 5 5 3 5 5 ‘);

‘ Ф ‘,’ ф ‘:WriteLn(‘5 4 5 3 5 4 5 5 5 ‘);

‘ Х ‘,’ х ‘:WriteLn(‘4 3 5 3 4 4 4 5 ‘);

WriteLn(‘ Программа закончена ‘);

WriteLn(‘ Номер неверен ‘); ReadLn;

Составить программу, которая по введенному значению 1, 2, 3 вычисляет:

день недели по его номеру

3. Циклические алгоритмы

3.1 Оператор цикла FOR

Задача 1. Найти произведение положительных, сумму и количество отрицательных из 10 введенных целых значений.

Читайте также:  норбеков зарядка и упражнения

X: INTEGER; S, K, P: INTEGER; I: BYTE;

FOR I:=1 TO 10 DO Begin

IF X >0 Then P := P * X ;

WriteLn (‘ Произведение положительных значений = ‘, p );

WriteLn (‘ Сумма отрицательных значений = ‘, s );

WriteLn (‘ Количество отрицательных значений = ‘, k );

Задача 2. Из N целых чисел найти минимальное значение.

VAR MI, X: INTEGER; I,N: BYTE;

WriteLn(‘Введите количество значений’); ReadLn(n);

WriteLn(‘Введите первое значение’); ReadLn ( mi );

FOR I:=2 TO N DO Begin

WriteLn (‘Минимальное значение = ‘, MI );

Задача 3. Из N целых чисел найти минимальное среди положительных и максимальное среди отрицательных значений.

MI, MA, N, I, X: INTEGER; FL, FL1: BYTE;

WriteLn(‘Введите количество значений’); ReadLn(N);

FOR I:=1 TO N DO Begin

WriteLn(‘ Введите ‘,I,’ значение ‘); ReadLn(X);

IF (FL1=0) AND (X>0) Then Begin

IF FL =1 T hen W riteLn(‘максимальное среди отрицательных = ‘,ma)

E lse WriteLn(‘отрицательных нет’);

IF FL 1=1 T hen W riteLn(‘минимальное среди положительных = ‘,mi)

E lse WriteLn(‘положительных нет’);

Найти среднее арифметическое минимального и максимального элементов из 10 введенных.

Напечатать лучший результат заплыва среди 8 участников.

Из n введенных чисел найти максимальное значение среди положительных элементов.

В группе определить самого высокого мальчика и самую маленькую девочку.

В ЭВМ вводятся результаты соревнований по прыжкам в высоту. Число участников произвольно. Напечатать сообщение о победителе.

3.2 Оператор цикла WHILE

Задача 1. Дано целое число а и натуральное (целое неотрицательное) число n. Вычислить а в степени n.

Write(‘ Введите два значения ‘); ReadLn(A,N);

While K <> N DO Begin

Write(‘ A в степени N = ’,B);

Другое решение той же задачи:

While K <> 0 DO Begin

Write(‘ A в степени N = ’,B);

Write(‘ Введите два значения ‘); ReadLn(A,B);

While K <> B DO Begin

Write(‘ Введите два значения ‘); ReadLn(a,d);

WriteLn (‘ Частное = ’, Q );

WriteLn(‘ Остаток = ’,R);

Задача 4. Каждый год урожайность повышается на 5%. Через сколько лет урожай удвоится?

YR, KL: BYTE; YRG: REAL;

Write(‘ Введите урожайность ‘); ReadLn(YR);

WriteLn(‘ Новый урожай ‘,YRG:5:0);

Задача 5. Деду M лет, а внуку N лет. Через сколько лет дед станет вдвое старше внука. И сколько при этом лет будет деду и внуку.

Write(‘Введите количество лет деда ‘); ReadLn(m);

Write(‘Введите количество лет внука ‘); ReadLn(n);

While (M>2*N) DO Begin

WriteLn(N,’ лет внуку’);

Задача 6. Поле засеяли цветами двух сортов на площади S 1 и S 2. Каждый год площадь цветов первого сорта увеличивается вдвое, а площадь второго сорта увеличивается втрое. Через сколько лет площадь первых сортов будет составлять меньше 10% от площади вторых сортов.

Write(‘Введите площадь, которую засеяли цветами 1-го сорта ‘); ReadLn(S1);

Write(‘Введите площадь, которую засеяли цветами 2-го сорта ‘); ReadLn(S2);

While (S1>0.1*S2) DO Begin

WriteLn(‘Площадь, которую засеяли цветами 1-го сорта ‘,S1);

WriteLn(‘Площадь, которую засеяли цветами 2-го сорта ‘,S2);

WriteLn(‘ Через ‘, kl,’ лет ‘);

Задача 7. Составить программу перевода числа из 10 системы счисления в 2 систему счисления.

Для этой задачи представлено два решения.

DES, OST, I, DW:INTEGER;

Write(‘ Введите десятичное число ‘); ReadLn(DES);

While (DES>=2) DO Begin

Write(‘Двоичная запись числа ‘, DW );

DW:Array[1..100] OF INTEGER;

Write(‘ Введите десятичное число ‘); ReadLn(des);

While (des>=2) DO Begin

FOR I:=I DownTo 1 DO

Составить программу, печатающую квадраты всех натуральных чисел от 0 до заданного натурального n.

Дано натуральное n, вычислить n! (0!=1, n! = n * (n-1)!).

Последовательность Фибоначчи определяется так: a(0)= 1, a(1) = 1, a(k) = a(k-1) + a(k-2) при k >= 2. Дано n, вычислить a(n).

К старушке на обед ходят кошки. Каждую неделю две кошки приводят свою подружку. В доме у старушки 100 мисок. Через какое время появятся лишние кошки, и сколько кошек при этом останется голодными.

Известна сумма номеров страниц, определить номер страницы.

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

4. Обработка массивов

4.1 Одномерные массивы

4.1.1 Алгоритмы поиска и присвоения значений элементам массива

A:ARRAY[0..N] OF INTEGER;

FOR I:=1 TO N DO Begin

Write(‘ Введите ‘,I,’ элемент массива ‘); ReadLn(A[I]);

IF A[I]>0 THEN WriteLn(‘ Положительный элемент = ‘,A[I],’ его индекс = ‘,I);

K:ARRAY[0..20] OF INTEGER;

FOR I:=1 TO 20 DO Begin

Задача 3. Составить программу вычисления и печати значений функции Y=sin(x-1)/2x. Значения аргументов задать в массиве X, состоящего из 6 элементов. Значения функции записать в массив Y.

FOR I:=1 TO 6 DO Begin

Write(‘Введите ‘,I,’ значение аргумента ‘); ReadLn(X[I]);

FOR I:=1 TO 6 DO Begin

M:ARRAY[0..30] OF INTEGER;

WriteLn(‘ Значения элементов массива’);

FOR I:=1 TO 30 DO Begin

WriteLn(‘ Значения каждого пятого и положительного элемента массива’);

IF M[I] > 0 THEN Write(M[I]:3);

Задача 5. Из элементов массива Р сформировать массив М той же размерности по правилу: если номер четный, то М[I]=I*P[I],если нечетный, то M[I]=-P[I].

Читайте также:  игры упражнения с песком и водой

P, M: ARRAY[0..N] OF INTEGER;

WriteLn(‘ Значения элементов массива ‘);

FOR I:=1 TO N DO Begin

WriteLn(‘ Значения элементов сформированного массива M’);

FOR I:=1 TO N DO Begin

IF I mod 2 =0 Then M[I]:=P[I]*I Else M[I]:=-P[I];

Составить программу вычисления и печати значений функции Y=(sinx+1)  cos 4x. Значения аргументов задать в массиве X, состоящего из 10 элементов. Значения функции записать в массив Y.

Заменить первые К элементов массива на противоположные по знаку.

4.1.2 Алгоритмы нахождения суммы, произведения и количества элементов массива. Работа с индексами элементов массива

Задача 1. Определить сумму элементов массива Р(n), значения которых > заданного Т

P:ARRAY[0..N] OF INTEGER;

WriteLn(‘ Значения элементов массива’);

FOR I:=1 TO N DO Begin

Write(‘ Введите значение переменной ‘); ReadLn(T);

WriteLn(‘ Сумма элементов массива > заданного значения = ‘,S);

Задача 2. Дан массив целых чисел, состоящий из 25 элементов. Подсчитать сумму элементов массива, произведение положительных и количество нулевых элементов. Результат вычисления вывести на экран.

A:ARRAY[0..25] OF INTEGER;

I: BYTE; S,K: INTEGER; P: REAL;

WriteLn(‘ Значения элементов массива’);

FOR I:=1 TO 25 DO Begin

FOR I:=1 TO 25 DO Begin

WriteLn(‘ Сумма элементов массива = ‘,S);

WriteLn(‘ Произведение положительных элементов массива = ‘,P:0:0);

WriteLn(‘ Количество нулевых элементов массива = ‘,K);

Задача 3. Дан массив четных чисел, состоящий из 15 элементов. Заполнить его с клавиатуры. Найти:

сумму элементов, имеющих нечетные индексы;

подсчитать количество элементов массива, значения которых больше заданного числа T и кратны 5;

номер первого отрицательного элемента, делящегося на 5 с остатком 2.

A:ARRAY[0..15] OF INTEGER;

I,NP,FL: BYTE; S,K: INTEGER;

FOR I:=1 TO 15 DO Begin

Write(‘ Введите ‘,I,’ злемент массива ‘); ReadLn(A[I]);

FOR I:=1 TO 15 DO Begin

IF I mod 2 =0 THEN S:=S+A[I];

IF (A[I]>T) AND (A[I] mod 5 =0) THEN K:=K+1;

WriteLn(‘ Сумма элементов,имеющих четные индексы = ‘,S);

WriteLn(‘ Количество элементов, значения которых > ‘,T,’ и кратны 5 = ‘,K);

WriteLn(‘ Номер первого отрицательного элемента, делящегося на 5 с остатком 2 = ‘,NP);

Задача 4. Дан массив четных чисел, состоящий из 10 элементов. Заполнить его с клавиатуры. Найти:

сумму положительных элементов, значения которых меньше 10;

вывести индексы тех элементов, значения которых кратны 5 и 3;

количество пар соседних элементов с суммой равной заданному числу.

A:ARRAY[0..10] OF INTEGER;

FOR I:=1 TO 10 DO Begin

Write(‘ Введите ‘,I,’ злемент массива ‘); ReadLn(A[I]);

WriteLn(‘ Индексы элементов, значения которых кратны 3 и 5’);

FOR I:=1 TO 10 DO Begin

IF (A[I] mod 3 =0) AND (A[I] mod 5 =0) THEN Write(I:3) ;

IF I<>10 THEN IF A[I]+A[I+1]=T THEN K:=K+1;

WriteLn(‘ Сумма положительных элементов, значения которых

WriteLn(‘ Количество пар соседних элементов с суммой равной ‘,T,’ = ‘,K);

Задача 5. Дан массив целых чисел, состоящий из 10 элементов. Заполнить его с клавиатуры. Найти:

удвоенную сумму положительных элементов;

вывести индексы тех элементов, значения которых больше значения предыдущего элемента (начиная со второго);

количество пар соседних элементов с одинаковыми знаками.

A:ARRAY[0..10] OF INTEGER;

FOR I:=1 TO 10 DO Begin

Write(‘ Введите ‘,I,’ злемент массива ‘); ReadLn(A[I]);

WriteLn(‘ Индексы элементов, значения которых > значения предыдущего элемента’);

FOR I:=1 TO 10 DO Begin

IF I<>1 THEN IF A[I] > A[I-1] THEN Write(I:3);

IF I<>10 THEN IF (A[I] * A[I+1])>0 THEN K:=K+1;

WriteLn(‘ Удвоенная сумма положительных элементов = ‘,S*2);

WriteLn(‘ Количество пар соседних элементов с одинаковыми знаками = ‘,K);

C:ARRAY[0..N] OF INTEGER;

WriteLn(‘ Значения элементов массива’);

FOR I:=1 TO N DO Begin

WriteLn(‘ Значения элементов массива в обратном порядке’);

FOR I:=N DOWNTO 1 DO

A:ARRAY[0..N] OF INTEGER;

WriteLn(‘ Значения элементов массива’);

FOR I:=1 TO N DO Begin

WriteLn(‘ Элементы с нечетными индексами’);

WriteLn(‘ Элементы с четными индексами’);

Дан массив целых чисел, состоящий из 10 элементов. Заполнить его с клавиатуры. Найти:

сумму отрицательных элементов;

количество тех элементов, значения которых положительны и не превосходят заданного числа А;

номер последней пары соседних элементов с разными знаками.

Дан массив целых чисел, состоящий из 10 элементов. Заполнить его с клавиатуры. Найти:

сумму элементов, имеющих нечетное значение;

вывести индексы тех элементов, значения которых больше заданного числа А;

количество положительных элементов, кратных К. ( К вводится с клавиатуры ).

Дан массив целых чисел, состоящий из N элементов. Определить среднее арифметическое положительных элементов.

Дан массив чисел. Найти, сколько в нем пар одинаковых соседних элементов.

Оценки, полученные учащимися за урок, занесены в массив. Подсчитать количество «5» и «2», полученных учащимися за урок и средний балл.

В очереди за билетами стоят мужчины и женщины. Какое количество мужчин стоит в начале очереди до первой женщины.

Читайте также:  зубы у взрослых упражнения

4.1.3 Алгоритмы нахождения наибольшего или наименьшего элемента массива и его индекса

K:ARRAY[0..45] OF INTEGER;

I,IND: BYTE; MIN:INTEGER;

WriteLn(‘ Значения элементов массива’);

FOR I:=1 TO 45 DO Begin

WriteLn(‘ Минимальное значение = ‘,MIN);

WriteLn(‘ Индекс минимального значения = ‘,IND);

B:ARRAY[0..N] OF INTEGER;

I,IND: BYTE; MAX,S:INTEGER;

WriteLn(‘ Значения элементов массива’);

FOR I:=1 TO N DO Begin

IF B[I]>MAX THEN Begin MAX:=B[I]; IND:=I; End;

WriteLn(‘ Максимальное значение = ‘,MAX);

WriteLn(‘ Cумма элементов, расположенных до максимального элемента =’,S);

A:ARRAY[0..N] OF INTEGER;

I,IND: BYTE; MIN:INTEGER;

WriteLn(‘ Значения элементов массива’);

FOR I:=1 TO N DO Begin

WriteLn(‘ Минимальное значение = ‘,MIN);

WriteLn(‘ Измененный массив’);

A:ARRAY[0..N] OF INTEGER;

I, IMIN, IMAX, k1, k2: BYTE; MIN, MAX:INTEGER;

WriteLn(‘ Значения элементов массива’);

FOR I:=1 TO N DO Begin

MIN:=A[1]; MAX:=A[1]; IMIN:=1; IMAX:=1;

FOR I:=2 TO N DO Begin

IF A[I]>MAX THEN Begin MAX:=A[I]; IMAX:=I; End;

WriteLn(‘ Минимальное значение = ‘,MIN);

WriteLn(‘ Максимальное значение = ‘,MAX);

ELSE Begin K1:=IMAX+1; K2:=IMIN-1; End;

WriteLn(‘ Измененный массив’);

Задача 5. Дан массив чисел. Найти наибольший элемент, поставить его первым.

MAS: ARRAY[1..100] OF INTEGER;

Write(‘ Введите размер массива N= ‘); ReadLn(N);

FOR I:=1 TO N DO Begin

Write(‘ Введите ‘,I,’ элемент массива ‘); ReadLn(MAS[I]);

FOR I:=N DOWNTO 1 DO

IF MAS[I]>NEW THEN Begin NEW:=MAS[I]; K:=I; End;

WriteLn(‘ Измененный массив’);

Задача 6. Известны данные о среднемесячной температуре за год. Определить, какая была самая высокая температура летом и самая низкая зимой.

MAS: ARRAY[1..12] OF REAL;

I: INTEGER; MIN,MAX:REAL;

FOR I:=1 TO 12 DO Begin

Write(‘ Введите среднюю температуру за ‘,I,’ месяц ‘); ReadLn(MAS[I]);

IF MIN>MAS[I] THEN MIN:=MAS[I];

WriteLn(‘ Самая высокая температура летом ‘,MAX);

WriteLn(‘ Самая низкая температура зимой ‘,MIN);

Дан массив чисел. Найти значение максимального элемента. Если таких элементов несколько, то определить, сколько их.

Дан массив чисел. Найти среднее арифметическое максимального и минимального элемента. Вывести значения и индексы этих элементов.

Дан массив чисел. Определить количество элементов, находящихся в интервале от1 до 12 и расположенных до максимального элемента массива.

4.1.4 Алгоритмы удаления, вставки и перестановки элементов

A:ARRAY[0..12] OF INTEGER;

WriteLn(‘ Значения элементов массива’);

FOR I:=1 TO 12 DO Begin

WriteLn(‘ Значения элементов измененного массива’);

Задача 2. Дан массив целых чисел из 15 элементов, заполненный случайным образом числами из промежутка [-20,50].

Удалить из него все элементы, в записи которых есть цифра 5.

Вставить число K после всех элементов, кратных своему номеру (К вводится с клавиатуры).

Поменять местами первый положительный и последний отрицательный элементы.>

P,P1:ARRAY[0..15] OF INTEGER; P2:ARRAY[0..30] OF INTEGER;

I,J,E,D,PP,PO,FL: BYTE; K,PRP:INTEGER;

WriteLn(‘ Значения элементов массива P’);

FOR I:=1 TO 15 DO Begin

FOR I:=1 TO 15 DO Begin

E:=ABS(P[I]) mod 10;

IF (E<>5) AND (D<>5) THEN Begin P1[J]:=P[I]; J:=J+1; End;

WriteLn(‘ Массив, в котором нет элементов с цифрой 5’);

Write(‘ Введите значение переменной ‘); ReadLn(K);

FOR I:=1 TO 15 DO Begin

IF ABS(P[I]) mod I = 0 THEN Begin P2[J]:=K; J:=J+1; End;

WriteLn(‘ Массив, в котором после элементов, кратных своему номеру, вставлено число =’,K);

FOR I:=1 TO 15 DO Begin

IF (P[I]>0) AND (FL=0) THEN Begin PP:=I; FL:=1; End;

WriteLn(‘ Массив, в котором первый положительный и последний отрицательный’);

WriteLn(‘ поменяли местами’);

Дан массив целых чисел из 10 элементов, заполненный случайным образом из промежутка [-40, 30].

Удалить из него все элементы, которые состоят из одинаковых цифр ( включая однозначные числа).

Вставить число К перед всеми элементами, в которых есть цифра 1 (К вводится с клавиатуры)

Переставить первые три и последние три элемента местами, сохраняя порядок их следования.

4.1.5 Алгоритмы сортировки числового массива

Задача 1. Отсортировать числовой массив. Первый способ.

A:ARRAY[0..N] OF INTEGER;

WriteLn(‘ Значения элементов массива ‘);

FOR I:=1 TO N DO Begin

FOR J:=N DOWNTO I DO

IF A[J-1]>A[J] THEN Begin PP:=A[J]; A[J]:=A[J-1]; A[J-1]:=PP; End;

WriteLn(‘ Отсортированный массив ‘);

Задача 2. Отсортировать числовой массив. Второй способ.

A:ARRAY[0..N] OF INTEGER;

WriteLn(‘ Значения элементов массива ‘);

FOR I:=1 TO N DO Begin

IF A[I]>A[J] THEN Begin PP:=A[I]; A[I]:=A[J]; A[J]:=PP; End;

WriteLn(‘ Отсортированный массив ‘);

Даны два упорядоченных массива целых чисел М1 и М2. Слить их в упорядоченный массив. Рассмотреть случаи, когда массивы М1 и М2 упорядочены одинаково и когда по-разному.

4.2 Двумерные массивы

4.2.1 Алгоритмы действий над элементами двумерного массива

Задача 1. В течение недели измерялась температура три раза в день: утром, в обед и вечером. Показания записали в таблицу размерностью 7х3. Определить среднюю температуру за каждый день.

T:ARRAY[0..7,0..3] OF INTEGER;

I,J:BYTE; S:INTEGER; ST:REAL; A:STRING[12];

FOR I:=1 TO 7 DO Begin

WriteLn(‘ Введите показания за ‘,I,’ день’);

Источник

Adblock
detector