Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Сумма элементов массива по условиюСодержание книги
Поиск на нашем сайте
ПОСТАНОВКА ЗАДАЧИ: Заполнить и вывести массив на экран. Ввести условие суммирования (а[i]<u). Найти сумму и вывести на экран результат.
Program SumUsl; uses crt; const a: array[1..10] of integer=(3,5,2,1,6,3,8,7,5,9); var i, s, u: integer; procedure Su; Begin s:=0; for i:=1 to 10 do if a[i]<u then s:=s+a[i] write('Сумма элементов меньших ',u,' равна ',s); end; Begin ClrScr; Print; { смотри занятие 32 } writeln; writeln; write('Введите условие суммирования: '); readln(u); Su; Readkey; End. З А Д А Н И Я: 1. Изменить условие суммирования.
2. Написать процедуру Input.
3. Найти произведение элементов по условию.
ПРАКТИЧЕСКОЕ ЗАНЯТИЕ № 34 # 3. ОБРАБОТКА ОДНОМЕРНЫХ МАССИВОВ ОПРЕДЕЛЕНИЕ ЧИСЛА ЭЛЕМЕНТОВ МАССИВА ПО УСЛОВИЮ
ПОСТАНОВКА ЗАДАЧИ: Заполнить массив и вывести его на экран. Ввести с клавиатуры условие. Подсчитать количество элементов удовлетворяющих условию.
Program KolUsl; uses crt; const m=1; { min индекс } n=10; { max индекс } var i, k, usl: integer; a: array[m..n] of integer; ... { процедуры Input и Print см. занятие 32 } procedure Kol_po_Usl; Begin write('Введите ограничение:'); readln(usl); k:=0; for i:=m to n do if a[i]>usl then k:=k+1 write('Кoличество элементов больших ',usl, ' равно ', k); end; Begin ClrScr; Input; ClrScr; Print; writeln; writeln; Kol_po_Usl; Readkey; End.
З А Д А Н И Я:
1. Самостоятельно написать процедуры Input, Print и исполнить программу.
2. Изменить условие подсчета элементов.
3. Подсчитать сумму элементов по условию.
ПРАКТИЧЕСКОЕ ЗАНЯТИЕ № 35
# 4. ОБРАБОТКА ОДНОМЕРНЫХ ЧИСЛОВЫХ МАССИВОВ СУММА ДВУХ ОДИНАКОВЫХ ПО РАЗМЕРУ МАССИВОВ
В языке Pascal программист может описывать свои собственные типы и объекты, относящиеся к этому типу. Тип массив относится к структурированным типам. Описание типа помещают в раздел определения типов после раздела описания констант и до раздела описания переменных (var).
Например: TYPE massiv=array[1..100] of integer; var a, b, c: massiv; Описание типа позволяет применить формальный параметр типа massiv.
ПОСТАНОВКА ЗАДАЧИ: Заполнить и вывести на экран два одинаковых по размеру массива: А и B. Найти массив C,каждый элемент которого равен сумме соответствующих элементов массивов А и В: C[i]=A[i]+B[i]. Program Summa_Mass; uses crt; Type mas= array[1..100] of integer; var a, b, c: mas; I, n: integer; procedure Input(var x: mas); Begin for i:=1 to n do begin write('Элемент [',i,']='); readln(x[i]); end end; procedure Print(x: mas); begin for i:=1 to n do write(' ',x[i]); end; procedure SumMass; begin for i:=1 to n do c[i]:=a[i]+b[i]; end; Begin ClrScr; n:=20; writeln('Ввoд массива А:); Input(a); writeln('Ввод массива В:); Input(b); ClrScr; write(' A: '); Print(a); write(' B: '); Print(b); SumMass; write(' C: '); Print(c); readkey; End. З А Д А Н И Я:
1. Набрать и исполнить программу. 2. Найти сумму элементов, стоящих на четных местах в массиве С. 3. Найти сумму четных элементов в массиве С.
ПРАКТИЧЕСКОЕ ЗАНЯТИЕ № 36
# 5. ОБРАБОТКА ОДНОМЕРНЫХ МАССИВОВ ОБЪЕДИНЕНИЕ ДВУХ МАССИВОВ С ЧЕРЕДОВАНИЕМ ЭЛЕМЕНТОВ
ПОСТАНОВКА ЗАДАЧИ: Объединить два массива A и B,содержащих по N элементов в один массив c, который будет содержать 2*N элементов, т.е. получить массив C=(а1,b1,a2,b2,..,an,bn).
Program Ob_Mass; uses crt; type massiv=array[1..20] of integer; var a,b,c: massiv; I, n: integer; procedure Input(var x: massiv; n: integer); Begin for i:=1 to n do Begin write('Элемент [',i,']='); readln(x[i]); End end; procedure Print(x: massiv; n: integer); ... procedure Ob(n: integer); Begin for i:=1 to n do Begin c[2*i-1]:=a[i]; c[2*i]:=b[i] End end;
Begin ClrScr; n:=10; Input(a,n); writeln; Input(b,n); ClrScr; write('Массив А: '); Print(a, n); writeln; write('Массив B: '); Print(b, n); writeln; Ob(n); write('Массив C: '); Print(c, 2*n); readkey; End. З А Д А Н И Я:
1. Набрать и исполнить программу. 2. Изменить количество элементов в массивов. 3. Объединить массивы так, чтобы элементы одного массива следовали за элементами другого: c=(а1,а2,а3,..,аn,b1,b2,b3,..,bn). ПРАКТИЧЕСКОЕ ЗАНЯТИЕ № 37
# 6. ОБРАБОТКА ОДНОМЕРНЫХ МАССИВОВ И Н В Е Р Т И Р О В А Н И Е МАССИВА ПОСТАНОВКА ЗАДАЧИ: Требуется изменить порядок следования элементов массива C, состоящего из n элементов, на обратный, используя вспомогательную переменную p. Исходный массив C: 1 2 3 4 5 Конечный массив C: 5 4 3 2 1 Перестановка производится по одному элементу через промежуточную переменную: 1) 1-ый элемент передается в ячейку p; 2) последний элемент ставится на место 1-го; 3) элемент из ячейки p ставится на последнее место. Количество таких перестановок равно trunc(n/2) или (n div 2) – деление нацело.
Program Inwert; uses crt; { описание переменных и массива } { описание процедуры ввода массива } { описание процедуры вывода массива } procedure Inw; var m: integer; p: real; Begin m:=trunc(n/2); { определение числа циклов } for i:=1 to m do Begin p:=c[i]; { перестановка i элемента в p } c[i]:=c[n-i+1]; { перестановка на i место элемента n-i+1 } c[n-i+1]:=p; { перестановка элемента из p нa n-i+1 место } End end; Begin ClrScr; n:=20; Input; ClrScr; Print; writeln; Inw; Print; writeln; Inw; Print; writeln; Readkey; End. З А Д А Н И Я:
1. Набрать и исполнить программу. 2. Увеличить число элементов. 3. Заменить числовой массив на символьный. Получить из слова ГОРОД слово ДОРОГ и другие перевертыши. 4. Произвести инвертирование с сохранением исходного массива. Подсказка: используйте новый массив. ПРАКТИЧЕСКОЕ ЗАНЯТИЕ № 38
# 7. ОБРАБОТКА ОДНОМЕРНЫХ МАССИВОВ ФОРМИРОВАНИЕ МАССИВА ИЗ ЭЛЕМЕНТОВ ДРУГОГО МАССИВА УДОВЛЕТВОРЯЮЩИХ ЗАДАННОМУ УСЛОВИЮ ПОСТАНОВКА ЗАДАЧИ: Требуется из данного массива А, состоящего из N элементов, выбрать элементы, удовлетворяющие заданному (пусть А(i)>T), и сформировать из них массив B. Исходный массив А: 4 6 8 2 23 1 9 Условие: A(i)>=8 Новый массив B: 8 23 9
Особенность решения: Индексы элементов массивов A и B не совпадают, так как не все элементы массива A включаются в массив B. Введем переменную, формирующую индексы и являющуюся счетчиком элементов нового массива.
Program Massiv_po_Uslowiu; Uses crt; ...
procedure Mass_Usl; Begin write('Введите параметр условия: '); readln(t); k:=0; {k- счетчик найденых элементов } for i:=1 to n do if a[i]>=t then begin k:=k+1; b[k]:=a[i]; end; end; Begin ClrScr; n:=20; Input; { заполнение исходного массива A } ClrScr; Print(а, n); writeln; { печать исходного массива A } Mass_Usl; { формирование массива по условию } Print(b, k); writeln; { вывод на экран нового массива B } Readkey; End.
З А Д А Н И Я:
1. Набрать и исполнить программу.
2. Изменить условие.
3. Вывести на экран сообщение о количестве найденных элементов.
4. Найти среднее арифметическое элементов нового массива.
ПРАКТИЧЕСКОЕ ЗАНЯТИЕ № 39
# 8. ОБРАБОТКА ОДНОМЕРНЫХ МАССИВОВ ПОИСК МАКСИМАЛЬНОГО ЭЛЕМЕНТА В МАССИВЕ С ЗАПОМИНАНИЕМ ЕГО ПОЛОЖЕНИЯ (ИНДЕКСА)
ПОСТАНОВКА ЗАДАЧИ: Найти в массиве A, состоящем из n элементов, наибольший элемент и запомнить его индекс (K).
Program MaxElMassiva; uses crt; { описание массива и переменных } { процедура ввода массива } { процедура вывода массива }
procedure MaxEl; Begin max:=a[1]; k:=1; for i:=1 to n do if max<a[i] then begin max:=a[i]; k:=i; end; writeln('Максимальный элемент массива А равен ',max); writeln('Максимальный элемент массива стоит на ',k, ' месте); end;
Begin ClrScr; n:=20; Input; ClrScr; Print; writeln; MaxEl; Readkey;; End. З А Д А Н И Я:
1. Набрать и исполнить программу.
2. Найти минимальный элемент и его индекс.
3. Найти минимальный и максимальный элементы, и их индексы.
4. Заменить найденный минимальный элемент числом 100 и показать на экране массив с этой заменой.
ПРАКТИЧЕСКОЕ ЗАНЯТИЕ № 40
# 9. ОБРАБОТКА ОДНОМЕРНЫХ МАССИВОВ ПОИСК ЗАДАННОГО ЭЛЕМЕНТА В МАССИВЕ
ПОСТАНОВКА ЗАДАЧИ: Определить, есть ли в заданном массиве элемент равный L. Имеется массив А: 3 1 2 5 3 4 8 L=5 В массиве А имеется элемент равный 5
В данной программе можно использовать "флажок" - специальную переменную, которая принимает значения "истина" или "ложь" в зависимости от того найден элемент или нет.
Program Poisk_El_Massiva; uses crt;
...
procedure Poisk(L: integer); var fl: boolean; Begin fl:=false; for i:=1 to n do if a[i]=L then fl:=true; If fl then write(' Элемент равный ',L,' имеется ') else write(' Элемент равный ',L,' отсутствует'); end;
Begin ClrScr; n:=20; Input; ClrScr; Print; writeln; writeln; write('Введите значение искомого элемента: '); readln(L); Poisk(L); Readkey; End.
З А Д А Н И Я:
1. Набрать и исполнить программу, т. е. найти 3-4 элемента.
2. Если в массиве несколько одинаковых элементов, то найти первый из них и указать его индекс.
3. Подсчитать количество одинаковых элементов в массиве.
ПРАКТИЧЕСКОЕ ЗАНЯТИЕ № 41
#10. ОБРАБОТКА ОДНОМЕРНЫХ МАССИВОВ
|
||
|
Последнее изменение этой страницы: 2016-08-12; просмотров: 303; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.216.108 (0.008 с.) |