Главная » Просмотр файлов » metod_15.03.04_atppp_oaip_up_2016

metod_15.03.04_atppp_oaip_up_2016 (1016600), страница 10

Файл №1016600 metod_15.03.04_atppp_oaip_up_2016 (Методические документы) 10 страницаmetod_15.03.04_atppp_oaip_up_2016 (1016600) страница 102017-07-08СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 10)

Однако это совсем не обязательно.Пример: Var B: Array [1582..1994] of Integer;Var C: Array [-754..-1] of Integer;(это, например, население за какие-то годы нашей эры и до нашей эры).Массив латинских букв: (можно посчитать частоту появления в тексте):Var Lat: Array [‘A’..’Z’] of Integer;53Массив t0C воздуха на островах:Type Остров = (Gaiti, Sumatra, Taimir);Var T: Array [Остров] of Real;Поскольку тип индекса не может быть стандартным целым илидействительным типом, нельзя делать следующие описания массива:Var А: Array [5] of Real;Var А: Array[Integer] of Real;Пример:VarMassiv: Array [1..N] of Real;Year: Array [янв..дек] of Integer;Если несколько массивов имеют одинаковый тип индексов и одинаковыйбазовый тип, то допускается в описание объединять массивы в список:Var А, В, С: Array[1..50] of Real;Здесь объявлено списком три массива действительных чисел, каждый из которыхсодержит по 50 элементов:А[1], A[2],… A[50].B[1], B[2],… B[50].C[1], C[2],… C[50].В качестве индекса может использоваться.

выражение, частным случаемкоторого является константа или переменная. Элемент массива можно называтьпеременной с индексом. В отличие от нее переменная без индекса называетсяпростой переменной.Элементы массива записываются в разделе операторов как идентификатор синдексом в квадратных скобках.B[5]:=B[3]-1;Sum:=Sum-C[K];P1:=A[2*3+1];Для ввода и вывода числовых значений элементов массива используютсяциклы.Пример:For I:=1 to 9 doRead(A[I]);Это ввод 9-ти значений элементов массива А.For I:=1 to 9 doWriteln(A[I]);Это их вывод.Пример: Вычислить сумму 15-ти целых чисел.Program Sum;Var X: Array [1..15] of Integer;I: 1..15;Sum: Integer;BeginSum:=0;For I:=1 to 15 doBegin54Read(X[I]);Sum:=Sum+X[I];End;End.В языке программирования Паскаль помимо явного описания массивов вразделе переменных есть другая форма описания, состоящая из двух этапов.Сначала в разделе описания типов Type указывается тип массива, затем в разделеописания переменных Var перечисляются массивы, относящиеся к донному типу.Type имя типа = Array [тип индекса] of тип элементов массива;Var имя массива: имя типа;Пример: Программа с двумя процедурами: одна – для ввода элементов массива,другая для вычисления суммы и произведения элементов.Program TI4;Type Massiv = Array [1..20] of Real;Var A, B: Massiv;Sum, Pr: Real;Procedure Vvod (N:Integer; Var X:Massiv);Var I: Integer;BeginWriteln(‘Ввод’);For I:=1 to N do Read(X[I]);End;Procedure Summa (N:Integer; Var X:Massiv; Var Sum, Pr: Real);Var I: Integer;BeginSum:= 0;Pr:=1;For I:=1 to N doBeginSum:=Sum+X[I];Pr:=Pr*X[I];End;End;BeginVvod(8,A); (*вызов процедуры*)Summa(8,A,Sum,Pr); (*вызов процедуры*)Writeln (‘Sum=’,Sum:7:2,’ ’:3,’Pr=’,Pr);Writeln;Vvod(15,B);Summa(15,B,Sum,Pr);Writeln (‘Sum=’,Sum:7:2,’ ’:3,’Pr=’,Pr);End.В основной программе описан тип массива длинной 20 элементов, а реальноиспользуются массивы А (8 элементов) и В(15 элементов).Пример: Расположить элементы заданного действительного массива в порядкеубывания: 1 2 3 4  4 3 2 155Program Rangir;Const N=10;Var A: Array [1..N] of Real;I, K: Integer; R: Real;BeginWriteln(‘Ввод’);For I:=1 to N do Read (A[I]);For K:=1 to N doFor I:=1 to N-K doIf A[I]<A[I+1] thenBeginR:= A[I];A[I]:= A[I+1];A[I+1]:=R;End;For I:=1 to N do Write (A[I]);End.K - номер просмотра строки (всего N-1 просмотров)I - номер сравнение элементов в просмотре (N-K сравнений).Пример: Массив R состоит из 10-ти элементов действительного типа.Type Mas = Array [1..10] of Real;Var R: Mas;Если в программе несколько таких массивов, то изменится лишь разделописания переменных:Var R, A, B, C: Mas;В разделе операторов программы используются массивы R, A, B, C.

Типмассива Mas введен формально только в разделе описаний и нигде в программе неуказывается и не обрабатывается.Пример: Найти наибольшее из 10-ти заданных целых чисел.Program Max;Const N=10;Type Massiv = Array [1..N] of Integer;Var K: Massiv;Max, I: Integer;BeginWriteln(‘Ввод’);For I:=1 to N do Read (K[I]);Max:=K[1];For I:=2 to N doIf K[I]>Max then Max:=K[I];Writeln;Write (‘Max=’, Max:4);End.Здесь 2 независимых цикла:1-ый – для ввода значений массива;2-ой – для нахождения максимального элемента.56Сначала первый элемент массива K[1] обозначается именем Мах. Затем каждыйпоследующий элемент сравнивается со значением Мах, и если он оказываетсябольше, то получает имя Мах.Пример: Составить программу определения минимального и максимальногоэлементов заданного массива.Program Minmax;Const N=9; (*число элементов*)Type Massiv = Array [1..N] of Real;Var A: Massiv; (*массив элементов*)I: Integer; (*параметр цикла*)Max, Min: Real; (*максимальный и минимальный элементы*)Procedure Maxmin (K: Integer; Var X: Massiv; Var Max, Min: Real);Var J: Integer;BeginMax:=X[1];Min:=X[1];For J:=2 to K doBeginIf X[J] > Max then Max:= X[J];If X[J] < Min then Min:= X[J];End;End;BeginWriteln (‘Ввод массива’);For I:=1 to N do Read (A[I]);Maxmin (N, A, Max, Min); (*вызов процедуры*)Writeln (‘макс.

элемент=’, Max:4:1);Writeln (‘мин. элемент=’, Min:4:1);End.В процедуре Maxmin определяются максимальный и минимальный элементымассива. Переменная J и формальные параметры процедуры K, X, Max, Minявляются локальными. В основной программе происходит ввод значений массива,вызов процедуры и вывод результатов. Константа N, тип Massiv, а такжепеременные A, I, Max и Min являются глобальными.Пример: Дан массив действительных чисел {Ai}, где i=1,2,3,4,..M. Пусть M = 15.Вычислить сумму элементов с 1-го по 12-ый и сумму элементов с 8-го по 15-ый.Затем найти произведение этих сумм.Program Pr2;Const M=15;Var A: Array [1..M] of Real;P: Real; (*произведение сумм*)J: Integer; (*параметр цикла*)Function Summa (N, K: Integer): Real;Var I: Integer;S: Real;Begin57S:=0;For I:=N to K do S:=S+A[I];Summa:=S;End;BeginWriteln (‘Ввод массива’);For J:=1 to M do Read (A[J]);P:=Summa (1,12)* Summa(8,15);Writeln(‘произведение=’,P:6:3);End.Пример: Дан массив (Х1,Х2,…Х100).

Записать отдельно положительные иотрицательные элементы.Program Sort;Const Nmax=100;Var X,Pol,Otr: Array [1..Nmax] of Real;I,N,K: Integer;BeginN:=0; K:=0;For I:=1 to Nmax doBeginRead (X[I]);If X[I] >0 thenBeginK:=K+1;Pol[K]:=X[I];EndElseBeginN:=N+1;Otr[N]:=X[I];End;End;For I:=1 to K do Write (Pol[I]);Writeln;For I:=1 to N do Write (Otr[I]);End.Пример: Вычислить среднее арифметическое массива D из N элементов (N500).Program Sred;Const NM=500;Var D: Array [1..NM] of Real;I,N,Nvar: Integer;Sum, Srd: Real;BeginSum:=0;Writeln (‘Nvar=?’);Readln(Nvar);58Writeln (‘Ввод массива’);For I:= 1 to Nvar doBeginRead (D[I]);Sum:= Sum + D[I];End;Srd:=Sum/Nvar;Writeln(‘Srd=’,srd);End.Пример: Вычислить n!Program Nfact;Var NF, K, N:Integer;BeginWriteln(‘N=?’);Readln (N);NF:=1;For K:=1 to N do NF:=NF*K;Writeln(‘NF=’,NF);End.Пример: Найти наибольший элемент массива (b1,b2,…b100) и его №.Program Max;Const NMax=100;Var B: Array [1..NMax] of Real;I,Imax: Integer;Bmax: Real;BeginWriteln (‘Ввод массива’);For I:=1 to NMax do Read (B[I]);Bmax:=b[1]; Imax:=1;For I:=2 to NMax doIf B[I]>Bmax thenBeginBmax:=B[I];Imax:=I;End;Writeln (‘Bmax=’, Bmax, ’Imax=’, Imax);End.Пример: Найти скалярное произведение двух векторов:X=(x1,x2,…xn)nY=(y1,y2,…yn) (X,Y)= xiyii=1Program Scal;Const N=3;Type Vektor = Array [1..N] of Real;Var X, Y: Vektor;I: Integer;59S: Real;BeginS:=0;Writeln (‘Ввести X,Y’);For I:=1 to N doBeginRead(X[I],Y[I]);S:= S+ X[I]*Y[I];End;Writeln(‘Scal=’,S);End.Пример: Перемножить два вектора:X=(x1,x2,x3)_ _ _Y=(y1,y2,y3)Z=X*YProgram V;Type Vektor = Array [1..3] of Real;Var X, Y, Z: Vektor;I: Integer;BeginWriteln (‘Ввести X,Y’);For I:=1 to 3 doBeginRead (X[I],Y[I]);Z[I]:= X[I]*Y[I];End;Writeln (‘Вектор Z’);For I:=1 to 3 do Write (Z[I]);End.(x1, x2, x3) * (y1, y2, y3) = (x1y1, x2y2, x3y3)6.1.1.

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

Они отобраны из множества алгоритмов, потому что, вопервых, наиболее часто используются, а во-вторых, потому что большинствоостальных алгоритмов является различными модификациями описанных здесь.1. Метод пузырька (метод обменной сортировки с выбором)60Идея этого метода отражена в его названии.

Характеристики

Тип файла
PDF-файл
Размер
1,01 Mb
Тип материала
Высшее учебное заведение

Список файлов учебной работы

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6625
Авторов
на СтудИзбе
294
Средний доход
с одного платного файла
Обучение Подробнее