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.

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


 

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

32802. Философия Августина Аврелия (Блаженного). И Фомы Аквинского 14.95 KB
  Учение о Боге и мире. Бог рассматривается им как начало всего сущего как единственная причина возникновения вещей. Бог вечен и неизменен. Мир созданных богом вещей изменчив и пребывает во времени.
32803. Особенности философии Возрождения. Её связь с наукой и искусством. Учения о природе и познании 18.84 KB
  Особенности философии Возрождения. Эпоха Возрождения Ренессанса переходный период от Средних веков к Новому времени XV [в Италии с XIV] XVI вв. Возрождение художественноэстетическая эпоха провозгласившая что высшее призвание человека в мире быть творцом и созидателем Этапы развития и характерные черты философии Возрождения. В философии эпохи Возрождения можно выделить 3 этапа: гуманистический сер.
32804. Эмпиризм и сенсуализм в философии нового времени 16.32 KB
  Локк подчеркивает особую роль органов чувств в процессе познания.Бэкон сделал научное познание в центре его внимания вопросы о целях и методах научного познания.Однако он утверждает что на пути познания имеется множество заблуждений препятствующих получению достоверного знания. Бэкон выделяет 4 вида идолов познания: 1 идолы рода являются следствием ограниченности человеческого ума несовершенством органов чувств; 2 идолы пещеры обусловлены индивидуальными особенностями человека: каждый человек имеет свой внутренний субъективный мир...
32805. Рационализм в философии нового времени 17.35 KB
  Эти две субстанции пересекаются и активно взаимодействуют однако их взаимосвязь является лишь механической. В человеке материальная и духовная субстанции проявляются как тело и душа. В понятии единой субстанции т. Спиноза называет следующие свойства единой субстанции: независимое ни от чего существование; вечность; бесконечность; является внутренней причиной самой себя и всего сущего.
32806. Субъективный идеализм в философии Н.В. (Дж.Беркли, Д.Юм) 14.1 KB
  Джордж Беркли 1685 1753 гг. Беркли внес весомый вклад в теорию познания четко поставив вопрос о соотношении объективного и субъективного в ощущениях об объективности причинности и о видах существования. Беркли утверждал что мир не существует независимо от человека а представляет собой комплекс ощущений и восприятий. Философия Беркли основывается на следующих основных принципах: 1 существовать значит быть воспринимаемым; 2 я не в состоянии помыслить ощущаемые вещи или предмет независимо от их ощущения и восприятия; 3 мы никогда не...
32807. Философия французского Посвящения 17.75 KB
  Философия Просвещения опиралась на достижения наук: биологии физики медицины которые стали естественнонаучным основанием раскрытия сущности и природы человека. Просветители развивали материалистические взгляды на природу и человека. Дидро уподоблял человека инструменту наделенному чувствительностью и памятью а Ламетри проводил аналогию между человеком и машиной. Однако французские материалисты обращали внимание и на роль социальнокультурных факторов появления человека уделяли внимание роли языка как средства общения и познания мира.
32808. Особенности становления и основные черты немецкой классической философии 11.99 KB
  Немецкая философия конца ХVIII первой трети ХIХ веков представлена именами Канта Фихте Шеллинга Гегеля Фейербаха и представляет собой важный этап в развитии мировой философской мысли. Произведения Шиллера и Гете философские труды Канта и Гегеля отразили противоречивость эпохи. Маркс назвал философию Канта теорией буржуазной революции.
32809. Философия И. Канта: субъективный идеализм и агностицизм 14.27 KB
  Канта: субъективный идеализм и агностицизм. Основателем немецкой классической философии считается Иммануил Кант 1724 1804 гг. Основное содержание своей философии Кант изложил в виде следующих вопросов: Что я могу знатьЧто я должен делатьНа что я могу надеятьсяЧто есть человек. В творчестве Канта принято выделять 2 периода: 1 докритический до 70х гг.
32810. Философия Гегеля: абсолютный идеализм и диалектика 14.28 KB
  Диалектика в творчестве Гегеля это теория развития всего сущего и метод познания действительности. В ходе своего саморазвития Абсолютная идея проходит ряд ступеней развиваясь от простого к сложному от абстрактного к конкретному. Высшая ступень развития абсолютный дух. Причем философия означает завершение итог развития Абсолютной идеи: по определению Гегеля философия это духовная квинтэссенция эпохи самосознание эпохи.