русс | укр

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

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

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

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


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

Использование циклических операций для обработки массивов


Дата добавления: 2015-07-09; просмотров: 803; Нарушение авторских прав


Основным инструментом для работы с массивами являются операторы цикла. С их помощью можно записывать значения в массивы, выбирать значения из массивов, менять элементы массивов местами и т.д. Порядок использования циклических операторов для обработки массивов рассмотрим без потери общности на следующих конкретных примерах.

П р и м е р 2. Используя фрагмент алгоритма составить программу, в которой четным элементам массива x[10] будут присвоены значения квадратов индексов, а остальным элементам – нули и выведите этот массив

 

П р и м е р 3. По заданному алгоритму составить программу вычисления скалярного произведения векторова и b длиной 5 по формуле:

.

Смысл этой задачи сводится к выбору одноименных элементов из массивов, их перемножению с последующим суммированием полученных произведений. Алгоритм имеет следующий вид:

1. Начало;

2. Список данных:

k – целый;

a[5], b[5], c – вещественный;

3. Ввод(a, b);

4. Вывод(a, b);

5. c:=0;

6. Цикл по k от 1 до 5;

7. c:=c + a[k]×b[k];

8. Конец-цикла 6;

9. Вывод(с);

10. Конец.

В этом алгоритме для организации накопления значений “c” мы предварительно “очистили” отведенную для этого ячейку памяти. В каждом новом повторе цикла к значению “c” прибавлялось очередное слагаемое.

П р и м е р 4.Составить таблицу отклонений экспериментальных данных V1 , V2 , . . V10 от их среднего значения.

Здесь необходимо сначала вычислить среднее значение, а затем построчно сформировать и отпечатать таблицу значений.

Фрагмент алгоритма решения этой задачи представлен на рис. 2.

 
 

 

 


Рис. 2. Фрагмент алгоритма вычисления и печати таблицы отклонений от среднего значения


П р и м е р 5. Составить программу для определения суммы элементов матрицы, состоящей из 2 строк и 3 столбцов, при условии, что первый элемент матрицы больше или равен нулю, или произведения элементов матрицы, если первый элемент меньше нуля.



Математическая постановка задачи будет иметь следующий вид

Задана матрица:

 
 

 


Необходимо рассчитать величину R по формуле:

 
 

 

 


Алгоритм решения этой задачи, заданной в форме ГСА, приведен на рис. 3.

       
 
 
   
Рис. 3. Алгоритм обработки матрицы

 


Рассмотрим еще два примера, иллюстрирующих циклическую обработку массивов.

П р и м е р 6. В соответствии с приведенным фрагментом алгоритма, составить программу позволяющую вычислить сумму положительных элементов, лежащих под (над) дополнительной диагональю матрицы А(4,4):

 
 


 

 

 

 

В задачах такого рода важно определить закономерность изменения индексов элементов массива: в этой задаче нужно увидеть, что сумма индексов элементов, лежащих под дополнительной диагональю, больше 5 (над диагональю – меньше 5; на диагонали – равна 5). Фрагмент алгоритма решения задачи в виде псевдокодов выглядит так:

5. S:=0;

6. Цикл по i от 1 до 4;

7. Цикл по j от 1 до 4;

8. Если (i+j>5) и (A(i,j)>0) То

9. S:=S+A(i,j);

10. Конец-Если 8;

11. Конец-цикла 7;

12. Конец-цикла 6;

13. Вывод(S);

П р и м е р 7.В соответствии с приведенным фрагментом алгоритма, составить программу позволяющую вычислить сумму отрицательных элементов, лежащих над (под) главной диагональю матрицы А(4,4):


 

 

 

 

В этой задаче важно увидеть, что первый индексу элементов, лежащих над главной диагональю, меньше второго(под диагональю – первый индекс больше второго; на диагонали – индексы равны). Фрагмент алгоритма решения задачи очень похож на предыдущий, изменения потребует лишь пункт 8 (изменится проверяемое логическое условие). Фрагмент алгоритма решения этой задачи можно написать самостоятельно.

Рассмотрим алгоритмы, обеспечивающие сортировку массива. Известно множество методов решения задач такого плана. Реализуем алгоритмически “метод сортировки обменами”.

П р и м е р 8.Дана последовательность чисел a1, a2,…, a10 (одномерный массив a[10]). Требуется переставить числа в порядке возрастания. Для этого сравниваются два соседних числа ai и ai+1. Если ai>ai+1, то делается перестановка. Так продолжается до тех пор, пока не будут выполнены все перестановки. Алгоритм решения задачи показан на рис. 4.

 

       
 
 
   
Рис. 26. Алгоритм сортировки массива

 


П р и м е р 9.Составить программу по приведенному алгоритму.



<== предыдущая лекция | следующая лекция ==>
Выборка элементов массивов | Bubble.с


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


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

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

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


 


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

 
 

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

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