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.

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


 

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

44448. Реализация клиент-серверного приложения (игры Собери двойку) 1.44 MB
  Информационное обеспечение Диаграмма прецедентов Это диаграмма на которой отражены отношения существующие между актерами и прецедентами. Диаграмма представлена в приложении А. Диаграмма классов Это статическая структурная диаграмма описывающая структуру системы она демонстрирует классы системы. Диаграмма представлена в приложении B.
44449. Возможные неисправности двигателей устанавливаемых на автомобили ВАЗ 2115, их причины и способы устранения 373 KB
  Крепежные отверстия для крепления головки блока выполнены с резьбой М12 x 125 мм. Различие только в длине болтов крепления головки к блоку цилиндров. Крепежные отверстия для крепления головки блока выполнены с резьбой М12 x 125 мм. Для крепления генератора использован новый кронштейн.
44450. Инструментально-штамповочный цех машиностроительного завода 4.34 MB
  Подкрановые балки Типы конструкций: Каркас железобетонный колонны фундаментные балки подкрановые балки Стены облегчённые металлические панели по серии 1.50893 Правила выполнения рабочей документации генеральных планов предприятий сооружений и жилищно-гражданских объектов Архитектурно-строительная часть: Фундаменты и фундаментные балки Фундаменты столбчатые монолитные из железобетона по серии 1. Фундаментные балки: Фундаментные балки железобетонные типа ФБ6 по серии 1.
44451. ИЗОБРАЖЕНИЕ МУЖСКИХ И ЖЕНСКИХ ОБРАЗОВ В ПРОЗЕ НИНЫ САДУР 223.5 KB
  Нина Николаевна Садур – современная прозаик-драматург. Заявила о себе еще в начале 80-х годов ХХ века. В настоящее время Нина Садур – один из лидеров современного литературного процесса. Ее книги выходят в ведущих столичных издательствах, переводятся на иностранные языки, экранизируются, ставятся на сцене.
44452. Методы и способы совершенствования финансового положения ООО «Роза Ветров» 1.56 MB
  Теоретические основы анализа финансового состояния организации по данным бухгалтерской отчетности. Роль и значение анализа финансового состояния организации в современных условиях. Виды анализа финансового состояния организации .Особенности учета финансового состояния организации для целей диагностики.
44453. Автоматизация процесса проверки печей на технологическую точность 2.41 MB
  Завод был эвакуирован на Урал в город Верхняя Салда где в годы Великой Отечественной войны он полностью обеспечивал своей продукцией потребности авиации. Для этого применяются нагревательные термические и плавильные печи которые с установленной периодичностью подвергаются проверке на технологическую точность. Недогрев либо перегрев любой из рабочих зон печи приводит к нарушению технологического процесса. Для нагрева слитков и заготовок перед деформацией применяются газовые печи с атмосферой продуктов сгорания...
44454. Разработка информационного сетевого ресурса для организации тьюторской деятельности в учебно-воспитательном процессе школы 1.96 MB
  Технические требования к разработке сайта функциональные характеристики Реализация функциональности сайта Практическая цель дипломного проекта заключается в разработке и применении информационного сетевого ресурса сайта для организации и улучшения условий работы тьютора в средней общеобразовательной школе. В этом случае нами были разработаны технические требования для сайта лежащие в области задач тьютора и содержащие в своей основе особенности веб-разработки табл.
44455. Проектування металургійного міксера 2.85 MB
  Через необхідність застосовування міксерів існує необхідність підвищення рівня механізації допоміжного зварювального обладнання з метою зменшення трудомісткості їх виготовлення підвищення продуктивності складально-зварювальних операцій підвищення якості зварювання та техніки безпеки.
44456. Музей археології в м. Батурині 17.8 MB
  Бакалаврська робота присвячена проектуванню музею археології в м. Батурині. В процесі роботи узагальнені вітчизняний та закордонний досвід будівництва та експлуатації подібних споруд, визначені функціонально-технологічні фактори, що впливають на формування і розробку схеми взаємозв'язків приміщень , які входять у склад споруди, що досліджується