Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпоры ОАиП(программа).docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
78.14 Кб
Скачать

Задача 48

program Project1;

{В одномерном массиве, состоящем из n целых элементов, вычислить сумму элементов массива, расположенных между первым и последним нулевыми элементами.}

var n:integer;

i:integer;

Imin,Imax:integer;

p:integer;

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

begin

readln(n);

for i:=1 to n do

readln(a[i]);

for i:=1 to n do

if a[i]=0 then

begin

Imin:=i;

break;

end;

for i:=n downto 1 do

if a[i]=0 then

begin

Imax:=i;

break;

end;

p:=1;

for i:=imin+1 to Imax-1 do

p:=p*a[i];

writeln('p=',p);

readln;

end.

ЗАДАЧА 49

program Project1;

{В одномерном массиве, состоящем из n целых элементов, вычислить сумму элементов массива, расположенных до последнего положительного элемента.}

var n:integer;

i:integer;

s:integer;

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

begin

readln(n);

for i:=1 to n do

readln(a[i]);

s:=0;

for i:=1 to n do

if a[i]>0 then

s:=s+a[i]

else break;

writeln('s=',s);

readln;

end.

ЗАДАЧА 50

program Project1;

{В одномерном массиве, состоящем из n целых элементов, вычислить сумму элементов массива, расположенных между первым и последним положительными элементами.}

var n:integer;

i:integer;

Imin,Imax:integer;

p:integer;

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

begin

readln(n);

for i:=1 to n do

readln(a[i]);

for i:=1 to n do

if a[i]>0 then

begin

Imin:=i;

break;

end;

for i:=n downto 1 do

if a[i]>0 then

begin

Imax:=i;

break;

end;

p:=0;

for i:=imin+1 to Imax-1 do

p:=p+a[i];

writeln('p=',p);

readln;

end.

Задача 51

program Project1;

{В одномерном массиве, состоящем из n целых элементов, вычислить произведение элементов массива, расположенных между первым и вторым нулевыми элементами.}

var n:integer;

i:integer;

Imin,Imax:integer;

p:integer;

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

begin

readln(n);

for i:=1 to n do

readln(a[i]);

for i:=1 to n do

if a[i]=0 then

begin

Imin:=i;

break;

end;

for i:=1 to n do

if (a[i]=0) and (i<>imin) then

begin

Imax:=i;

break;

end;

p:=1;

for i:=imin+1 to Imax-1 do

p:=p*a[i];

writeln('p=',p);

readln;

end.

Задача 52

program Project1;

{В одномерном массиве, состоящем из n целых элементов, вычислить сумму элементов массива, расположенных между первым и вторым отрицательными элементами.}

var n:integer;

i:integer;

Imin,Imax:integer;

p:integer;

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

begin

readln(n);

for i:=1 to n do

readln(a[i]);

for i:=1 to n do

if a[i]<0 then

begin

Imin:=i;

break;

end;

for i:=1 to n do

if (a[i]<0) and (i<>imin) then

begin

Imax:=i;

break;

end;

p:=1;

for i:=imin+1 to Imax-1 do

p:=p*a[i];

writeln('p=',p);

readln;

end.

ЗАДАЧА 53

program Project1;

{В одномерном массиве, состоящем из n целых элементов, вычислить сумму элементов массива, расположенных до минимального элемента.}

var n:integer;

i:integer;

s:integer;

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

begin

readln(n);

for i:=1 to n do

readln(a[i]);

s:=0;

for i:=1 to n do

if a[i]>0 then

s:=s+a[i]

else

begin

s:=s-a[i-1];

break;

end;

writeln('s=',s);

readln;

end.

ЗАДАЧА 54

program Project1;

{В одномерном массиве, состоящем из n целых элементов, вычислить сумму целых частей элементов массива, расположенных после последнего отрицательного элемента.}

var n:integer;

i:integer;

Imax:integer;

p:integer;

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

begin

readln(n);

for i:=1 to n do

readln(a[i]);

for i:=1 to n do

if (a[i]<0) then

begin

Imax:=i;

break;

end;

p:=0;

for i:=Imax+1 to n do

p:=p+a[i];

writeln('p=',p);

readln;

end.

ЗАДАЧА 55

program Project1;

{В одномерном массиве, состоящем из n целых элементов, вычислить сумму элементов массива, расположенных после последнего элемента, равного нулю.}

var n:integer;

i:integer;

Imax:integer;

p:integer;

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

begin

readln(n);

for i:=1 to n do

readln(a[i]);

for i:=1 to n do

if (a[i]=0) then

begin

Imax:=i;

break;

end;

p:=0;

for i:=Imax+1 to n do

p:=p+a[i];

writeln('p=',p);

readln;

end.

ЗАДАЧА 56

program Project1;

{В одномерном массиве, состоящем из n целых элементов, вычислить сумму модулей элементов массива, расположенных после минимального по модулю элемента.}

var n:integer;

i:integer;

Imin:integer;

min:integer;

p:integer;

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

begin

readln(n);

for i:=1 to n do

readln(a[i]);

min:=0;

for i:=1 to n do

if (abs(a[i])<abs(min)) then

begin

min:=abs(a[i]);

Imin:=i;

end;

p:=0;

for i:=Imin+1 to n do

p:=p+a[i];

writeln('p=',p);

readln;

end.

ЗАДАЧА 57

program Project1;

{В одномерном массиве, состоящем из n целых элементов, вычислить сумму элементов массива, расположенных после минимального элемента.}

var n:integer;

i:integer;

Imin:integer;

min:integer;

p:integer;

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

begin

readln(n);

for i:=1 to n do

readln(a[i]);

min:=1000;

for i:=1 to n do

if (a[i]<min) then

begin

min:=a[i];

Imin:=i;

end;

p:=0;

for i:=Imin+1 to n do

p:=p+a[i];

writeln('p=',p);

readln;

end.

ЗАДАЧА 58

program Project1;

{В одномерном массиве, состоящем из n целых элементов, вычислить сумму элементов массива, расположенных после первого положительного элемента.}

var n:integer;

i:integer;

Imin:integer;

min:integer;

p:integer;

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

begin

readln(n);

for i:=1 to n do

readln(a[i]);

min:=1000;

for i:=1 to n do

if (a[i]>0) then

begin

min:=a[i];

Imin:=i;

break;

end;

p:=0;

for i:=Imin+1 to n do

p:=p+a[i];

writeln('p=',p);

readln;

end.

ЗАДАЧА 59

program Project1;

{В одномерном массиве, состоящем из n целых элементов, вычислить сумму модулей элементов массива, расположенных после первого отрицательного элемента.}

var n:integer;

i:integer;

Imin:integer;

min:integer;

p:integer;

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

begin

readln(n);

for i:=1 to n do

readln(a[i]);

min:=1000;

for i:=1 to n do

if (a[i]<0) then

begin

min:=a[i];

Imin:=i;

break;

end;

p:=0;

for i:=Imin+1 to n do

p:=p+abs(a[i]);

writeln('p=',p);

readln;

end.

ЗАДАЧА 60

program Project1;

{В одномерном массиве, состоящем из n целых элементов, вычислить сумму модулей элементов массива, расположенных после первого элемента, равного нулю.}

var n:integer;

i:integer;

Imin:integer;

min:integer;

p:integer;

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

begin

readln(n);

for i:=1 to n do

readln(a[i]);

min:=1000;

for i:=1 to n do

if (a[i]=0) then

begin

min:=a[i];

Imin:=i;

break;

end;

p:=0;

for i:=Imin+1 to n do

p:=p+abs(a[i]);

writeln('p=',p);

readln;

end.

ЗАДАЧА 61

program Project1;

{Если длина введенной строки четная, удалить 2 первых и 2 последних символа.}

uses

SysUtils;

var n:string;

begin

readln(n);

if (length(n) mod 2)=0 then

writeln(copy(n,3,length(n)-4))

else

writeln(n);

readln;

end.

ЗАДАЧА 61

program Project1;

{Если длина введенной строки четная, удалить 2 первых и 2 последних символа.}

uses

SysUtils;

var n:string;

begin

readln(n);

if (length(n) mod 2)=0 then

writeln(copy(n,3,length(n)-4))

else

writeln(n);

readln;

end.

ЗАДАЧА 62

program Project1;

{Если длина введенной строки нечетная, удалить символ, стоящий посередине строки.}

{$APPTYPE CONSOLE}

uses

SysUtils;

var n:string;

begin

readln(n);

if (length(n) mod 2)=1 then

writeln(copy(n,1,trunc(length(n)/2))+copy(n,trunc(length(n)/2)+2,length(n)))

else

writeln(n);

readln;

end.

ЗАДАЧА 63

program Project1;

{В строке символов заменить каждый второй символ ! на $.}

uses

SysUtils;

var i:integer;

n,t:string;

begin

readln(n);

t:='';

for i:=1 to length(n) do

if n[i]='!' then

t:=t+'$'

else

t:=t+n[i];

writeln(t);

readln;

end.

ЗАДАЧА 64

program Project1;

{В строке символов заменить пробелы на символ $.}

$APPTYPE CONSOLE}

uses

SysUtils;

var i:integer;

n,t:string;

begin

readln(n);

t:='';

for i:=1 to length(n) do

if n[i]=' ' then

t:=t+'$'

else

t:=t+n[i];

writeln(t);

readln;

end.

ЗАДАЧА 65

program Project1;

{Если длина введенной строки >10 - удалить все цифры.}

uses

SysUtils;

var i:integer;

n,t:string;

begin

readln(n);

if length(n)>10 then

begin

t:='';

for i:=1 to length(n) do

if (n[i]<>'0') and (n[i]<>'1') and (n[i]<>'2') and (n[i]<>'3') and (n[i]<>'4') and (n[i]<>'5') and (n[i]<>'6') and (n[i]<>'7') and (n[i]<>'8') and (n[i]<>'9') then

t:=t+n[i];

end

else t:=n;

writeln(t);

readln;

end.

ЗАДАЧА 66

program Project1;

{Если длина введенной строки кратна 3, удалить цифры, делящиеся на 3.}

uses

SysUtils;

var i:integer;

n,t:string;

begin

readln(n);

if (length(n) mod 3)=0 then

begin

t:='';

for i:=1 to length(n) do

if (n[i]<>'3') and (n[i]<>'6') and (n[i]<>'9') then

t:=t+n[i];

end

else t:=n;

writeln(t);

readln;

end.

ЗАДАЧА 67

program Project1;

{Если длина введенной строки кратна 5, посчитать количество скобок.}

uses

SysUtils;

var i,x:integer;

n:string;

begin

readln(n);

x:=0;

if (length(n) mod 5)=0 then

begin

for i:=1 to length(n) do

if (n[i]<>'(') and (n[i]<>')') and (n[i]<>'[') and (n[i]<>']') and (n[i]<>'{') and (n[i]<>'}') then

inc(x);

end;

writeln(x);

readln;

end.

ЗАДАЧА 68

program Project1;

{Если длина введенной строки кратна 4, первую часть строки поменять местами со второй.}

uses

SysUtils;

var n:string;

begin

readln(n);

if (length(n) mod 4)=0 then writeln(copy(n,trunc(length(n)/2)+1,length(n))+copy(n,1,trunc(length(n)/2)))

else writeln(n);

readln;

end.

ЗАДАЧА 69

program Project1;

{Если длина введенной строки равна 10, удалить все буквы - A, ... Z.}

{$APPTYPE CONSOLE}

uses

SysUtils;

function DCOL(s,s1:string):string;

var i,j:integer;

begin

for i:=length(s) downto 1 do

if copy(s,i,length(s1))=s1 then

delete(s,i,length(s1));

result:=s;

end;

var t,n:string;

i:integer;

begin

readln(n);

if (length(n)=10) then

begin

n:=DCOL(n,'A');

n:=DCOL(n,'B');

n:=DCOL(n,'C');

n:=DCOL(n,'D');

n:=DCOL(n,'E');

n:=DCOL(n,'F');

n:=DCOL(n,'G');

n:=DCOL(n,'H');

n:=DCOL(n,'I');

n:=DCOL(n,'J');

n:=DCOL(n,'K');

n:=DCOL(n,'L');

n:=DCOL(n,'M');

n:=DCOL(n,'N');

n:=DCOL(n,'O');

n:=DCOL(n,'P');

n:=DCOL(n,'Q');

n:=DCOL(n,'R');

n:=DCOL(n,'S');

n:=DCOL(n,'T');

n:=DCOL(n,'U');

n:=DCOL(n,'V');

n:=DCOL(n,'W');

n:=DCOL(n,'X');

n:=DCOL(n,'Y');

n:=DCOL(n,'Z');

end;

writeln(n);

readln;

end.