Работа с векторами паскаль

Pascal-Паскаль

Видео:Исполнитель чертёжник Сместиться на векторСкачать

Исполнитель чертёжник Сместиться на вектор

Программирование. Одномерные массивы Pascal-Паскаль

  • Скачено бесплатно: 19402
  • Куплено: 414
  • Pascal-Паскаль->Программирование. Одномерные массивы Pascal-Паскаль

Видео:Математика это не ИсламСкачать

Математика это не Ислам

Программирование. Одномерные массивы Pascal-Паскаль

Понятие структуры

До сих пор мы работали с простыми типами данных – логический ( boolean ), целый ( integer , word , byte , longint ), вещественный ( real ), символьный ( char ). Любой алгоритм можно запрограммировать с помощью этих четырех базовых типов. Но для обработки информации о многообразном реальном мире требуются данные, имеющие более сложное строение. Такие сложные конструкции, основанные на простейших скалярных типах, называются структурами. Структура – некоторый составной тип данных, составленный из базовых скалярных. Если структура не изменяет своего строения на протяжении всего выполнения программы, в которой она описана, то такую структуру называют статической.

Массив – однородная совокупность элементов

Самой распространенной структурой, реализованной практически во всех языках программирования, является массив.

Массивы состоят из ограниченного числа компонент, причем все компоненты массива имеют один и тот же тип, называемый базовым. Структура массива всегда однородна. Массив может состоять из элементов типа integer , real или char , либо других однотипных элементов. Из этого, правда, не следует делать вывод, что компоненты массива могут иметь только скалярный тип.

Другая особенность массива состоит в том, что к любой его компоненте можно обращаться произвольным образом. Что это значит? Программа может сразу получить нужный ей элемент по его порядковому номеру (индексу).

Индекс массива

Номер элемента массива называется индексом. Индекс – это значение порядкового типа, определенного, как тип индекса данного массива. Очень часто это целочисленный тип ( integer , word или byte ), но может быть и логический и символьный.

Описание массива в Паскале. В языке Паскаль тип массива задается с использованием специального слова array (англ. – массив), и его объявление в программе выглядит следующим образом:

где I – тип индекса массива, T – тип его элементов.

Можно описывать сразу переменные типа массив, т.е. в разделе описания переменных:

Обычно тип индекса характеризуется некоторым диапазоном значений любого порядкового типа : I 1 .. I n . Например, индексы могут изменяться в диапазоне 1..20 или ‘ a ‘..’ n ‘.

При этом длину массива Паскаля характеризует выражение:

Вот, например, объявление двух типов: vector в виде массива Паскаля из 10 целых чисел и stroka в виде массива из 256 символов:

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

Опишем переменные типа vector и stroka :

далее в программе мы можем обращаться к отдельным элементам массива a или c . Например, a [5]:=23; c [1]:=’ w ‘; a [7]:= a [5]*2; writeln ( c [1], c [3]).

Вычисление индекса массива Паскаля

Индекс массива в Паскале не обязательно задавать в явном виде. В качестве индекса массива можно использовать переменную или выражение, соответствующее индексному типу. Иначе говоря, индексы можно вычислять.

Этот механизм – весьма мощное средство программирования. Но он порождает распространенную ошибку: результат вычислений может оказаться за пределами интервала допустимых значений индекса, то есть будет произведена попытка обратиться к элементу, которого не существует. Эта типичная ошибка называется «выход за пределы массива».

Пример программы с ошибкой массива Паскаля

Хотя данная программа полностью соответствует синтаксису языка, и транслятор «пропустит» ее, на стадии выполнения произойдет ошибка выхода за пределы массива Паскаля. При n =45 выражение n *2=90, компьютер сделает попытку обратиться к элементу массива a [90], но такого элемента нет, поскольку описан массив размерностью 80.

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

Из всего этого следует сделать вывод: программисту надо быть очень аккуратным при работе с индексами массива.

Основные действия с массивами Паскаля

Как известно, определение типа данных означает ограничение области допустимых значений, внутреннее представление в ЭВМ, а также набор допустимых операций над данными этого типа. Мы определили тип данных как массив Паскаля. Какие же операции определены над этим типом данных? Единственное действие, которое можно выполнять над массивами целиком, причем только при условии, что массивы однотипны, – это присваивание. Если в программе описаны две переменные одного типа, например,

то можно переменной a присвоить значение переменной b ( a := b ). При этом каждому элементу массива a будет присвоено соответствующее значение из массива b. Все остальные действия над массивами Паскаля производятся поэлементно (это важно!).

Ввод массива Паскаля

Для того чтобы ввести значения элементов массива, необходимо последовательно изменять значение индекса, начиная с первого до последнего, и вводить соответствующий элемент. Для реализации этих действий удобно использовать цикл с заданным числом повторений, т.е. простой арифметический цикл, где параметром цикла будет выступать переменная – индекс массива Паскаля. Значения элементов могут быть введены с клавиатуры или определены с помощью оператора присваивания.

Пример фрагмента программы ввода массива Паскаля

Рассмотрим теперь случай, когда массив Паскаля заполняется автоматически случайными числами, для этого будем использовать функцию random ( N ).

Пример фрагмента программы заполнения массива Паскаля случайными числами

Вывод массива Паскаля

Вывод массива в Паскале осуществляется также поэлементно, в цикле, где параметром выступает индекс массива, принимая последовательно все значения от первого до последнего.

Пример фрагмента программы вывода массива Паскаля

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

Пример программы вывода массива Паскаля в столбик

На экране мы увидим, к примеру, следующие значения:

Пример решения задачи с использованием массивов Паскаля

Задача: даны два n -мерных вектора. Найти сумму этих векторов.

Решение задачи:

    Входными данными в этой задаче будут являться два одномерных массива. Размер этих массивов может быть произвольным, но определенным. Т.е. мы можем описать заведомо большой массив, а в программе определить, сколько элементов реально будет использоваться. Элементы этих массивов могут быть целочисленными. Тогда описание будет выглядеть следующим образом:

Ход решения задачи:

  • определим количество элементов (размерность) массивов, введем значение n ;
  • введем массив a ;
  • введем массив b ;
  • в цикле, перебирая значения индекса i от 1 до n , вычислим последовательно значения элементов массива c по формуле:

Текст программы :

Пример программы суммирования векторов

Программирование

Исходники Pascal (127)

Справочник

Справочник по паскалю: директивы, функции, процедуры, операторы и модули по алфавиту

Видео:Работа с массивами PascalСкачать

Работа с массивами Pascal

Вектора. Одномерные массивы в Pascal

Видео:Линейная алгебра. Векторы и операции над векторами.Скачать

Линейная алгебра. Векторы и операции над векторами.

«Управление общеобразовательной организацией:
новые тенденции и современные технологии»

Свидетельство и скидка на обучение каждому участнику

Выбранный для просмотра документ План урока массивы.doc

1 Этап – организационный момент (1 мин).

Учащиеся готовятся к уроку, настраиваются на работу, приветствую учителя и одноклассников.

2 Этап – актуализация знаний (20 мин).

Необходимо вместе с учащимися проговорить тему урока и планируемые результаты, план на урок, а так же вспомнить следующие темы: генератор случайных чисел randomize ; цикл с параметром for ; переменная накопитель, используемая для счета суммы и количества, их разница; нахождение максимального из трех заданных чисел.

«Прежде чем мы начнем изучение новой темы, нам необходимо вспомнить с вами, во-первых, генератор случайных чисел randomize .

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

Рассмотрим пример: выведите на экран 5 случайных чисел в диапазоне от -50 до 50.

Var i, a : integer;

For i:=1 to 10 do

end; readkey; end.

Переменная i нужна для организации цикла по параметру. В этом цикле параметр с каждым шагом увеличивается ровно на единицу и обеспечивает повторение действий, в нашем случае, генерирования числа и вывод его на экран, т.к. мы их забрали в операторные скобки begin … end , то они обрабатываются вместе. Параметр может быть только целого типа.

В переменной а будет непосредственно находиться псевдослучайное число. Функция random генерирует случайное число в диапазоне от 0 до 0,9999. Нам необходимо сдвинуть этот диапазон. Попробуем сначала умножить верхнюю и нижнюю границу диапазона умножить на 50 – получим 0…49,9. Мы получили необходимый верхний предел, но не нижний. Теперь попробуем еще вычесть 50, получим — -50…- 0,1. Получили нижний предел, но верхний не подходит. Поэтому мы должны умножить верхний и нижний пределы функции random на число вдвое больше – 100 и вычесть из него половину нашего диапазона, т.е. 50. Получим нижний — -50…49,9. А чтобы верхний предел 50 вошел в диапазон умножим на 101 и округлим это число до целого при помощи функции round .

Примечание: если будет генерироваться одно случайное число, то после открытия операторных скобок необходимо написать строку randomize ;

Теперь попробуйте сами вывести случайное число в диапазоне от -20 до 0.

Далее вспомним с вами переменную накопитель. Если нам необходимо сложить значения этих чисел, то переменная будет выглядеть следующим образом: sum := sum + a . В некий контейнер мы добавляем значения, причем в нем остается то, что там было. А если нам нужно посчитать количество, скажем четных чисел, то эта переменная будет выглядеть так: sum := sum +1. Представьте, что вы собираете яблоки в корзину, в первом случае мы считаем суммарный вес яблок, а во втором их количество.

Мы коснулись четных чисел. Как определить четность числа? Для этого есть специальная функция mod , которая определяет остаток от деления. Мы знаем, что при деления четных чисел на 2 остаток – 0. Значит получим: a mod 2=0.

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

if b>max then max:=b;

if c>max then max:=c;

Если какое-то из последующих чисел окажется больше, чем max , то оно перезаписывается.

Теперь, когда мы вспомнили весь необходимый материал, можем приступить к изучению новой темы – массивы.

(Проводим физкультминутку с упражнениями на разминание пальцев рук, координацию движений, для глаз).

3 Этап – изучение нового материала (30 мин).

(Объяснение нового материала сопровождается презентацией)

Массив – это совокупность пронумерованных однотипных значений, имеющих общее имя. Элементы массива обозначаются переменными с индексами. Индексы записываются в квадратных скобках после имени массива. Линейная таблица или одномерный массив называется вектором, двумерный массив — матрицей(Приложение 1, слайд 1,2).

При работе с массивами учитываем 4 основных момента: описание, заполнение, если не работаем с внешним файлом, обработка (не всегда), вывод на экран или запись во внешний файл.

1. Описание m : array [1..10] of integer ; (Приложение 1, слайд 3). Массив имеет имя, которое задает пользователь. Можете представить массив в виде улицы, все дома на ней имеют общее имя. Каждый домик имеет свой порядковый номер, как и каждый элемент массива (Приложение1, слайд 4). В каждом домике кто-то живет, каждый элемент массива имеет определенное значение (Приложение 1, слайд 5). А эти значения определяют тип элементов (Приложение 1, слайд 6).

2. Заполнение. Заполнить массив можно несколькими способами: 1) случайными числами, т.е с помощью функции random ; 2) вручную, используя оператор ввода с клавиатуры read ; 3) определяя значения элементов массива как константы: m [1]:=2; m [8]:=40 и т.д. 4) используя математические функции, если, например, таблица содержит значения функции sin от какого-либо аргумента.

3. Вывод и обработку элементов массива рассмотрим на конкретных примерах (Приложение 1, слайд 6).

Пример1: заполните массив случайными числами в диапазоне от 0 до 10.

m: array[1..10] of integer;

for i:=1 to 10 do

m[i]:= round (random(11));

Оператор write выводит в строку, поэтому для того чтобы между элементами оставались промежутки, выводим текстовой строкой пробел.

Далее примеры обработки данных из массива.

Пример 2: посчитать сумму четных элементов массива, состоящего из 10 случайных чисел в диапазоне от 0 до 10.

var i, sum: integer;

m: array[1..10] of integer;

for i:=1 to 10 do

if m[i] mod 2=0 then sum:=sum+m[i];

writeln(‘sum chetn elementov=’, sum);

Пример 3: найти максимальный элемент массива, состоящего из 10 случайных чисел в диапазоне от 0 до 10.

var i, max: integer;

m: array[1..10] of integer;

for i:=1 to 10 do

for i:=2 to 10 do

if m[i]>max then max:=m[i];

writeln(‘max element maassiva= ‘,max);

Пример 4: отсортировать массив методом «пузырька» по возрастанию (Приложение 1, слайд 7). В методе «пузырька» сравниваются два соседних элемента, если они не соответствую возрастающей или убывающей последовательности, то меняем их местами перестановкой с помощью дополнительной переменной. Эта операция повторяется многократно, пока весь вектор не будет отсортирован. Поэтому используется два цикла: внешний для организации неоднократного прохождения алгоритма и внутренний – для непосредственной проверки соседних элементов.

var i,j, a: integer;

m: array[1..10] of integer;

for i:=1 to 10 do

for i:=1 to 10 do

for i:=1 to 10 do

(Рассматриваем возникшие вопросы)

4 Этап – закрепление материала (25 мин).

Перейдем к практическим заданиям. В первую очередь, вам необходимо набрать рассмотренные задачи и протестировать их, отладить, если возникнут ошибки. За это вы получите оценку 3. На 4 и 5 вы должны решить следующие две задачи:

Посчитать количество элементов массива, равных n .

var m:array[1..10] of integer;

for i:=1 to 10 do

if m[i]=n then k:=k+1;

Дан целочисленный массив, состоящий из 20 элементов, сжать его, выбросив каждый второй элемент.

var m:array[1..20] of integer;

for i:=1 to 20 do

for i:=1 to 20 do

if i mod 2=0 then write(m[i],’ ‘);

Подведем итоги урока. Сегодня мы познакомились с одномерными массивами – векторами и научились обрабатывать данные содержащиеся в векторах.

5 Этап – домашнее задание (4 мин).

Нерешенные задачи остаются на дом, выполняются в тетради.

Рассматриваем возникшие вопросы. Выставляем оценки.

Выбранный для просмотра документ Структурный тип данных.ppt

Работа с векторами паскаль

Видео:§2 Линейная операция над векторамиСкачать

§2 Линейная операция над векторами

Дистанционные курсы для педагогов

Описание презентации по отдельным слайдам:

Структурный тип данных (аналог таблиц) Программирование массивов в Turbo Pascal

Массив – это совокупность пронумерованных однотипных значений, имеющих общее имя. Элементы массива обозначаются переменными с индексами. Индексы записываются в квадратных скобках после имени массива. m[1], m[5], m[1,1], m[i,j] Линейная таблица – вектор. Многомерная таблица – матрица.

Описание одномерных массивов Ул. Ломоносова Представьте улицу, все домики на ней имеют общее имя, т. е. название этой улицы. Var m : array [1..10] of integer;

of integer; Описание одномерных массивов Ул. Ломоносова 1 2 3 4 Каждый домик имеет свой порядковый номер, т.е. элементы массива имеют сквозную последовательную нумерацию. Var m : array [1..10]

of integer; Описание одномерных массивов Ул. Ломоносова 1 2 3 4 Теперь заселим каждый домик жильцами, т.е. заполним массив. Var m : array [1..10]

of integer; Описание одномерных массивов Ул. Ломоносова 1 2 3 4 И, наконец, значения элементов имеют определенный тип, задаваемый при описании массива. Var m : array [1..10]

Заполнять массив можно несколькими способами: 1. С помощью генератора случайных чисел, функции random. m[i]:=random(10); 2. Вручную, используя оператор ввода с клавиатуры. Read(m[i]); 3. Задавая как константу. m[1]:=5; m[2]:=39;…;m[10]:=12; 4. Используя математические функции. m[i]:=sin(i);

Рассмотрим примеры базовых задач при работе с векторами: 1. Заполнить массив из 10 элементов случайными числами в диапазоне от 0 до 10 (za1); 2. Найти сумму четных элементов вектора (za2); 3. Найти максимальный элемент вектора (za3); 4. Отсортировать одномерный массив по возрастанию методом «пузырька» (za4).

Пояснения к 4 задаче: Имеем массив, состоящий из 5 элементов: 2, 6, 3, 8, 5. Необходимо отсортировать его по возрастанию методом пузырька. for i:=1 to 10 do for j:=1 to 9 do if m[j]>m[j+1] then begin a:=m[j]; m[j]:=m[j+1]; m[j+1]:=a; end; Если предыдущий элемент > следующего, то они меняются местами if m[j]>m[j+1] then 2, 6, 3, 8, 5 2, 3, 6, 8, 5 2, 3, 6, 8, 5 Эта операция, в нашем случае, будет повторяться 10 раз 2, 3, 6, 5, 8

Выбранный для просмотра документ Схема конспекта урока одномерные массивы.doc

Схема конспекта урока (занятия)

Аттестуемый педагог (ФИО) : Кочеткова Ксения Юрьевна

Полное название образовательного учреждения : МБОУ «Балезинская средняя школа №2»

Предмет : информатика и ИКТ

УМК : 1) Семакин И.Г. Основы программирования.

Тема урока : Одномерные массивы.

Предметные: 1. Формулирование понятия массив.

2. Формирование навыков описывать, заполнять, обрабатывать и выводить массив на экран.

Метапредметные: 1. Формирование таких универсальных действий и умений как: алгоритмическое мышление и пошаговость действий; анализ и синтез информации; умение делать выводы; соотносить цель учебной деятельности и ее мотив; выделение и осознание того, что усвоено и что еще нужно усвоить, осознание качества и уровня усвоения.

Личностные: 1. Формирование таких универсальных действий и умений как: рефлексия; разрешение конфликтных ситуаций при работе в группе; определение цели, функций, способов взаимодействия участников группы; применение полученных знаний в повседневной жизни.

Организаци — о н н ы й м о м е н т (1 мин)

Готовность учащихся к началу урока.

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

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

Подготовиться к уроку.

Актуализация знаний (план на урок, о п р о с у чащ их ся п о за д а н н о му н а до м ма т е р и а л у) (10 мин)

Знание алгоритмов работы со случайными числами – назначение диапазона чисел; цикла с параметром for ; переменную накопитель, используемую для счета суммы и количества и их различия, условие четности числа.

Умение выделять учащимися того, что уже усвоено и что еще нужно усвоить, осознание качества усвоения материала; умение выбирать наиболее эффективные методы решения поставленной задачи; умение самостоятельно анализировать, синтезировать и выделять необходимую информацию при решении творческих задач.

Проводит групповую работу с классом, рассматривая заданные алгоритмы.

«Прежде чем мы начнем изучение новой темы, нам необходимо вспомнить с вами, во-первых, генератор случайных чисел randomize .

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

Рассмотрим пример: выведите на экран 5 случайных чисел в диапазоне от -50 до 50.

Var i, a: integer;

For i:=1 to 10 do

end ; readkey ; end .

Переменная i нужна для организации цикла по параметру. В этом цикле параметр с каждым шагом увеличивается ровно на единицу и обеспечивает повторение действий, в нашем случае, генерирования числа и вывод его на экран, т.к. мы их забрали в операторные скобки begin … end , то они обрабатываются вместе. Параметр может быть только целого типа.

В переменной а будет непосредственно находиться псевдослучайное число. Функция random генерирует случайное число в диапазоне от 0 до 0,9999. Нам необходимо сдвинуть этот диапазон. Попробуем сначала умножить верхнюю и нижнюю границу диапазона умножить на 50 – получим 0…49,9. Мы получили необходимый верхний предел, но не нижний. Теперь попробуем еще вычесть 50, получим — -50…- 0,1. Получили нижний предел, но верхний не подходит. Поэтому мы должны умножить верхний и нижний пределы функции random на число вдвое больше – 100 и вычесть из него половину нашего диапазона, т.е. 50. Получим нижний — -50…49,9. А чтобы верхний предел 50 вошел в диапазон умножим на 101 и округлим это число до целого при помощи функции round .

Примечание: если будет генерироваться одно случайное число, то после открытия операторных скобок необходимо написать строку randomize ;

Теперь попробуйте сами вывести случайное число в диапазоне от -20 до 0.

Далее вспомним с вами переменную накопитель. Если нам необходимо сложить значения этих чисел, то переменная будет выглядеть следующим образом: sum := sum + a . В некий контейнер мы добавляем значения, причем в нем остается то, что там было. А если нам нужно посчитать количество, скажем четных чисел, то эта переменная будет выглядеть так: sum := sum +1. Представьте, что вы собираете яблоки в корзину, в первом случае мы считаем суммарный вес яблок, а во втором их количество.

Мы коснулись четных чисел. Как определить четность числа? Для этого есть специальная функция mod , которая определяет остаток от деления. Мы знаем, что при деления четных чисел на 2 остаток – 0. Значит получим: a mod 2=0.»

Учащиеся ведут диалог с учителем, отвечают на вопросы, дополняют ответы одноклассников, конспектируют то, что еще не знают.

Устный опрос, диалог, наглядность.

Об ъ я с н е н и е н о в о го мате р и а л а ( 15 мин)

Учащиеся формулируют понятия массив; могут описывать, заполнять, выводить и обрабатывать массив;

Умение формулировать познавательную цель; умение выделять существенное из полученных знаний; умение осознавать уровень и качество усвоения знаний, структурировать, синтезировать, анализировать знания, делать выводы; разбивать задачу на подзадачи.

Объясняет материал урока, демонстрируя на слайдах.

«Массив – это совокупность пронумерованных однотипных значений, имеющих общее имя. Элементы массива обозначаются переменными с индексами. Индексы записываются в квадратных скобках после имени массива. Линейная таблица или одномерный массив называется вектором, двумерный массив — матрицей( Приложение 1, слайд 1,2 ).

Работа с векторами паскаль

Работа с векторами паскаль

При работе с массивами учитываем 4 основных момента: описание, заполнение, если не работаем с внешним файлом, обработка (не всегда), вывод на экран или запись во внешний файл.

Описание m : array [1..10] of integer ; ( Приложение 1, слайд 3 ).

Работа с векторами паскальМассив имеет имя, которое задает пользователь. Можете представить массив в виде улицы, все дома на ней имеют общее имя. Каждый домик имеет свой порядковый номер, как и каждый элемент массива ( Приложение1, слайд 4 ) .

Работа с векторами паскальВ каждом домике кто-то живет, каждый элемент массива имеет определенное значение ( Приложение 1, слайд 5 ).

Работа с векторами паскальА эти значения определяют тип элементов ( Приложение 1, слайд 6 ).

Работа с векторами паскаль

2. Заполнение. Заполнить массив можно несколькими способами: 1) случайными числами, т.е с помощью функции random ; 2) вручную, используя оператор ввода с клавиатуры read ; 3) определяя значения элементов массива как константы: m [1]:=2; m [8]:=40 и т.д. 4) используя математические функции, если, например, таблица содержит значения функции sin от какого-либо аргумента.

3. Вывод и обработку элементов массива рассмотрим на конкретных примерах ( Приложение 1, слайд 6 ).

Работа с векторами паскаль

Пример1 : заполните массив случайными числами в диапазоне от 0 до 10.

m: array[1..10] of integer;

for i:=1 to 10 do

m[i]:= round (random(11));

Оператор write выводит в строку, поэтому для того чтобы между элементами оставались промежутки, выводим текстовой строкой пробел.

Далее примеры обработки данных из массива.

Пример 2 : посчитать сумму четных элементов массива, состоящего из 10 случайных чисел в диапазоне от 0 до 10.

var i, sum: integer;

m: array[1..10] of integer;

for i:=1 to 10 do

if m[i] mod 2=0 then sum:=sum+m[i];

writeln(‘sum chetn elementov=’, sum);

Конспектируют материал урока, ведут диалог с учителем, задают вопросы.

Наглядности, аналогии, активная самостоятельная деятельность учащихся.

За к р е п л е н и е у че б н о г о мат е ри а л а (12 мин)

Решают самостоятельно задачи, тестируют их и исправляют ошибки.

Осознание того что усвоено и что еще необходимо усвоить, уровень и качество усвоения знаний; умение выделять необходимую информацию, синтезировать, структурировать, анализировать, выбирать наиболее эффективный способ решения поставленной задачи; умение сотрудничать с участниками группы и учителем, разрешать конфликтные ситуации.

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

«Перейдем к практическим заданиям. В первую очередь, вам необходимо набрать рассмотренные задачи и протестировать их, отладить, если возникнут ошибки. За это вы получите оценку 3. На 4 и 5 вы должны решить следующие две задачи:

Посчитать количество элементов массива, равных n .

Видео:Матрицы и векторыСкачать

Матрицы и векторы

Пример программы суммирования векторов

Ввод массива Паскаля

Для того чтобы ввести значения элементов массива, необходимо последовательно изменять значение индекса, начиная с первого до последнего, и вводить соответствующий элемент. Для реализации этих действий удобно использовать цикл с заданным числом повторений, т.е. простой арифметический цикл, где параметром цикла будет выступать переменная – индекс массива Паскаля. Значения элементов могут быть введены с клавиатуры или определены с помощью оператора присваивания.

Begin

For i:=1 to 10 do

2. Способы заполнения массивов:

1 способ program pr1; var a: array [1..5] of integer; i:integer; begin writeln (‘Первый способ’); a[1]:=6; a[2]:=9; a[3]:=5; a[4]:=8; a[5]:=6; for i:=1 to 5 do writeln (a [i]); readln; end.2 способ Program pr2; Var A: array [1..5] of real; i:integer; begin writeln (‘Второй способ’); For i:=1 to 5 do Readln (a [i]); Readln; end.

Вывод массива Паскаля

Вывод массива в Паскале осуществляется также поэлементно, в цикле, где параметром выступает индекс массива, принимая последовательно все значения от первого до последнего.

Пример фрагмента программы вывода массива Паскаля

Var
A: array [1..10] of integer;
I : byte ;
Begin
For i :=1 to 10 do
Write ( a [ i ],’ ‘);

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

Пример программы вывода массива Паскаля в столбик

На экране мы увидим, к примеру, следующие значения:

Пример решения задачи с использованием массивов Паскаля

Задача: даны два n -мерных вектора. Найти сумму этих векторов.

  • Входными данными в этой задаче будут являться два одномерных массива. Размер этих массивов может быть произвольным, но определенным. Т.е. мы можем описать заведомо большой массив, а в программе определить, сколько элементов реально будет использоваться. Элементы этих массивов могут быть целочисленными. Тогда описание будет выглядеть следующим образом:

var a , b : array [1..100] of integer ;

  • Выходными данными будут элементы результирующего массива, назовем его c . Тип результирующего массива также должен быть целочисленным.
  • Кроме трех массивов нам потребуется переменная – параметр цикла и индекс массива, назовем ее i , а также переменная n для определения количества элементов в каждом массиве.

Ход решения задачи:

  • определим количество элементов (размерность) массивов, введем значение n ;
  • введем массив a ;
  • введем массив b ;
  • в цикле, перебирая значения индекса i от 1 до n , вычислим последовательно значения элементов массива c по формуле:

c [ i ]= a [ i ]+ b [ i ];

  • выведем на экран полученный массив.

Пример программы суммирования векторов

Program summa;
Var
a, b, c: array [1..100] of integer;
I, n: byte;
Begin
Write (‘введите размерность массивов:’);
Readln(n);
For i:=1 to n do
Readln (a[i]);
For i:=1 to n do
Readln (b[i]);
For i:=1 to n do
C[i]:=a[i]+b[i];
For i:=1 to n do
write (c[i],’ ‘);
end.

📺 Видео

Паскаль с нуля [ч7]. Одномерные массивы.Скачать

Паскаль с нуля [ч7]. Одномерные массивы.

Векторы и Манипуляции с ними, Vector3 - Unity урокиСкачать

Векторы и Манипуляции с ними, Vector3 - Unity уроки

Собственные векторы и собственные значения матрицыСкачать

Собственные векторы и собственные значения матрицы

Не пропустите открытие тысячелетия! // Vital MathСкачать

Не пропустите открытие тысячелетия! // Vital Math

18+ Математика без Ху!ни. Скалярное произведение векторов. Угол между векторами.Скачать

18+ Математика без Ху!ни. Скалярное произведение векторов. Угол между векторами.

vector | Библиотека стандартных шаблонов (stl) | Уроки | C++ | #1Скачать

vector | Библиотека стандартных шаблонов (stl) | Уроки | C++ | #1

Что такое вектора? | Сущность Линейной Алгебры, глава 1Скачать

Что такое вектора? | Сущность Линейной Алгебры, глава 1

Янга и Мюррея вон из "Атланты"? "Юта" и Маркканен - наши герои? Где Симмонс и что творится с "Нетс"?Скачать

Янга и Мюррея вон из "Атланты"? "Юта" и Маркканен - наши герои? Где Симмонс и что творится с "Нетс"?

Вектор. Сложение и вычитание. 9 класс | МатематикаСкачать

Вектор. Сложение и вычитание. 9 класс | Математика

Векторы на пальцах. Операции с векторами в Python [Математика для машинного обучения]Скачать

Векторы на пальцах. Операции с векторами в Python [Математика для машинного обучения]

Физика | Ликбез по векторамСкачать

Физика | Ликбез по векторам

Работа с Файлами в PascalСкачать

Работа с Файлами в Pascal

УРОК 15. Язык программирования Pascal. Часть 1. (7 класс)Скачать

УРОК 15.  Язык программирования Pascal.  Часть 1.  (7 класс)

Вектора и операции над векторамиСкачать

Вектора и операции над векторами
Поделиться или сохранить к себе: