Студопедия КАТЕГОРИИ: АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Текст программы на языке Паскаль
Program Example_13; Var K, n, i, S, a : integer; x : array [1..30] of integer; Begin writeln; write(‘Введите количество элементов массива N = ‘); read(n); write(‘Введите ‘, n, ‘целых чисел - элементов массива X:‘); For i := 1 to n do read(x[i]); K := 0; For i := 1 to n do If x[i] = a then begin K := i; break end; If K = 0 then writeln(‘В данном массиве нет элементов равных ’, а) else begin S := 0; for i := 1 to K-1 do S := S + x[i]; writeln(‘S = ’, S) end; end. Рисунок 6.2 – Блок-схема алгоритма для примера 6.2 Данные для тестирования 1) Для n = 10, x = {5, 7, 8, 10, -12, 3, 8, 1, 8, 2}, a = 8 ð S = 10-12+3+8+1+8+2 = 24 2) Для n = 10, x = {5, 7, 8, 10, -12, 3, 8, 1, 8, 2}, a = 4 ð В данном массиве нет элементов равных 4 Пример 6.3. Дан целочисленный массив {ai} , i= 1,2, ..., n. Получить новый массив {bi}, выбросив из исходного массива все элементы со значением max({аi}). Определить число элементов нового массива. Решение задачи Выберем схему решения поставленной задачи. После того как будут введены все элементы массива {a}, с помощью оператора цикла с параметром (for) и условного оператора организуем поиск максимального элемента. В методическом пособии [1] приведено решение задачи на нахождение минимального элемента массива. Поиск максимального элемента выполняется аналогично. Введём переменную j – номер очередного элемента в новом массиве. Начальное значение j = 0. С помощью цикла с параметром и условного оператора «перепишем» в массив {bi} все элементы из массива {ai}, не равные максимальному. Номер последнего элемента в массиве {bi} будет равен количеству элементов в новом массиве. Блок-схема алгоритма – представлена на рисунке 6.3. Текст программы на языке Паскаль Program Example_14; Var n, i, j, Max : integer; A, B : array [1..30] of integer; Begin writeln; write(‘Введите количество элементов массива N = ‘); read(n); write(‘Введите ‘, n, ‘целых чисел - элементов массива A:‘); For i := 1 to n do read(A[i]); j := 0; Max := A[1]; For i := 2 to n do If A[i] > Max then Max := A[i]; writeln(‘Новый массив В:’); For i := 1 to n do If A[i] <> Max then begin j := j + 1; B[j] := A[i] writeln(B[j], ‘ ‘) end; writeln(‘В новом массиве ‘, j, ‘ элементов’); readln end. Рисунок 6.3 – Блок-схема алгоритма для примера 6.3 Данные для тестирования 1) Для n = 10, A = {10, 7, 8, 10, -1, 3, 8, 10, 8, 2} ð Новый массив В: 7, 8, -1, 3, 8, 8, 2 В новом массиве 7 элементов
ВЛОЖЕННЫЕ ЦИКЛЫ Если телом цикла является циклическая структура, то такие циклы называются вложенными. Возможно любое сочетание операторов цикла при организации вложенных циклов. Приведём примеры решения задач с использованием вложенных циклов. Пример 7.1. Дано n натуральных чисел a1, a2, ... , an . Найти наибольший общий делитель. Решение задачи Выберем схему решения поставленной задачи. Наибольшим общим делителем называется наибольшее число, на которое делятся все заданные числа, - в данном случае, таким числом может оказаться наименьший элемент данного массива {a}. После того как будут введены все элементы массива {a}, с помощью оператора цикла с параметром (for) и условного оператора организуем поиск минимального элемента. Решение задачи на нахождение минимального элемента массива приведено в методическом пособии [1]. Затем, с помощью оператора цикла с параметром (for) будем перебирать в порядке убывания значения от min({a}) до 1. Во вложенном цикле на каждом шаге для всех элементов массива будем проверять кратность элемента очередному числу. Для осуществления такой проверки воспользуемся операцией mod (остаток от деления), а в качестве индикатора успешного результата введём логическую переменную t, первоначально на каждом шаге присваивая ей значение True (истина). Если все элементы массива окажутся кратны очередному значению параметра внешнего цикла (значение переменной t останется True), то с помощью процедуры break выходим из цикла и выводим результат – значение параметра внешнего цикла на том шаге, на котором он был прерван. Блок-схема алгоритма |
||
Последнее изменение этой страницы: 2018-04-12; просмотров: 519. stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда... |