Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь 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; просмотров: 197; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.145.186.132 (0.007 с.) |