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.

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


 

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

23862. Сказание о Дракуле воеводе 16.23 KB
  который за свою жестокость имел прозвище ЦепешСажатель на кол и Дракула Дракон. Был на Мунгьянской земле область Румынии восточная часть Валахиивоевода христианин греческой веры имя его повалашски Дракулаа понашему Дьявол. Дракула спросил их почему так поступили такое бесчестье ему нанесли. Дракула воздал послу тому пышные почести показал ему своё богатство сказав что не только готов платить дань царюно со всем воинством готов пойти к нему на службу.
23863. Слово о походе Игоревом, Игоря, сына Святославова, внука Ольгова 17.03 KB
  В самом начале Игорева похода случилось затмение солнца но князь пренебрег этим дурным знамением: все превозмогла жажда искусить Дона Великого.И начали князья про малое говорить: Это великое и сами на себя крамолу ковать. Великая печаль настала по всей русской земле: Игорькнязь погубил то чего добился отец его Святослав Ольгович пленивший половецкого хана Кобяка. А киевский князь Святослав видел смутный сон: одевали его черным покрывалом на кровати тисовой черпали синее вино с горем смешанноесыпали пустыми колчанами крупный...
23864. Специфика древнерусской литературы (ДРЛ) и этапы развития. 11-17 века 34.5 KB
  Время перехода от средневекового типа литературы к новому. Характеризуется появлением новых жанров и нового понимания задач литературы. Условия возникновения письменной литературы: письменность крещение Руси.
23865. Хождение за три моря 16.74 KB
  Купцов предупреждают что караван подстерегают татары.Хасанбек дает подарки осведомителям чтобы они провели их безопасным путем. В Дербенте Афанасий просит помощи у Василия Панина который благополучно дошел до Каспия и Хасанбека чтоб заступились за людейзахваченных в плен и вернули товары. Считалось то что пришло с моря собственность владельца побережья.
23866. Основные особенности древне-русской литры 42 KB
  Литературный этикет слагается:из представлений о том как должен был совершаться тот или иной ход событийН: князь дб торжественен его конь не мб хромым он не может болетьиз представлений о том как дБ вести себя действующее лицо в соотв со своим положениемиз представлений о том какими словами должно описываться событие.Летопись дает историю госва содержит точные документальные сведения о князьях создает легитимность правомочность власти подтверждает власть.Легенда о призвании варягов: 3 брата старший Рюрик = все русские...
23867. История возникновения, создания Повести временных лет 24.5 KB
  История возникновения создания Повести временных лет Повесть временных лет составлена ок 1113 года монахом КиевоПечерского монастыря Нестором. В дальнейшем повесть временных лет включалась летописцами как начальная часть во вновь составлявшиеся летописные своды.
23868. «Поучение» Владимира Мономаха 35 KB
  Владимир Мономах Великий Князь Киевский был сыном Всеволода Ярославича и византийской царевны.Основные черты Поучения:1 Требование соблюдения норм христианской морали быть кротким слушать старейших и покоряться им не обижать сирот2 Основная мысль Поучении князь должен беспрекословно подчиняться старейшему жить в мире с другими князьями не притеснять младших князей и бояр. Князь так же должен избегать ненужного кровопролития быть радушным хозяином не предаваться лени не увлекаться властьюНо Мономах не ограничивается...
23869. Слово о законе и благодати митрополита Иллариона 31.5 KB
  Автор Слова Иларион первый митрополит из русских поставленный на киевскую митрополию из священников в 1051 г.Тема Слова тема равноправности народов резко противостоящая средневековым теориям богоизбранничества лишь одного народа теориям вселенской империи или вселенской церкви.Трехчастная композиция Слова подчеркнутая в названии позволяет органически развить основную тему Слова прославление Русской земли ее кагана Владимира и князя Ярослава.Основной пафос Слова в систематизации в приведении в иерархическую цепь фактов вселенской...
23870. Особенности передачи сигналов по линиям связи 48 KB
  Сеть - это совокупность каких-либо линий, расположенных по определенной системе (Толковый словарь русского языка. Под редакцией проф. Д.Н. Ушакова). Применительно к радиотехнической специальности в качестве такой совокупности будем рассматривать линии связи.