русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Задания для самостоятельной подготовки


Дата добавления: 2014-11-28; просмотров: 1189; Нарушение авторских прав


1. Изучить:

—правила организации вложенного цикла с учетом порядка перебора элементов матрицы;

—правила использования приемов программирования в структурах с вложенными циклами;

—способы ввода и вывода матриц, имеющиеся в языке программирования.

2.Разработать алгоритм решения в соответствии с заданием.

3.Составить программу решения задачи.

4.Подготовить тестовый вариант программы и исходных данных.

Задание к работе

1.Обработать на ЭВМ матрицу в соответствии с вариантом задания, указанного в таблице 4. Вывести на печать результаты и исходную матрицу в общепринятом виде.

2.Проверить правильность выполнения программы с помощью тестового варианта

Пример выполнения работы

Задание 1, Выполнить на ЭВМ решение задачи. Записать в массив В(N,КМАХ) положительные элементы строк матрицы A (N, M) (N<=20, M<= 10) до первого отрицательного, где КМАХ — наибольшее значение числа положительных элементов в строке до первого отрицательного. Вывести на печать сформированную матрицу В. На печать выводить только те элементы, которые записаны в матрицу.

Таблица 4

Вариант задания Имя матрицы и размеры Действия Условия и ограничения
I А (10, 15) Вычислить и запомнить сумму и число положительных элементов каждого столбца матрицы. Результаты отпечатать в виде двух строк Аij>0
A (N, М) Вычислить и запомнить суммы и числа элемен- тов каждой строки матрицы. Результаты отпеча- тать в виде двух столбцов N<20 М<15
B(N,N) Вычислить сумму и число элементов матрицы, находящихся под главной диагональю и на ней N<12
C(N,N) Вычислить сумму и число положительных элементов матрицы, находящихся над главной диагональю Сi,j>0 N<12
D (К, К) Записать на место отрицательных элементов матрицы нули и вывести ее на печать в общепринятом виде К<10
D(10, 10) Записать на место отрицательных элементов матрицы нули, а на место положительных — единицы. Вывести на печать нижнюю треугольную матрицу в общепринятом виде  
F(N,M) Найти в каждой строке матрицы максимальный и минимальный элементы и поместить их на место первого и последнего элемента строки соответственно. Матрицу напечатать в общепринятом виде N<20 М<10
F(10,8) Транспонировать матрицу и вывести на печать элементы главной диагонали и диагонали, расположенной под главной. Результаты разместить в двух строках  
N (10, 10) Для целочисленной матрицы найти для каждой строки число элементов, кратных пяти, и наибольший из полученных результатов ni,j/5*5 = nij
N(10,10) Из положительных элементов матрицы N сформировать матрицу М (10, КМАХ), располагая их в строках матрицы подряд, где КМАХ — максимальное число положительных элементов строки матрицы N. Записать нули на место отсутствующих элементов. Отпечатать обе матрицы в общепринятом виде  
Р (N, N) Найти в каждой строке наибольший элемент и поменять его местами с элементом главной диагонали. Отпечатать полученную матрицу в общепринятом виде N<15
R(K,N) Найти наибольший и наименьший элементы матрицы и поменять их местами К<20 N<10
S (25, 8) Ввести исходные данные в первые 24 строки и первые 7 столбцов. Вычислить среднее арифметическое значение элементов каждой строки и записать его в 8-й столбец, а также среднее арифметическое каждого столбца и записать его в 25-ю строку. Отпечатать полученную матрицу в общепринятом виде  
T(N,M) Найти строку с наибольшей и наименьшей суммой элементов. Вывести на печать найденные строки и суммы их элементов N<20 M<15
V(15, 10) Упорядочить по возрастанию элементы каждой строки матрицы. Отпечатать полученную матрицу в общепринятом виде  

 



Алгоритм решения следующий. Организовать вложенный цикл для перебора элементов исходной матрицы А по строкам. Для этого во внешнем цикле следует изменять индекс строки, а во внутреннем — индекс столбца; во внутреннем цикле — находить и записывать в соответствующую строку матрицы В положительные элементы строки до первого отрицательного, а также подсчитывать число положительных элементов К в этой строке. Для подсчета числа положительных элементов необходимо перед внутренним циклом задать его начальное значение, равное 0, а внутри цикла считать число таких элементов, используя оператор присваивания К=К + 1. Если положительных элементов в строке нет, то К = 0, если в строке все элементы положительны, то К = N.

Как только встретится отрицательный элемент в строке матрицы, необходимо записать в матрицу В вместо него — 1 и выйти из внутреннего цикла Во внешнем цикле следует найти наибольшее значение из всех К, вычисленных для отдельных строк. Для этого перед внешним циклом необходимо задать начальное значение КМАХ, например, равное нулю, а внутри внешнего цикла сравнивать К с КМАХ и находить наибольшее из них.

Таким образом, матрица В имеет размер N x КМАХ. В некоторых строках матрицы В будет записано элементов меньше, чем КМАХ. По условию задачи на печать необходимо вывести только элементы, записанные в матрицу В. Наличие в строке матрицы — 1 указывает на окончание вывода элементов этой строки.

Схема алгоритма решения представлена на рисунке 5. Блок 3 задает начальное значение КМАХ, блок 4 организует внешний цикл, изменяющий индекс строки, блок 5 задает начальное значение К, блок 6 организует внутренний цикл, изменяющий индекс столбца. Блок 7 проверяет знак элемента массива ау. Если он положительный, то блок 8 осуществляет запись этого элемента в массив В и увеличивает значение К на 1. Если элемент отрицательный, то блок 9 осуществляет запись — 1 в матрицу В и далее осуществляется выход из внутреннего цикла к блоку 10.

Из внутреннего цикла возможен естественный выход (если в строке не было отрицательных элементов), который осуществляется также к блоку 10. Блоки 10 и 11 находят значение KMAX.

Блоки 12 и 13 организуют цикл для печати результатов. Внутри цикла проверяется знак элемента. Если он положительный, то осуществляет вывод его на печать. При печати необходимо предусмотреть блокировку перехода на новую строку перед выводом следующего элемента этой же строки. Если элемент отрицательный, то осуществляется выход из внутреннего цикла к блоку 16, который обеспечивает переход на следующую строку печатающего устройства, подготавливая его для вывода элементов следующей строки. Естественный выход из внутреннего цикла также осуществляется к блоку 16.



<== предыдущая лекция | следующая лекция ==>
Вложенные операторы цикла | Программа на языке ПАСКАЛЬ


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.039 сек.