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

За правильное выполненное задание получишь 2 балла. На решение отводится примерно 30 минут.

Задачи для тренировки

Задача №1

Дан мас­сив состоящий из 40 целых чисел. Напишите на есте­ствен­ном языке или на одном из язы­ков про­грам­ми­ро­ва­ния ал­го­ритм, поз­во­ля­ю­щий найти и вы­ве­сти максимальный нечетный эле­мен­т мас­си­ва.  Гарантируется, что хотя бы один такой элемент в массиве есть.

На­при­мер, для мас­си­ва из пяти эле­мен­тов: 10 3 140 55 26 – ответ: 55.
Ис­ход­ные дан­ные объ­яв­ле­ны так, как по­ка­за­но ниже на при­ме­рах для не­ко­то­рых язы­ков про­грам­ми­ро­ва­ния и есте­ствен­но­го языка. За­пре­ща­ет­ся ис­поль­зо­вать пе­ре­мен­ные, не опи­сан­ные ниже, но раз­ре­ша­ет­ся не ис­поль­зо­вать не­ко­то­рые из опи­сан­ных пе­ре­мен­ных.

 Бей­сик  Пас­каль

CONST N = 40

DIM A (1 TO N) AS INTEGER

DIM I, J, K, AS INTEGER

 

FOR I = 1 TO N

    INPUT A(I)

NEXT I

...

END

const

    N = 40;

var

    a: array [1..N] of integer;

    i, j, k: integer;

begin

    for i := 1 to N do

        readln(a[i]);

    ...

end.

 С++  Ал­го­рит­ми­че­ский язык

#include

using namespace std;

 

const int N=40;

int main() {

    int a[N];

    int i, j, k;

    for (i = 0; i < N; i++)

       cin >>a[i];

    ...

    return 0;

}

алг

нач

    цел N = 40

    цел­таб a[1:N]

    цел i, j, k

    нц для i от 1 до N

        ввод a[i]

    кц

    ...

 

кон

В ка­че­стве от­ве­та Вам не­об­хо­ди­мо при­ве­сти фраг­мент про­грам­мы (или опи­са­ние ал­го­рит­ма на есте­ствен­ном языке), ко­то­рый дол­жен на­хо­дить­ся на месте мно­го­то­чия. Вы мо­же­те за­пи­сать ре­ше­ние также на дру­гом языке про­грам­ми­ро­ва­ния (ука­жи­те на­зва­ние и ис­поль­зу­е­мую вер­сию языка про­грам­ми­ро­ва­ния, на­при­мер, Free Pascal 2.6) или в виде блок-схемы. В этом слу­чае Вы долж­ны ис­поль­зо­вать те же самые ис­ход­ные дан­ные и пе­ре­мен­ные, какие были пред­ло­же­ны в усло­вии (на­при­мер, в об­раз­це, за­пи­сан­ном на есте­ствен­ном языке).

Задача №2

Дан массив, состоящий из 90 целых чисел. Допишите на есте­ствен­ном языке или на одном из язы­ков про­грам­ми­ро­ва­ния программу, позволяющую найти и вывести сумму максимального и минимального эле­мен­тов мас­си­ва. 
На­при­мер, для мас­си­ва из пяти эле­мен­тов: 7 23 303 10 9 – ответ: 310.
Ис­ход­ные дан­ные объ­яв­ле­ны так, как по­ка­за­но ниже на при­ме­рах для не­ко­то­рых язы­ков про­грам­ми­ро­ва­ния и есте­ствен­но­го языка. За­пре­ща­ет­ся ис­поль­зо­вать пе­ре­мен­ные, не опи­сан­ные ниже, но раз­ре­ша­ет­ся не ис­поль­зо­вать не­ко­то­рые из опи­сан­ных пе­ре­мен­ных.

 Бей­сик  Пас­каль

CONST N = 90

DIM A (1 TO N) AS INTEGER

DIM I, J, MAX, MIN AS INTEGER

 

FOR I = 1 TO N

    INPUT A(I)

NEXT I

...

END

const

    N = 90;

var

    a: array [1..N] of integer;

    i, j, max, min: integer;

begin

    for i := 1 to N do

        readln(a[i]);

    ...

end.

 С++  Ал­го­рит­ми­че­ский язык

#include

using namespace std;

const int N=90;

int main() {

    int a[N];

    int i, j, max, min;

    for (i = 0; i < N; i++)

       cin >>a[i];

    ...

    return 0;

}

алг

нач

    цел N = 90

    цел­таб a[1:N]

    цел i, j, max, min

    нц для i от 1 до N

        ввод a[i]

    кц

    ...

 

кон

В ка­че­стве от­ве­та Вам не­об­хо­ди­мо при­ве­сти фраг­мент про­грам­мы (или опи­са­ние ал­го­рит­ма на есте­ствен­ном языке), ко­то­рый дол­жен на­хо­дить­ся на месте мно­го­то­чия. Вы мо­же­те за­пи­сать ре­ше­ние также на дру­гом языке про­грам­ми­ро­ва­ния (ука­жи­те на­зва­ние и ис­поль­зу­е­мую вер­сию языка про­грам­ми­ро­ва­ния, на­при­мер, Free Pascal 2.6) или в виде блок-схемы. В этом слу­чае Вы долж­ны ис­поль­зо­вать те же самые ис­ход­ные дан­ные и пе­ре­мен­ные, какие были пред­ло­же­ны в усло­вии (на­при­мер, в об­раз­це, за­пи­сан­ном на есте­ствен­ном языке).

Задача №3

Дан массив, состоящий из 100 натуральных чисел. Допишите на есте­ствен­ном языке или на одном из язы­ков про­грам­ми­ро­ва­ния программу, позволяющую найти и вывести количество элементов массива равных максимальному элементу массива. 
На­при­мер, для мас­си­ва из 6 эле­мен­тов: 100 303 22 303 57 303 – ответ: 3.
Ис­ход­ные дан­ные объ­яв­ле­ны так, как по­ка­за­но ниже на при­ме­рах для не­ко­то­рых язы­ков про­грам­ми­ро­ва­ния и есте­ствен­но­го языка. За­пре­ща­ет­ся ис­поль­зо­вать пе­ре­мен­ные, не опи­сан­ные ниже, но раз­ре­ша­ет­ся не ис­поль­зо­вать не­ко­то­рые из опи­сан­ных пе­ре­мен­ных.

 Бей­сик  Пас­каль

CONST N = 100

DIM A (1 TO N) AS INTEGER

DIM I, MAX, K, AS INTEGER

 

FOR I = 1 TO N

    INPUT A(I)

NEXT I

...

END

const

    N = 100;

var

    a: array [1..N] of integer;

    i, max, k: integer;

begin

    for i := 1 to N do

        readln(a[i]);

    ...

end.

 С++  Ал­го­рит­ми­че­ский язык

#include

using namespace std;

 

const int N=100;

int main() {

    int a[N];

    int i, max, k;

    for (i = 0; i < N; i++)

       cin >>a[i];

    ...

    return 0;

}

алг

нач

    цел N = 100

    цел­таб a[1:N]

    цел i, max, k

    нц для i от 1 до N

        ввод a[i]

    кц

    ...

кон

В ка­че­стве от­ве­та Вам не­об­хо­ди­мо при­ве­сти фраг­мент про­грам­мы (или опи­са­ние ал­го­рит­ма на есте­ствен­ном языке), ко­то­рый дол­жен на­хо­дить­ся на месте мно­го­то­чия. Вы мо­же­те за­пи­сать ре­ше­ние также на дру­гом языке про­грам­ми­ро­ва­ния (ука­жи­те на­зва­ние и ис­поль­зу­е­мую вер­сию языка про­грам­ми­ро­ва­ния, на­при­мер, Free Pascal 2.6) или в виде блок-схемы. В этом слу­чае Вы долж­ны ис­поль­зо­вать те же самые ис­ход­ные дан­ные и пе­ре­мен­ные, какие были пред­ло­же­ны в усло­вии (на­при­мер, в об­раз­це, за­пи­сан­ном на есте­ствен­ном языке).

Задача №4

Дан массив, состоящий из 100 целых чисел. Допишите на есте­ствен­ном языке или на одном из язы­ков про­грам­ми­ро­ва­ния программу, позволяющую найти и вывести номер последнего элемента  массива равного максимальному.
На­при­мер, для мас­си­ва из пяти эле­мен­тов: 140 3 55 140 26 – ответ: 3.
Ис­ход­ные дан­ные объ­яв­ле­ны так, как по­ка­за­но ниже на при­ме­рах для не­ко­то­рых язы­ков про­грам­ми­ро­ва­ния и есте­ствен­но­го языка. За­пре­ща­ет­ся ис­поль­зо­вать пе­ре­мен­ные, не опи­сан­ные ниже, но раз­ре­ша­ет­ся не ис­поль­зо­вать не­ко­то­рые из опи­сан­ных пе­ре­мен­ных.

 Бей­сик  Пас­каль

CONST N = 100

DIM A (1 TO N) AS INTEGER

DIM I, MAX, K, AS INTEGER

 

FOR I = 1 TO N

    INPUT A(I)

NEXT I

...

END

const

    N = 100;

var

    a: array [1..N] of integer;

    i, max, k: integer;

begin

    for i := 1 to N do

        readln(a[i]);

    ...

end.

 С++  Ал­го­рит­ми­че­ский язык

#include

using namespace std;

 

const int N=100;

int main() {

    int a[N];

    int i, max, k;

    for (i = 0; i < N; i++)

       cin >>a[i];

    ...

    return 0;

}

алг

нач

    цел N = 100

    цел­таб a[1:N]

    цел i, max, k

    нц для i от 1 до N

        ввод a[i]

    кц

    ...

 

кон

В ка­че­стве от­ве­та Вам не­об­хо­ди­мо при­ве­сти фраг­мент про­грам­мы (или опи­са­ние ал­го­рит­ма на есте­ствен­ном языке), ко­то­рый дол­жен на­хо­дить­ся на месте мно­го­то­чия. Вы мо­же­те за­пи­сать ре­ше­ние также на дру­гом языке про­грам­ми­ро­ва­ния (ука­жи­те на­зва­ние и ис­поль­зу­е­мую вер­сию языка про­грам­ми­ро­ва­ния, на­при­мер, Free Pascal 2.6) или в виде блок-схемы. В этом слу­чае Вы долж­ны ис­поль­зо­вать те же самые ис­ход­ные дан­ные и пе­ре­мен­ные, какие были пред­ло­же­ны в усло­вии (на­при­мер, в об­раз­це, за­пи­сан­ном на есте­ствен­ном языке).

Задача №5

Дан мас­сив из 50 целых чисел. Напишите на есте­ствен­ном языке или на одном из язы­ков про­грам­ми­ро­ва­ния ал­го­ритм, поз­во­ля­ю­щий найти и вы­ве­сти минимальное зна­че­ние среди четырехзначных эле­мен­тов мас­си­ва, не де­ля­щих­ся на 9. Если в ис­ход­ном мас­си­ве нет эле­мен­та, то вы­ве­ди­те со­об­ще­ние «Нет». Ис­ход­ные дан­ные объ­яв­ле­ны так, как по­ка­за­но ниже на при­ме­рах для не­ко­то­рых язы­ков про­грам­ми­ро­ва­ния и есте­ствен­но­го языка. За­пре­ща­ет­ся ис­поль­зо­вать пе­ре­мен­ные, не опи­сан­ные ниже, но раз­ре­ша­ет­ся не ис­поль­зо­вать не­ко­то­рые из опи­сан­ных пе­ре­мен­ных.

 Бей­сик  Пас­каль

N = 50 

 DIM A(N) ASINTEGER 

 DIM I, J, MIN ASINTEGER 

   FOR I = 1TO N 

   INPUT A(I) 

 NEXT I 

...

 END

const 

 N = 50; 

var 

a: array [1..N] ofinteger; 

i, j, min: integer; 

begin 

   for i := 1to N do 

   readln(a[i]); 

... 

end.

 С++  Ал­го­рит­ми­че­ский язык
 #include

using namespace std;

const int N = 50;

void main() { 

int a[N]; 

int i, j, min; 

   for (i = 0; i < N; i++) 

   cin >>a[i];

... 

}

алг

нач

цел N = 50

цел­таб a[1:N]

цел i, j, min

нц >для i >от 1 >до N

    ввод a[i]

кц

...

кон

В ка­че­стве от­ве­та Вам не­об­хо­ди­мо при­ве­сти фраг­мент про­грам­мы (или опи­са­ние ал­го­рит­ма на есте­ствен­ном языке), ко­то­рый дол­жен на­хо­дить­ся на месте мно­го­то­чия. Вы мо­же­те за­пи­сать ре­ше­ние также на дру­гом языке про­грам­ми­ро­ва­ния (ука­жи­те на­зва­ние и ис­поль­зу­е­мую вер­сию языка про­грам­ми­ро­ва­ния, на­при­мер Free Pascal 2.6) или в виде блок-схемы. В этом слу­чае Вы долж­ны ис­поль­зо­вать те же самые ис­ход­ные дан­ные и пе­ре­мен­ные, какие были пред­ло­же­ны в усло­вии (на­при­мер, в об­раз­це, за­пи­сан­ном на есте­ствен­ном языке).

Пройти тест

Начать