Файл: Лабораторная работа 2 по дисциплине Программирование Выполнил студент Доценко Илья Сергеевич специальность 09. 03. 01 Содержание.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 23.11.2023

Просмотров: 110

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

СОДЕРЖАНИЕ

1. Введение

2. Решение задачи №1

var

A : array [1..6,1..6] of boolean;

B : array [1..5,1..5] of boolean;

n,k : 1..6;

Получить массив B из массива A удалением n-ой строки и k-го столбца.

2.1. Описание используемых переменных.

A – двумерная матрица булевых значений размерностью 6 * 6;

B – двумерная матрица булевых значений размерностью 5 * 5;

C – двумерная матрица булевых значений размерностью 5 * 5;

n, k: 1..6 - ;

i – счетчик;

2.2. Описание алгоритма

Рис. 2.3Блок-схема алгоритма основной программы Блокх

2.4. Тестирование программы

Срока 4, столбец 5:

Срока 4, столбец 5:

3. Решение задачи №2

Глобальные:

i - счетчик;

stdinput –переменная для ввода строки из стандартного ввода;

uppercaseLettersOnly – переменная, в которую записывается строка, соержащая только заглавные символы из введенной строки;

sortedResult – результат сортировки строки из uppercaseLettersOnly;

Локальные переменные процедуры sorting:

i - счетчик;

minChar – символ с минимальным индексом ASCII.

3.2. Описание алгоритма

3.3. Блок-схема алгоритма

3.4. Тестирование программы

ПРИЛОЖЕНИЕ А ЛИСТИНГ ПРОГРАММЫ №1

ПРИЛОЖЕНИЕ B ЛИСТИНГ ПРОГРАММЫ №2

Министерство образования и науки РФФедеральное государственное бюджетное образовательное учреждение высшего профессионального образования «ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ» (ТУСУР)Кафедра автоматизированных систем управления (АСУ)ОТЧЕТЛабораторная работа № 2по дисциплине «Программирование»Выполнил студент:Доценко Илья Сергеевичспециальность 09.03.01СОДЕРЖАНИЕ1. Введение 32. Решение задачи №1 42.1. Описание используемых переменных 42.2. Описание алгоритма 52.3. Блок-схема алгоритма 62.4. Тестирование программы 73. Решение задачи №2 83.1. Описание используемых переменных 83.2. Описание алгоритма 83.3. Блок-схема алгоритма 93.4. Тестирование программы 104. Заключение 10ПРИЛОЖЕНИЕ А ЛИСТИНГ ПРОГРАММЫ №1 12ПРИЛОЖЕНИЕ B ЛИСТИНГ ПРОГРАММЫ №2 13

1. Введение

Лабораторная работа N 2 посвящена созданию программ с использованием массивов (одномерных и матриц) и множеств. В этих программах полезно использовать подпрограммы.

2. Решение задачи №1

var

A : array [1..6,1..6] of boolean;

B : array [1..5,1..5] of boolean;

n,k : 1..6;

Получить массив B из массива A удалением n-ой строки и k-го столбца.

2.1. Описание используемых переменных.

A – двумерная матрица булевых значений размерностью 6 * 6;

B – двумерная матрица булевых значений размерностью 5 * 5;

C – двумерная матрица булевых значений размерностью 5 * 5;

n, k: 1..6 - ;

i – счетчик;

2.2. Описание алгоритма


  1. Вводим номера столбца и строки, которые необходимо удалить;

  2. Перебираем числовой ряд от 1 до 6, и если индекс строки и столбца не соотвествует ранее введенным значениям, то заполняем матрицу С;

  3. Выводим построчно матрицу С

2.3. Блок-схема алгоритмаРис 2.3.1 Блок-схема основной части программы.Рис 2.3.2 Блок-схема процедуры printMatrix.Рис 2.3.3 Блок-схема процедуры deleteRowsAndColumns.


Рис. 2.3Блок-схема алгоритма основной программы Блокх

2.4. Тестирование программы

Срока 4, столбец 5:

Рис. 2.4.1

Срока 4, столбец 5:

Рис. 2.4.2

3. Решение задачи №2

Дана строка. В алфавитном порядке напечатайте (по разу) все большие латинские гласные буквы, входящие в эту строку. Указание: гласные буквы - а, e, i, o, u; остальные — согласные. Решение задачи простое, если вы будете использовать множества.
    1. Описание используемых переменных

Глобальные:

i - счетчик;

stdinput –переменная для ввода строки из стандартного ввода;

uppercaseLettersOnly – переменная, в которую записывается строка, соержащая только заглавные символы из введенной строки;

sortedResult – результат сортировки строки из uppercaseLettersOnly;

Локальные переменные процедуры sorting:

i - счетчик;

minChar – символ с минимальным индексом ASCII.

3.2. Описание алгоритма


  1. Вводим строку

  2. Проверяем, что строка не пуста

  3. Последовательно для каждого символа из введённой строки сравниваем с множеством заглавных гласных латинских букв , а так же проверяем на уникальность;

  4. Сортируем полученную последовательность;

  5. Выводим результат

3.3. Блок-схема алгоритма

Рис 3.3 Блок-схема основной части программы.

Рис 3.4 Блок-схема процедуры sorting.

3.4. Тестирование программы

Вводим “ AAwdwAWGHHYEWIYTRUJERUU” Рис. 3.4.1Вводим “ФЖЩЦГМВ{UOAVWawdblawdoIUBAW)OADIAPWD()!*@&$Y!Y*(P#O(!@OUKANLKSFA:@E!53” Рис. 3.4.24. ЗаключениеВ процессе написания программ были применены циклическая конструкция.В первом задании с помощью вложенного цикла перебирались занчения двумерной матрицы, во втором задании цикл был использован для перебора значений строки.В обоих программах использованы процедуры. Во второй программе использован рекурсивный метод обработки строки.

ПРИЛОЖЕНИЕ А ЛИСТИНГ ПРОГРАММЫ №1

(*Задача 1varA : array [1..6,1..6] of boolean;B : array [1..5,1..5] of boolean;n,k : 1..6;Получить массив B из массива A удалением n-ой строки и k-го столбца.*)varA: array [1..6, 1..6] of boolean;B: array [1..5, 1..5] of boolean;C: array [1..5, 1..5] of boolean;n, k: 1..6;i: integer;procedure deleteRowsAndColumns(n, k: 1..6);vari, j, ci, cj: integer;beginci := 1; cj := 1;for i := 1 to high(A) dofor j := 1 to high(A[i]) do beginif (i <> n) and (j <> k) thenbeginC[ci, cj] := A[i, j];ci := ci + 1; cj := cj + 1;end;end;end;procedure printMatrix();vari: integer;beginwriteln('Дана матрица А:');for i := 1 to high(A) dobeginprintln(A[i]);end;writeln('Преобразуем ее к виду матрицы B:');for i := 1 to high(B) dobeginprintln(B[i]);end;writeln('Для чего удалим указанные стоблец и строку.');end;beginprintMatrix;writeln('Введите номер строки в диапазоне от 1 до 6');readln(n);writeln('Введите номер столбца в диапазоне от 1 до 6');readln(k);if (n >= 1) and (n >= 6) and (k >= 1) and (k <= 6) then deleteRowsAndColumns(n, k);for i := 1 to high(B) dobeginprintln(C[i]);end;end.

ПРИЛОЖЕНИЕ B ЛИСТИНГ ПРОГРАММЫ №2

(*Задача 2Дана строка. В алфавитном порядке напечатайте (по разу)все большие латинские гласные буквы, входящие в эту строку.Указание: гласные буквы — а, e, i, o, u; остальные — соглас-
ные. Решение задачи простое, если вы будете использоватьмножества.*)program UseSetsToOptimizeYourUslessWork;vari: integer;stdinput, uppercaseLettersOnly, sortedResult: string;procedure sorting(sortInput: string);vari: integer;minChar: char;beginminChar := 'Z';if length(sortInput) > 0 thenbeginfor i := 1 to length(sortInput) dobeginif sortInput[i] < minChar then minChar := sortInput[i]; end;sortedResult := sortedResult + minChar;delete(sortInput, pos(minChar, sortInput), 1);sorting(sortInput);end;end;beginuppercaseLettersOnly := '';writeln('Введите строку');readln(stdinput);for i := 1 to length(stdinput) doif (stdinput[i] in ['A', 'E', 'I', 'O', 'U']) and (pos(stdinput[i], uppercaseLettersOnly) = 0) then uppercaseLettersOnly := uppercaseLettersOnly + stdinput[i];sorting(uppercaseLettersOnly);writeln(sortedResult);end.

2023 г.