Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Решенные задачи по информатике!



Решенные задачи по информатике!

1. Найти сумму цифр введенного с клавиатуры натурального числа N.

2. Program zadanie_1;

3. uses crt;

4. var a,b,n,sum: integer;

5. begin

6. writeLn('vvedite chisla');

7. read (n);

8. b:= n mod 10;

9. while n>0 do

10. begin

11. if n div 10 = 0 then

12. a:= n mod 10;

13. sum:= sum + (n mod 10);

14. n:= n div 10;

15. end;

16. writeln ('poluchennaya summa');

17. writeln (sum);

18. end.

19.

 

2. Найти вторые минимальный и максимальный элементы заданного с клавиатуры целочисленного вектора V длиной n элементов.

Program number_2;

Uses CRT;

var

v: array [1..1000] of integer;

max_i,min_i,i,max,min,n:integer;

begin

clrscr;

write('Введите длину вектора n=');

ReadLn(n);

// заполнение вектора

For i:=1 To n Do

begin

Write('v[',i,']=');

Readln(v[i]);

end;

// вывод на экран исходного вектора

For i:=1 To n Do

Write(v[i]:4);

Writeln;

 

// Ищем индексы максимального и минимального элементов

max:=1;

min:=1;

for i:=2 to n do

begin

if (v[i]>v[max])

then

max:=i;

if (v[i]<v[min])

then

min:=i;

end;

//Ищем индексы второго максимального и второго минимального элементов

max_i:=1;

min_i:=1;

for i:=2 to n do

begin

if ((v[i]>v[max_i]) and (v[i]<v[max]))

then

max_i:=i;

if ((v[i]<v[min_i]) and (v[i]>v[min]))

then

min_i:=i;

end;

writeln('второй максимальный=',v[max_i]);

writeln('второй минимальный=',v[min_i]);

end.

 

3. Массив Anm заполнен построчно слева направо и сверху вниз натуральными числами от 1 до n*m. По заданному значению элемента массива определить его индексы – номер строки и столбца.

 

 

Program prog3;

uses CRT;

 

var

i,j,i_el,j_el,num,n,m: integer;

v: Array [1..1000,1..1000] Of Integer;

 

begin

write('Введите количество строк n:');

readln(n);

write('Введите количество столбцов m:');

readln(m);

 

writeLn('Ввод массива:');{ввод исходных данных}

For i:=1 To n Do {заполнение массива случайными числами}

For j:=1 To m Do

V[i,j]:=(i-1)*m+j;

write('Введите натуральное число для поиска от 1 до ',n*m,':');

readln(num);

writeLn;

For i:=1 To n Do

begin

For j:=1 To m Do

begin

write(V[i,j]:5);

IF V[i,j]=num then

begin

i_el:=i;

j_el:=j;

end;

end;

writeLn;

end;

 

writeln('Номер строки:', i_el);

writeln('Номер столбца:', j_el);

end.

 

4. Сдвинуть на k шагов вправо элементы заданного вектора An

5. В заданном целочисленном векторе An определить самую длинную последовательность идущих подряд одинаковых элементов.

6. В заданном целочисленном массиве Anm поменять местами вторые минимальный и максимальный элементы массива.

 

Program number_6;

Uses CRT;

var

v: array [1..1000] of integer;

max_i,min_i,i,max,min,n,temp:integer;

begin

clrscr;

write('Введите длину вектора n=');

ReadLn(n);

// заполнение вектора

For i:=1 To n Do

begin

Write('v[',i,']=');

Readln(v[i]);

end;

// вывод на экран исходного вектора

For i:=1 To n Do

Write(v[i]:4);

Writeln;

 

// Ищем индексы максимального и минимального элементов



max:=1;

min:=1;

for i:=2 to n do

begin

if (v[i]>v[max])

then

max:=i;

if (v[i]<v[min])

then

min:=i;

end;

//Ищем индексы второго максимального и второго минимального элементов

max_i:=1;

min_i:=1;

for i:=2 to n do

begin

if ((v[i]>v[max_i]) and (v[i]<v[max]))

then

max_i:=i;

if ((v[i]<v[min_i]) and (v[i]>v[min]))

then

min_i:=i;

end;

 

 

writeln('второй максимальный=',v[max_i]);

writeln('второй минимальный=',v[min_i]);

 

//меняем местами второй макс и второй мин

temp:=v[max_i];

v[max_i]:=v[min_i];

v[min_i]:=temp;

 

Writeln;

// вывод на экран результата

For i:=1 To n Do

Write(v[i]:4);

Writeln; end.

7. В заданном целочисленном массиве Anm поменять местами первый отрицательный и последний положительный элементы.

8. Program prog;

9. uses CRT;

10. Const n = 5;

11. m = 4;

12.var

13.i,j,tmp,i_pol,j_pol,i_otr,j_otr,v_min,v_max: integer;

14.A: Array [1..n,1..m] Of Integer;

15.

16.begin

17.Randomize;

18. WriteLn('Задайте диапазон случайных чисел');

19. Write('v_min=');

20. ReadLn(v_min);

21. Write('v_max=');

22. ReadLn(v_max);

23.

24.

25. For i:=1 To n Do

26. For j:=1 To m Do

27. begin

28.A[i,j]:=Random(v_max-v_min + 1) + v_min; {A[i,j]:=Random(100)-50;заполнение массива случайными числами}

29. end;

30.

31. writeLn('Исходный массив:');

32. For i:=1 To n Do

33. begin

34. For j:=1 To m Do

35.write(A[i,j]:5);

36. writeln;

37. end;

38. j:=1;

39. i:=1;

40. while (A[i,j]>=0) and (i*j<=n*m) do

41. begin

42.j:=j+1;

43. IF j=n then

44. begin

45.j:=0;

46. i:=i+1;

47. end;

48.

49. end;

50. i_otr:=i;

51. j_otr:=j;

52. j:=m;

53. i:=n;

54. while (A[i,j]<=0) and (i*j>0) do

55. begin

56.j:=j-1;

57. IF j=1 then

58. begin

59.j:=0;

60. i:=i-1;

61. end;

62. end;

63. i_pol:=i;

64. j_pol:=j;

65. writeln;

66.

67.

68. tmp:=A[i_otr,j_otr];

69. A[i_otr,j_otr]:=A[i_pol,j_pol];

70. A[i_pol,j_pol]:=tmp;

71. writeLn;

72. writeLn('Результат:');

73. For i:=1 To n Do

74. begin

75. For j:=1 To m Do

76.write(A[i,j]:5);

77. writeln;

78. End;

79. end.

 

 

8. В заданном целочисленном векторе An поменять местами первый отрицательный и последний положительный элементы.

 

Program prog;

uses CRT;

Const n = 7;

var

i,st,i_pol,i_otr,v_min,v_max: integer;

A: Array [1..n] Of Integer;

 

begin

Randomize;

 

WriteLn('Задайте диапазон случайных чисел');

Write('v_min=');

ReadLn(v_min);

Write('v_max=');

ReadLn(v_max);

 

For i:=1 To n Do

A[i]:=Random(v_max-v_min + 1) + v_min; {заполнение массива случайными числами}

 

writeLn('Начальный вектор:');

For i:=1 To n Do

write(A[i]:4);

i:=1;

while (A[i]>=0) and (i<=n) do

i:=i+1;

i_otr:=i;

i:=n;

while (A[i]<=0) and (i>0) do

i:=i-1;

i_pol:=i;

 

writeln;

 

st:=A[i_otr];

A[i_otr]:=A[i_pol];

A[i_pol]:=st;

writeLn;

writeLn('Результат:');

For i:=1 To n Do

write(A[i]:4);

writeLn;

 

 

end.

9. В заданном целочисленном векторе An поменять местами вторые максимальный и минимальный элементы вектора.

 

Program number_9;

Uses CRT;

var

v: array [1..1000] of integer;

max_i,min_i,i,max,min,n,temp:integer;

begin

clrscr;

write('Введите длину вектора n=');

ReadLn(n);

// заполнение вектора

For i:=1 To n Do

begin

Write('v[',i,']=');

Readln(v[i]);

end;

// вывод на экран исходного вектора

For i:=1 To n Do

Write(v[i]:4);

Writeln;

 

// Ищем индексы максимального и минимального элементов

max:=1;

min:=1;

for i:=2 to n do

begin

if (v[i]>v[max])

then

max:=i;

if (v[i]<v[min])

then

min:=i;

end;

//Ищем индексы второго максимального и второго минимального элементов

max_i:=1;

min_i:=1;

for i:=2 to n do

begin

if ((v[i]>v[max_i]) and (v[i]<v[max]))

then

max_i:=i;

if ((v[i]<v[min_i]) and (v[i]>v[min]))

then

min_i:=i;

end;

 

 

writeln('второй максимальный=',v[max_i]);

writeln('второй минимальный=',v[min_i]);

 

//меняем местами второй макс и второй мин

temp:=v[max_i];

v[max_i]:=v[min_i];

v[min_i]:=temp;

 

Writeln;

// вывод на экран результата

For i:=1 To n Do

Write(v[i]:4);

Writeln;

end.

 

13.Произвести сортировку по возрастанию элементов заданного целочисленного вектора An.

 

Program prog;

uses CRT;

Const n = 5;

var

i,j,k,v_min,v_max: integer;

A: Array [1..n] Of Integer;

 

begin

Randomize;

WriteLn('Задайте диапазон случайных чисел');

Write('v_min=');

ReadLn(v_min);

Write('v_max=');

ReadLn(v_max);

 

 

For i:=1 To n Do

A[i]:=Random(v_max-v_min + 1) + v_min; {заполнение массива случайными числами}

 

writeLn('Исходный массив:');

For i:=1 To n Do

write(A[i]:4);

writeln;

 

For i:=n DownTo 1 Do

For j:=1 To i-1 Do

If (A[j]>A[j+1]) Then

begin

k:=A[j+1];

A[j+1]:=A[j];

A[j]:=k;

end;

 

writeLn('Результат:');

For i:=1 To n Do

write(A[i]:4);

writeln;

 

 

end.

 

15.Определить, является ли введенное слово палиндромом – одинаково читающимся как слева направо, так и справа налево: шалаш.

 

program eckz;

uses crt;

var str: string;

i,n: integer;

begin

write('Введите строку: ');

readln(str);

writeln;

i:=1;

n:=length(str);

while (str[i]=str[n-i+1]) and (i<>round(n/2)+1) do

i:=i+1;

If i=round(n/2)+1 then

writeln('палиндром')

else

writeln('Не палиндром');

end.

 

19.Сформировать вектор Bn из элементов заданной целочисленной матрицы Ann по следующему алгоритму: очередной элемент вектора bi – это максимальный элемент i-ой строки исходной матрицы.

20. Program prog;

21. uses CRT;

22. Const n = 3;

23. var

24. i,j,max,v_min,v_max: integer;

25. A: Array [1..n,1..n] Of Integer;

26. B: Array [1..n] Of Integer;

27. begin

28. Randomize;

29. WriteLn('Задайте диапазон случайных чисел');

30. Write('v_min=');

31. ReadLn(v_min);

32. Write('v_max=');

33. ReadLn(v_max);

34. For i:=1 To n Do

35. For j:=1 To n Do

36. A[i,j]:=Random(v_max-v_min + 1) + v_min;;{заполнение массива случайными числами}

37.

38. writeLn('Исходный массив:');

39. For i:=1 To n Do

40. begin

41. For j:=1 To n Do

42. write(A[i,j]:5);

43. writeln;

44. end;

45. For i:=1 to n do

46. begin

47. max:=A[i,1];

48. For j:=2 To n Do

49. If max<A[i,j] then

50. max:=A[i,j];

51. B[i]:=max;

52. end;

53. writeln('Результат:');

54. For i:=1 To n Do

55. write(B[i]:5);

56. writeln;

57. end.

 

 

20. Сформировать вектор Bn из элементов заданной целочисленной матрицы Ann по следующему алгоритму: очередной элемент вектора bi – это минимальный элемент i-ого столбца исходной матрицы.

 

Program prog;

uses CRT;

Const n = 3;

var

i,j,min,v_min,v_max: integer;

A: Array [1..n,1..n] Of Integer;

B: Array [1..n] Of Integer;

 

begin

Randomize;

WriteLn('Задайте диапазон случайных чисел');

Write('v_min=');

ReadLn(v_min);

Write('v_max=');

ReadLn(v_max);

 

 

For i:=1 To n Do

For j:=1 To n Do

A[i,j]:=Random(v_max-v_min + 1) + v_min;{заполнение массива случайными числами}

 

writeLn('Исходный массив:');

For i:=1 To n Do

begin

For j:=1 To n Do

write(A[i,j]:5);

writeln;

end;

 

For i:=1 to n do

begin

min:=A[1,i];

For j:=2 To n Do

If min>A[j,i] then

min:=A[j,i];

B[i]:=min;

end;

 

writeln('Результат:');

 

For i:=1 To n Do

write(B[i]:5);

writeln;

end.

 

21. В заданном целочисленном массиве Ann определить максимальный элемент из элементов, расположенных выше главной диагонали, и минимальный – ниже главной диагонали.

 

Program prog;

uses CRT;

Const n = 3;

var

i,j,min,max,v_min,v_max: integer;

A: Array [1..n,1..n] Of Integer;

B: Array [1..n] Of Integer;

 

begin

Randomize;

WriteLn('Задайте диапазон случайных чисел');

Write('v_min=');

ReadLn(v_min);

Write('v_max=');

ReadLn(v_max);

 

 

For i:=1 To n Do

For j:=1 To n Do

A[i,j]:=Random(v_max-v_min + 1) + v_min;{заполнение массива случайными числами}

 

writeLn('Исходный массив:');

For i:=1 To n Do

begin

For j:=1 To n Do

write(A[i,j]:5);

writeln;

end;

max:=A[1,2];

min:=A[2,1];

For i:=1 to n-1 do

begin

For j:=i+1 To n Do

If max<A[i,j] then

max:=A[i,j];

For j:=i+1 To n Do

If min>A[j,i] then

min:=A[j,i];

end;

 

writeln('Максимальный выше главной диагонали = ', max);

writeln('Минимальный ниже главной диагонали = ', min);

 

 

end.

 

23.В заданном целом положительном числе N определить наибольшую и наименьшую цифры.

 

Program prog;

Uses Crt;

 

Var

N:LongInt;

max, min, d: Integer;

ch:longint;

 

Begin

Randomize;

 

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

Read(N);

 

WriteLn;

 

 

d:=N mod 10;

max:=d;

min:=d;

N:=N div 10;

{цикл нахождение макс мин}

Repeat

d:=(N mod 10);

If d>max then begin

max:=d;

end;

If d<min then begin

min:=d;

end;

N:=N div 10;

Until n=0;

writeln('Минимальная цифра = ', min);

writeln('Максимальая цифра = ', max);

end.

 

 


Дата добавления: 2015-10-21; просмотров: 52 | Нарушение авторских прав




<== предыдущая лекция | следующая лекция ==>
Вебинар «Бизнес-план Партнера WL» | 

mybiblioteka.su - 2015-2024 год. (0.082 сек.)