616

Теория и практика использования одномерных массивов. Строки

Конспект

Информатика, кибернетика и программирование

Описать одномерный массив размерностью 10. Заполнить массив случайными значениями из диапазона от 1 до 10. Вывести массив на экран. Вывести массив задом наперед. Отсортировать массив по возрастанию методом пузырька.

Русский

2013-01-06

84.5 KB

8 чел.

Теория и практика использования одномерных массивов.

Общее задание №1: Описать одномерный массив размерностью 10. Заполнить массив случайными значениями из диапазона от 1 до 10. Вывести массив на экран. Вывести массив задом наперед

Код Программы:

program one;

const

 m = 10;

var

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

 i: integer;

begin

 randomize;

 for i := 1 to 10 do                                                           //заполняем  

                                                                                            массив случайными значениями

 begin

   a[i] := random(9) + 1;

   write(a[i]);                                                                   //выводим массив

 end;

 writeln;

 for i := 10 downto 1 do

   write(a[i]);                                                                   //выводим массив задом наперед

end.

Результаты выполнения программы:

 


Общее задание №2: Описать одномерный массив размерностью 8. Заполнить массив случайными значениями из диапазона от 1 до 10. Отсортировать массив по возрастанию методом «пузырька».

Код программы:

program two;

const

 m = 8;

var

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

 i, j, k: integer;

begin

 randomize;

 for i := 1 to 8 do                                                             //заполняем  

                                                                                            массив случайными значениями

 begin

   a[i] := random(9) + 1;                         

   write(a[i]);                                                                    //выводим массив

 end;

 writeln;

 for i := 1 to m - 1 do

   for j := 1 to m - i do

     if a[j] > a[j + 1] then begin                                       //сортируем элементы массива

       k := a[j];

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

       a[j + 1] := k;

     end;

 for i := 1 to m do

   write(a[i]);                                                                    //выводим отсортированный

                                                                                            массив

end.

Результаты выполнения программы:

 


Общее задание №3: Описать одномерный массив размерностью 14. Заполнить массив случайными значениями из диапазона от 5 до 20. Каждый элемент, имеющий четный номер, обнулить. Каждый элемент, имеющий четное значение, увеличить в 2 раза.

Код программы:

program three;

var

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

 i: integer;

begin

 randomize;

 for i := 1 to 14 do                                                           //заполняем  

                                                                                            массив случайными значениями

 begin

   a[i] := random(16) + 5;

   write(a[i], ' ');                                                               //выводим массив

 end;

 writeln;

 for i := 1 to 14 do

 begin

   if i mod 2 = 0 then a[i] := 0;                                       //проверяем четность индексов

   if a[i] mod 2 = 0 then a[i] := a[i] * 2;                        //проверяем четность элементов

   write(a[i], ' ');                                                              //выводим измененный массив

 end;

end.

Результаты выполнения программы:

 


Индивидуальное задание №1: Построчно вывести матрицу 5х5, вторую матрицу заполнить случайными числами <100. Сформировать третью матрицу: каждый ее элемент принимает значение «истина», если элемент первой матрицы больше соответствующего элемента второго, иначе «ложь». Код программы:

program one;

uses crt;

var

a,b,c: array[1..5,1..5] of integer;

i,k: integer;

begin

write('Ввод первой матрицы:');

for i:=1 to 5 do begin

for k:=1 to 5 do begin

write('a[',i,',',k,'] = ');

read(a[i,k]);

end;

end;

writeln('Первая матрица:');

for i:=1 to 5 do begin

for k:=1 to 5 do begin

write(a[i,k]:4);

end;

writeln;

end;

writeln('Вторая матрца:');

for i:=1 to 5 do begin

for k:=1 to 5 do begin

b[i,k]:=random(99);

write(b[i,k]:4);

end;

writeln;

end;

for i:=1 to 5 do begin

for k:=1 to 5 do begin

if a[i,k]>b[i,k] then c[i,k]:=1

else c[i,k]:=0;

end;

end;

writeln('Конечная матрица:');

for i:=1 to 5 do begin

for k:=1 to 5 do begin

write(c[i,k]:4);

end;

writeln;

end;

end.

Результаты выполнения программы:

Индивидуальное задание №2: Случайным образом заполнить матрицу символов 6х6. Сформировать вектор: если в строке матрицы строчных латинских букв больше цифр, то его элемент вектора «истина, иначе «ложь».

Код программы:

Program two;

uses crt;

var a: array [1..6,1..6] of char;

   b: array [1..6] of boolean;

   i,j,r,kz,kb: byte;

   c: char;

 

begin

writeln('Дана матрица');

for i:=1 to 6 do

   begin

   kz:=0; kb:=0;

   for j:=1 to 6 do

       begin

       r:=random(2);                                                 //будет цифра или буква

       if r=0 then c:=chr(random(25)+97) else c:=chr(random(10)+48);

       a[i,j]:=c;

       write(a[i,j],' ');

       if a[i,j] in ['0'..'9'] then inc(kz) else inc(kb);

       end;

   b[i]:=kb>kz;

   writeln;

   end;

writeln('Вектор');

for i:=1 to 6 do

   write(b[i],' ');

end.

Результаты выполнения программы:


Строки.

Общее задание №1: Заполнить и вывести на экран массив из всех латинских букв, как прописных, так и строчных.

Код программы:

program one;

var

 ar: array[1..150] of char;

 i: integer;

begin

 for i := 65 to 90 do                                                                     //заполняем массив

                                                                                                        прописными лат. буквами

 begin

   ar[i] := chr(i);

   write(ar[i], ' ');  

 end;

 writeln;

 for i := 97 to 122 do                                                                  //заполняем массив

                                                                                                        строчными лат. буквами

 begin

   ar[i] := chr(i);

   write(ar[i], ' ');

 end;

 readln;

end.

Результаты выполнения программы:


Общее задание №2: Заполнить и вывести на экран массив из латинских букв и случайных чисел. Определить количество гласных букв, количество согласных и количество цифр.

Код программы:

program two;

var

 l: string;

 i, si, ci, gi: integer;

 g, c, s: set of char;

begin;

 c := ['0'..'9'];                                                                                            //множество

                                                                                                                    цифр                                                             

 g := ['a', 'e', 'i', 'o', 'u', 'y', 'q'];                                                                //множество

                                                                                                                    гласных

 s := ['z', 'x', 'c', 'v', 'b', 'n', 'm', 's', 'd', 'f', 'g', 'h', 'k', 'j', 'l', 'w', 'r', 't', 'p']; // множество

                                                                                                                     согласных

 writeln('vvedite stroku');

 readln(l);

 for i := 1 to length(l) do

 begin

   if l[i] in c then inc(ci);                                                                        //если элемент

                                                                                                                  входит в множество,

                                                                                                                  увеличиваем счетчик

   if l[i] in g then inc(gi);

   if l[i] in s then inc(si);

 end;

 writeln('chislo cifr ', ci);

 writeln('chilso glasnih ', gi);                                                                //выводим результаты

 writeln('chislo soglasnih ', si);

 readln;

end.

Результаты выполнения программы:

 


Общее задание №3: Дана строка из нескольких слов, вводимая пользователем с клавиатуры. Удалить в строке все пробелы.

Код программы:

program three;

var

 a, i: integer;

 str: string;

begin

 writeln(‘vvedite stroku’);                                                              //вводим строку

 readln(str);

 while pos(' ', str ) <> 0 do

   delete(str, pos(' ', str), 1);                                                            //удаляем пробелы в

                                                                                                             строке

 writeln(str);                                                                                     //выводим новую строку

end.

Результаты выполнения программы:

 


Индивидуальное задание №1. Дана строка. Вывести строку, содержащую те же символы, но расположенные в обратном порядке.

Код программы:

Program one;

var

 st: string;

 i,l: byte;

 sub: char;

Begin

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

 ReadLn(st);

 l:=length(st);

 For i:=1 to l div 2 do

   Begin

     sub:=st[i];

     st[i]:=st[l-i+1];

     st[l-i+1]:=sub;

   End;

 WriteLn('Новая строка: ',st);

 ReadLn

End.

Результат выполнения программы:


Индивидуальное задание №2: Даны строки S, S1 и S2. Заменить в строке S первое вхождение строки S1 на строку S2.

Код программы:]

program str;

Var

 s,s1,s2: string;

 x: byte;

Begin

 Write('введите строку S: ');

 ReadLn(s);

 Write('введите строку S1: ');

 ReadLn(s1);

 Write('введите строку S2: ');

 ReadLn(s2);

 x:=pos(s1,s);

 Delete(st,x,length(s1));

 Insert(s2,s,x);

 WriteLn('новая строка: ',s);

 ReadLn

End.

Результат выполнения программы:


 

А также другие работы, которые могут Вас заинтересовать

66422. ТОВАРОЗНАВЧА ХАРАКТЕРИСТИКА РЕДИСКИ ЗАЛЕЖНО ВІД СОРТУ ТА УМОВ ЗБЕРІГАННЯ 231 KB
  В літку якісні коренеплоди ізза біологічних особливостей редиски виростити неможливо. Проблемами зберігання редиски в різні часи займалися такі науковці як П. Дженєєв 1968 але залишилось багато невирішених питань щодо збереженості...
66423. ПОДАТКИ НА СПОЖИВАННЯ В УКРАЇНІ: ОРГАНІЗАЦІЯ СПРАВЛЯННЯ ТА ФІСКАЛЬНІ НАСЛІДКИ ФУНКЦІОНУВАННЯ 306 KB
  Фіскальна історія свідчить що оподаткування споживання давно практикується державами. Поряд з цим саме представники групи податків на споживання універсальні акцизи відіграли роль рятівників бюджетів провідних держав світу в умовах гіперінфляції під час двох Світових воєн та низки економічних криз.
66424. Клініко-патогенетичні особливості перебігу ревматоїдного артриту за наявності ендотеліальної та субклінічної гіпотиреоїдної дисфункції 214 KB
  Не дивлячись на дуже часте співіснування цих нозологічних одиниць клінічна діагностика уражень ЩЗ у хворих на РА достатньо складна особливо у випадках мякої клінічної маніфестації. У хворих із ревматичними захворюваннями ЕД відіграє не менш важливу роль у розвитку та прогресуванні...
66425. Виховання соціальної усталеності особистості старшокласника в навчально-виховному процесі 211 KB
  У Законі Про соціальне становлення та розвиток молоді в Україні Національній доктрині Державній національній програмі Діти України Національній концепції виховання актуалізується проблема виховання особистості здатної на активну роль...
66426. СТАНОВЛЕННЯ ТА РОЗВИТОК БДЖІЛЬНИЦТВА В УКРАЇНІ 372.5 KB
  Сучасна наука акцентує увагу до проблеми власного самопізнання, розглядаючи її як своєрідний ключ для розв’язання багатьох актуальних дослідницьких проблем. Реалізація потенціалу сільськогосподарської науки, її завдань та цілей, місця в загальній системі знань про закономірності...
66427. ЕФЕКТИВНІСТЬ ВИКОРИСТАННЯ ВИРОБНИЧОГО ПОТЕНЦІАЛУ ПІДПРИЄМСТВ ПЕРЕРОБНОЇ ПРОМИСЛОВОСТІ СИСТЕМИ АПК 269 KB
  Ефективність діяльності переробних підприємств в умовах ринкової конкуренції залежить в основному від якості формування та рівня використання виробничого потенціалу. Розвиток економіки регіону на довгострокову перспективу повязаний саме з цими...
66428. ОСОБЛИВОСТІ ПРАВОВОГО РЕГУЛЮВАННЯ ПРАЦІ СУДДІВ В УКРАЇНІ 159.5 KB
  Правове регулювання відносин найманої праці здійснюється зазвичай загальними нормами трудового законодавства України. Проте трудова діяльність окремих категорій працівників має суттєві особливості, що зумовлює наявність спеціальних норм щодо її регламентації.
66429. УПРАВЛІННЯ КОНКУРЕНТОСПРОМОЖНІСТЮ ПРОМИСЛОВОЇ ПРОДУКЦІЇ З УРАХУВАННЯМ ЕКОЛОГІЧНОЇ СКЛАДОВОЇ 474.5 KB
  Формування відкритої економіки, членство України в СОТ супроводжується не тільки позитивними, але і негативними явищами, серед яких слід відзначати жорсткі конкурентні умови, особливо для країн із застарілою технологією та виробництвом екологічно неякісної продукції.
66430. Внутрішні перенапруги в електричних мережах з ізольованою нейтраллю, їх обмеження та основи моделювання 4.68 MB
  Головним призначенням систем пересилання, розподілу та споживання електроенергії є ефективне забезпечення потреб національного господарства в енергії відповідної якості за мінімальних витрат і достатньому рівні надійності. Принципи побудови, розвитку сучасних і перспективних систем енергопостачання...