78177

Разработка программ методом пошаговой детализации

Лабораторная работа

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

Под структурным программированием понимают такие методы разработки и записи программы, которые ориентированы на максимальные удобства для восприятия и понимания ее человеком

Русский

2015-02-07

41.5 KB

8 чел.

Тема: Разработка программ методом пошаговой детализации

Цель работы: сформировать навыки и умения создания алгоритмов и программ с использованием метода пошаговой детализации.

Время выполнения: 2 часа

Лабораторная работа №8

Порядок выполнения работы:

  1.  Изучить теоретические  сведения.
  2.  Получить индивидуальное задание  у преподавателя и разработать программу в соответствии с поставленной задачей.
  3.  Отлаженную, работающую программу сдать преподавателю. Работу программы показать с помощью самостоятельно разработанных тестов.

Теоретические сведения

Под структурным программированием понимают такие методы разработки и записи программы, которые ориентированы на максимальные удобства для восприятия и понимания ее человеком. При прочтении программы в ее следующих друг за другом фрагментах должна четко прослеживаться логика ее работы, т. е. не должно быть "скачков" на фрагменты программы, расположенные где-то в другом месте программы.

Структурное программирование — "программирование без go to", т. е. не используются операторы перехода без особой необходимости. В связи с этим отдельные фрагменты программы представляют собой некоторые логические (управляющие) структуры, которые определяют порядок выполнения содержащихся в них правил обработки данных. Любая программа получается построенной из стандартных логических структур, число типов которых невелико.

Основные логические структуры:

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

Ветвление — управляющая структура, которая в зависимости от выполнения заданного условия определяет выбор для исполнения одного из двух или более заданных в этой структуре групп операторов.

Повторение — цикл, в котором группа операторов может выполняться повторно, если соблюдается заданное условие.

Технология нисходящего программирования базируется на методе программирования "сверху вниз". Часто этот метод называют методом пошаговой детализации. Основой такого метода является идея постепенной декомпозиции исходной задачи на ряд подзадач. Сначала формулируется самая грубая модель решения, отдельные детали которой на первом этапе могут быть довольно расплывчатыми. По мере разработки программы, разбивая наиболее неясные части алгоритма и добиваясь все более точных и детализированных формулировок получают более подробное решение. Решение отдельного фрагмента сложной задачи может представлять собой самостоятельный программный блок, называемый подпрограммой. Такой процесс детализации продолжается до тех пор, пока не станут ясны все детали решения задачи. В этом случае программу решения сложной задачи можно представить как иерархическую совокупность относительно самостоятельных фрагментов — подпрограмм.

Индивидуальные задания:

Оформить процедурами основное решение задачи, ввод-вывод оформить в главной программе.

  1.  Дана матрица размера 5 x 10. В каждой строке найти количество элементов, больших среднего арифметического всех элементов этой строки.
  2.  Дана матрица размера 5 x 10. Преобразовать матрицу, поменяв местами минимальный и максимальный элемент в каждой столбце.
  3.  Дана матрица размера 5 x 10. Найти минимальное значение среди сумм элементов всех ее строк и номер строки  с этим минимальным значением.
  4.  Дана матрица размера 5 x 10. Найти максимальный среди минимальных элементов каждой строки.
  5.  Дана целочисленная матрица размера 5 x 10. Вывести номер ее первой строки, содержащей равное количество положительных и отрицательных элементов (нулевые элементы не учитываются). Если таких строк нет, то вывести 0.
  6.  Дана матрица размера 5 x 10. Вывести номер ее последней строки, содержащей только положительные элементы. Если таких строк нет, то вывести 0.
  7.  Дана целочисленная матрица размера M x N. Различные столбцы матрицы назовем похожими, если совпадают множества чисел, встречающихся в этих столбцах. Найти количество столбцов, похожих на первый столбец.
  8.  Дана квадратная матрица порядка M. Найти сумму элементов ее главной и побочной диагоналей.
  9.  Дана целочисленная матрица размера M x N. Найти количество ее столбцов, все элементы которых различны.
  10.  Дана целочисленная матрица размера M x N. Вывести номер ее первой строки, содержащей максимальное количество одинаковых элементов.
  11.  Дана квадратная матрица порядка M. Найти сумму элементов ее главной и побочной  диагоналей.
  12.  Дана квадратная матрица порядка M. Найти суммы элементов ее диагоналей, параллельных главной, начиная с одноэлементной диагонали A[1,M] или A[1,1]. 
  13.  Дана квадратная матрица порядка M. Вывести минимальные из элементов каждой ее диагонали, параллельной главной, начиная с одноэлементной диагонали A[1,M] или A[1,1].
  14.  Дана квадратная матрица порядка M. Заменить нулями отрицательные элементы матрицы, лежащие ниже главной диагонали.
  15.  Дана квадратная матрица порядка M. Заменить нулями элементы, лежащие одновременно выше  главной диагонали и выше побочной диагонали.
  16.  Дана квадратная матрица порядка M. Зеркально отразить ее элементы относительно горизонтальной оси симметрии матрицы.
  17.  Дана квадратная матрица порядка M. Повернуть ее на 90 градусов в положительном направлении.
  18.  Дана матрица размера 5 x 10. Вывести количество столбцов, элементы которых возрастают.
  19.  Даны два числа k1 и k2 и матрица размера 4 x 10. Поменять местами строки матрицы с номерами k1 и k2. 
  20.  Дана матрица размера 5 x 10. Поменять местами столбцы, содержащие минимальный и максимальный элементы матрицы.
  21.  Дана матрица размера 5 x 10. Поменять местами первый столбец с номером один и первый из столбцов, содержащий только положительные элементы.
  22.  Дано число k и матрица размера 4 x 10. Удалить строку матрицы с номером k. 
  23.  Дана матрица размера 5 x 10. Удалить столбец, содержащий минимальный элемент матрицы.
  24.  Дана матрица размера 5 x 10. Удалить все столбцы, содержащие только положительные элементы.
  25.  Дано число k и матрица размера 4 x 9. После столбца матрицы с номером k вставить столбец из нулей.
  26.  Дана матрица размера 5 x 9. Перед последним столбцом, содержащим только положительные элементы, добавить столбец, состоящий из единиц.
  27.  Дана целочисленная матрица размера M x N. Найти элемент, являющийся максимальным в своей строке и минимальным в своем столбце. Если такой элемент отсутствует, то вывести 0.
  28.  Дана квадратная матрица порядка M. Найти сумму элементов ее главной и побочной  диагоналей.
  29.  Дана квадратная матрица порядка M. Заменить нулями отрицательные элементы матрицы, лежащие выше  побочной диагонали.
  30.  Дана квадратная матрица порядка M. Повернуть ее на 180 градусов в положительном направлении.

PAGE   \* MERGEFORMAT2