Презентация Одномерные массивы. Работа с элементами онлайн

На нашем сайте вы можете скачать и просмотреть онлайн доклад-презентацию на тему Одномерные массивы. Работа с элементами абсолютно бесплатно. Урок-презентация на эту тему содержит всего 90 слайдов. Все материалы созданы в программе PowerPoint и имеют формат ppt или же pptx. Материалы и темы для презентаций взяты из открытых источников и загружены их авторами, за качество и достоверность информации в них администрация сайта не отвечает, все права принадлежат их создателям. Если вы нашли то, что искали, отблагодарите авторов - поделитесь ссылкой в социальных сетях, а наш сайт добавьте в закладки.
Презентации » Устройства и комплектующие » Одномерные массивы. Работа с элементами



Оцените!
Оцените презентацию от 1 до 5 баллов!
  • Тип файла:
    ppt / pptx (powerpoint)
  • Всего слайдов:
    90 слайдов
  • Для класса:
    1,2,3,4,5,6,7,8,9,10,11
  • Размер файла:
    1.16 MB
  • Просмотров:
    122
  • Скачиваний:
    0
  • Автор:
    неизвестен



Слайды и текст к этой презентации:

№1 слайд
Содержание слайда:

№2 слайд
Тема урока Одномерные
Содержание слайда: Тема урока: Одномерные массивы. Работа с элементами План урока: Регулярные типы данных. Одномерные массивы. Работа с элементами. Решение задач. Домашнее задание. В математике, экономике, информатике часто используются упорядоченные наборы данных, например последовательности чисел, таблицы, списки фамилий. Для обработки наборов данных одного типа вводится понятие массива.

№3 слайд
Содержание слайда:

№4 слайд
В языке Qbasic индекс
Содержание слайда: В языке Qbasic индекс заключается в круглые скобки. В языке Qbasic индекс заключается в круглые скобки. В Turbo Pascal 7.0 в квадратные. Для рассмотренного примера элементами массива А являются: На QBasic А(1)=1.6, А(2)=14.9, А(3)= -5.0, А(4)=8.5, А(5)=0.46. На Turbo Pascal 7.0 А[1]:=1.6, А[2]:=14.9, А[3]:= -5.0, А[4]:=8.5, А[5]:=0.46. Таким образом - индекс определяет положение элемента массива данных относительно его начала. Если в программе используется массив, то он должен быть описан.

№5 слайд
Форма описания имеет вид DIM
Содержание слайда: Форма описания имеет вид DIM имя массива (n1 ТО n2) AS тип элементов Var имя массива: ARRAY [n1 .. n2 ] OF <тип элементов>; DIM A(1 TO 1000) AS INTEGER Var a:array[1..1000] of integer; Здесь n1, n2 — номер первого и последнего элементов массива соответственно. В качестве типа элементов может использоваться любой тип данных, кроме файлового. Если несколько массивов имеют одинаковый тип индексов и одинаковый базовый тип, то допускается в описании объединять массивы в список, например DIM A(50, B(50), C(50) AS SINGLE Var А, В, С: ARRAY [1..50] OF REAL; Здесь объявлено списком три массива А, В, С действительных чисел, каждый из которых содержит по 50 элементов ( от 1 до 50):

№6 слайд
Нельзя путать понятия индекс
Содержание слайда: Нельзя путать понятия «индекс» и «тип индекса». Нельзя путать понятия «индекс» и «тип индекса». Тип индекса - только в разделе описания массива, а индекс - в разделе операторов для обозначения конкретных элементов массива. При этом индекс должен быть того же типа, что и описание типа индекса. В качестве индекса может быть выражение, частным случаем которого является константа или переменная. Элемент массива иначе называется переменной с индексом. В отличие от нее, переменная без индекса называется простой переменной. Элементы массива могут стоять как в левой части оператора присваивания, так и в выражениях. Над элементами массива можно производить те же операции, которые допустимы для данных его базового типа. Если базовый тип есть INTEGER, то допустимы все операции над данными целого типа, включая и стандартные функции.

№7 слайд
Присвоение значений элементам
Содержание слайда: Присвоение значений элементам массива Присвоение значений элементам массива может происходить с помощью: 1. оператора INPUT: оператора Read (Readln); uses crt; DEFINT I,N Var i,n:integer; DIM A(10000) AS INTEGER a:array[1..10000] of integer; Begin CLS clrscr; Определяем число элементов в массиве INPUT “N=”;N write('Введ. Размер. массива ');readln(n);

№8 слайд
Содержание слайда:

№9 слайд
Присвоение значений элементам
Содержание слайда: Присвоение значений элементам массива может Присвоение значений элементам массива может происходить с помощью: 2. Оператора DATA: описания элементов массива описания констант. uses crt; CONST N=5 Const n=5; DATA 4,5,7,7,0 a:array[1..5] of integer= (4,5,7,7,0); DEFINT I Var i:integer; Begin CLS clrscr; Считываем и печатаем полученный массив FOR I=1 TO N for i:=1 to n do begin READ A(I):PRINT A(I);” “; write(a[i],' '); NEXT end; readkey; END end.

№10 слайд
. оператора присвоения .
Содержание слайда: 3. оператора присвоения 3. оператора присвоения (для небольших массивов): A(1)=10: A(2)=0:A(3)=2 а[1]:=10; a[2]:=0, … a[N]:=2; После того, как данные введены в массив, ими можно оперативно распоряжаться. Доступен любой элемент массива. Достаточно только указать его индекс. Для получения случайных чисел воспользуемся следующей функцией Функция RND [(x)] в QBasic Функция RND [(x)] возвращает случайное число обычной точности в интервале от 0 до 1. Если аргумент опущен, возвращается следующее число из последовательности случайных чисел. Для запуска генератора используйте RANDOMIZE TIMER.

№11 слайд
Функция Random x в TPascal .
Содержание слайда: Функция Random [(x)] в TPascal 7.0 Функция Random [(x)] в TPascal 7.0 Формирует случайное число от 0 до Х целого или вещественного типа (перед обращением к функции ее целесообразно инициализировать, использовав процедуру Rаndomize). X – параметр, указывающий диапазон значений случайного числа. Оно изменяется в пределах 0 до Х. Результат в этом случае имеет тип Word (диапазон значений - 0…65535). Если параметр Х не задан, результат будет типа Real в пределах 0.0 <=Х <1.0. Для получения массива целых случайных чисел из диапазона от [A,B] RND(B-A)+A random(B-A)+A

№12 слайд
Сформировать одномерный
Содержание слайда: Сформировать одномерный массив из N элементов, где элементы массива - целые случайные числа в пределах от 1 до 45. Напечатать элементы массива в прямом и обратном порядке

№13 слайд
Содержание слайда:

№14 слайд
В предыдущей задаче
Содержание слайда: В предыдущей задаче переставить элементы, стоящие на нечетных местах, с соответствующими элементами на четных местах. После создания массива вставим строки: В полученном массиве меняем соседние элементы. I=1 i:=1; Пока I<=N-1 WHILE I<=N-1 while i<=n-1 do begin Меняем значения соседних элементов. R=A(I):A(I)=A(I+1):A(I+1)=R r:=a[i];a[i]:=a[i+1];a[i+1]:=r; Увеличиваем индекс на два. I=I+2 inc(i,2); WEND end; Распечатываем измененный массив. FOR I=1 TO N for i:=1 to n do begin PRINT A(I);” “; write(a[i],' '); NEXT end; readkey; END end.

№15 слайд
Найти максимальный
Содержание слайда: Найти максимальный (минимальный) элемента массива, а также его порядковый номер. После создания массива вставим строки: За начальный максимум (минимум) берем первый элемент массива. MIN=A(1):MAX=A(1) min:=a[1]; max:=a[1]; FOR I=1 TO N for i:=1 to n do begin Если найдется элемент меньший MIN, то MIN будет равен этому элементу. Одновременно запоминаем индекс промежуточного минимума. IF A(I)<=MIN THEN If a[i]<=min then begin MIN=A(I):IMIN=I Min:=a[i]; imin:=i; end; Если найдется элемент больший MAX, то MAX будет равен этому элементу.

№16 слайд
Найти максимальный
Содержание слайда: Найти максимальный (минимальный) элемента массива, а также его порядковый номер. Одновременно запоминаем индекс промежуточного максимума. IF A(I)>=MAX THEN if a[i]>= max then MAX=A(I):IMAX=I begin max:=a[i]; imax:=i; end; NEXT end; Печатаем минимальный элемент и его индекс PRINT MIN; ” номер “; IMIN writeln(min,' номер ',imin); Печатаем максимальный элемент и его индекс. PRINT MAX; ” номер “; IMAX writeln(max,' номер ',imax); readkey; END end.

№17 слайд
Домашнее задание В предыдущей
Содержание слайда: Домашнее задание В предыдущей задаче найдите минимальный элемент среди отрицательных чисел и максимальный элемент среди неотрицательных.

№18 слайд
Содержание слайда:

№19 слайд
Тема урока Одномерные
Содержание слайда: Тема урока: Одномерные массивы. Работа с элементами План урока: Проверка домашнего задания. Решение задач. Домашнее задание. Ход урока. 1. В предыдущей задаче найдите минимальный элемент среди отрицательных чисел и максимальный элемент среди неотрицательных. В условии на нахождение промежуточного минимума добавим условие A(I)<0 IF A(I)<=MIN AND A(I)<0 THEN if (a[i]<=min) and (a[i]<0 then MIN=A(I):IMIN=I begin min:=a[i]; imin:=i; end; В условии на нахождение промежуточного максимума добавим условие A(I)>=0 IF A(I)>=MAX AND A(I)>=0 THEN if (a[i]>= max) and (a[i]>=0) then MAX=A(I):IMAX=I begin max:=a[i]; imax:=i; end;

№20 слайд
В предыдущей задаче найдите
Содержание слайда: В предыдущей задаче найдите максимальный элемент В предыдущей задаче найдите максимальный элемент среди отрицательных чисел и минимальный элемент среди неотрицательных. Достаточно ли изменить условие в строках? IF A(I)<=MIN AND A(I) >=0 THEN if (a[i]<=min) and (a[i]>=0) then MIN=A(I):IMIN=I begin min:=a[i]; imin:=i; end; IF A(I)>=MAX AND A(I) < 0 THEN if (a[i]>= max) and (a[i]<0) then MAX=A(I):IMAX=I begin max:=a[i]; imax:=i; end; Ответ: нет, так как в этом случае мы неправильно задали начальный максимум и минимум. В случае, если первый элемент окажется положительным, то мы неправильно найдем максимум среди отрицательных элементов. Если первый элемент окажется отрицательным, то мы неправильно найдем минимум среди неотрицательных элементов.

№21 слайд
Подсчитать количество четных
Содержание слайда: Подсчитать количество четных элементов массива, заданного датчиком случайных чисел. Prim19 program Prim19; Uses crt; DEFINT I, K, N,R Var i,k,n,r:integer; DIM A(I000) AS INTEGER a:array[1..10000] of integer; Begin CLS clrscr; RANDOMIZE TIMER randomize; INPUT “число элементов N=”;N write(' число элемен.n='); readln(n); FOR I=1 TO N for i:=1 to n do begin A(I)=RND*45-22 a[i]:=random(45)-22; PRINT A(I);” “; write(a[i],' '); Проверяем на четность и считаем количество четных элементов. IF A(I) MOD 2 =0 THEN K=K+1 If a[i] mod 2=0 then inc(k,1); NEXT End; PRINT “K=”;K Write('к= ',k); Readkey END end.

№22 слайд
Подсчитать количество
Содержание слайда: Подсчитать количество отрицательных и н6еотрицательных элементов массива, заданного датчиком случайных чисел Prim2 program prim2; uses crt; DEF A(1000) AS INTEGER var a:array [1..1000] of integer; DEFINT I,K-L,N i,k,n,l:integer; begin RANDOMIZE TIMER randomize; CLS clrscr; INPUT “ число элементов N=”;N write('число элементов n=');readln(n); FOR I=1 TO N for i:=1 to n do begin A(I)=RND*45-22 a[i]:=random(45)-22; PRINT A(I);” “; write(a[i],' ');

№23 слайд
Содержание слайда:

№24 слайд
Произвести удаление элемента
Содержание слайда: Произвести удаление элемента из одномерного массива, заданного датчиком случайных чисел. После заполнения массива вводим номер удаляемого элемента. INPUT” номер удаляемого элем. write(' номер удал. элем. k=<n'); К=< N “;K readln(k); FOR I=1 TO N-1 for i:=1 to n-1 do begin Смещаем элементы массива к началу, начиная с К-го. IF I>=K THEN A(I)=A(I+1) f i>=k then a[i]:=a[i+1]; NEXT end; Обнуляем последний элемент A(N)=0 a[n]:=0; Выводим на экран измененный массив FOR I=1 TO N-1 for i:=1 to n -1 do begin PRINT A(I);” “; write(a[i],' '); NEXT end; readln; END end.

№25 слайд
Произвести вставку элемента в
Содержание слайда: Произвести вставку элемента в одномерный массив, заданный датчиком случайных чисел. После заполнения массива вводим индекс и значение вставляемого элемента. INPUT “ ИНДЕКС <=N “;K write(' индекс <=N'); readln(k) INPUT” значение R =”;R write(' значение R = '); readln(r); Смещаем элементы к концу массива, начиная с К+1 FOR I=N+1 TO 1 STEP-1 for i:=n+1 downto 1 do begin

№26 слайд
Содержание слайда:

№27 слайд
Содержание слайда:

№28 слайд
Тема урока Двумерные массивы.
Содержание слайда: Тема урока: Двумерные массивы. Работа с элементами План урока: Проверка домашнего задания. Двумерные массивы. Решение задач. Домашнее задание. Что необходимо изменить в программе подсчета количества элементов, чтобы в К находилась сумма неотрицательных элементов, а в L произведение отрицательных элементов? Для этого изменим строку, предварительно задав начальные значения К=0 и L=1. IF A(I)>=0 THEN K=К+ A(I) if a[i]>=0 then k:= k + a[i] ELSE L=L* A(I) else L:=l+ a[i];

№29 слайд
Двумерные массивы Массивы,
Содержание слайда: Двумерные массивы Массивы, положение элементов в которых описывается двумя индексами, называются двумерными. Их можно представить в виде прямоугольной таблицы или матрицы. Рассмотрим матрицу А размером 2*3, то есть в ней будет две строки, а в каждой строке по три элемента: A= a11 a12 a13 a21 a22 a23

№30 слайд
Содержание слайда:

№31 слайд
Способы объявления двумерного
Содержание слайда: Способы объявления двумерного массива Способ 1 В Turbo Pascal 7.0 двумерный массив можно описать как одномерный, элементами которого являются одномерные массивы. Например, для матрицы А, приведенной выше: Const n =2; т=3; Type. Mas1=Array[1..m] Of <тип элементов >; Mas2=Array[1..n] Of mas1; Var v: mas1; a: mas2; В данном случае переменная v объявлена, как одномерный массив из трех элементов вещественного типа. Переменная а описана как двумерный массив из двух строк, в каждую из которых включено по три элемента.

№32 слайд
Способ Способ Описание
Содержание слайда: Способ 2 Способ 2 Описание массива А можно сократить, исключив определение типа mas1 в определении типа mas2: Const n=2; m=3; Type massiv = Array[1..n] Оf Array[1..m] Of <тип элементов>; Var a: massiv.

№33 слайд
Способ Способ Еще более
Содержание слайда: Способ 3 Способ 3 Еще более краткое описание массива А можно получить, указывая имя массива и диапазоны изменения индексов для каждой размерности массива: Const п=2; т=3; Type massiv = Array[1..n,1..mJ Of <mun элементов>; Var a: massiv. Если указанный тип используется для определения одного массива в программе, то удобно объявление массива в разделе описания переменных: Var a: Array[1..n,1..m] Of <тип элементов>.

№34 слайд
На языке QBasic двумерные
Содержание слайда: На языке QBasic двумерные массивы определяются аналогично, как и одномерные. На языке QBasic двумерные массивы определяются аналогично, как и одномерные. Например: DIM имя массива (n1 ТО n2,n3 TO n4) AS тип элементов DIM A(1 TO 100, 1 TO 100) AS INTEGER DIM A( 100, 100) AS INTEGER если n1 =1, то номер можно не указывать. Допускается в описании объединять массивы в список, например: DIM A(50,40), B$(15,50), C%(50,11) Здесь объявлено списком три массива А, В, С действительные, строковые и целые.

№35 слайд
Содержание слайда:

№36 слайд
Найти сумму всех элементов
Содержание слайда: Найти сумму всех элементов двумерного массива и сумму элементов каждой строки. ‘prim1 program prim1; uses crt; DIM A(1 TO 100,1 TO 100) Type mas=array AS INTEGER [1..100,1..100] of integer; var a:mas; DEFINT I-J, N,S i,j,n,s,s1:integer; begin CLS clrscr; RANDOMIZE TIMER randomize; INPUT “N=”;N write('n=');readln(n); FOR I=1 TO N for i:=1 to n do begin FOR J=1 TO N for j:=1 to n do begin

№37 слайд
Содержание слайда:

№38 слайд
Найти максимальный элемент
Содержание слайда: Найти максимальный элемент каждой строки массива и его индексы (всего массива и его индексы) Решение. Так как элементы могут повторяться, то договоримся, что будем запоминать только индексы первого максимального элемента. prim2 program prim2; uses crt; DIM A(1 TO 100,1 TO 100) AS INTEGER Type mas=array [1..100,1..100] of integer; var a:mas; DEFINT I-J i, j, n: integer; DEFINT M-N max,min,i1,j1,i2,j2:integer; begin CLS clrscr; RANDOMIZE TIMER randomize; INPUT “N=”;N write('n=');readln(n); FOR I=1 TO N for i:=1 to n do begin

№39 слайд
Продолжение программы Так как
Содержание слайда: Продолжение программы Так как тип массива integer, то за начальные значения возьмем: MAX = -32768 max := -32768; FOR J=1 TO N for j:=1 to n do begin Получаем случайные значения элементов матрицы. A(I,J)=RND*45-22 a[i,j]:=random(45)-22; Выводим элементы матрицы на экран. PRINT USING” ####”;A(I,J); write(a[i,j]:4); Находим максимальный элемент в каждой строке и его индексы. IF A(I,J)>MAX THEN if a[i,j]>max then begin MAX=A(I,J):I1=I:J1=J max:=a[i,j];i1:=i;j1:=j; end; NEXT end;

№40 слайд
Содержание слайда:

№41 слайд
Найти количество элементов,
Содержание слайда: Найти количество элементов, больших некоторого заданного числа Х в каждой строке массива (во всем массиве). ‘prim25 program prim25; uses crt; DIM A(1 TO 100,1 TO 100) AS INTEGER var a: =array[1..100,1..100] of integer; DEFINT I-J,N i,j,n:integer; DEFINT K-L,X k,l,x:integer; begin CLS clrscr; RANDOMIZE TIMER randomize; INPUT”N=“;N write('n=');readln(n); Задаем значение Х. X=0 x:=0; FOR I=1 TO N for i:=1 to n do begin K=0:L=0 k:=0;l:=0; FOR J=1 TO N for j:=1 to n do begin A(I,J)= RND*45-22 a[i,j]:=random(45)-22; PRINT USING” ####”;A(I,J); write(a[i,j]:4);

№42 слайд
Продолжение программы Считаем
Содержание слайда: Продолжение программы Считаем число элементов, удовлетворяющих условию задачи. IF A(I,J)>X THEN K=K+1 if a[i,j]>x then k:=k+1 ELSE L=L+1 else l:=l+1; NEXT end; Если находим для всего массива, то следующую строку надо убрать, а начальные значения K=0:L=0 перенести выше на одну строку. PRINT “K=”;K,”L=”;L:K=0:L=0 write(' k=',k, ' l=',l); k:=0;l:=0; PRINT writeln; NEXT end; Печатаем число элементов, удовлетворяющих условию задачи во всем массиве. PRINT “K=”;K,”L=”;L write(' k=',k, ' l=',l); readln; END end. Домашнее задание. Измените программу примера так, чтобы находился последний максимальный элемент и его индексы во всем массиве.

№43 слайд
Содержание слайда:

№44 слайд
Тема урока Языки
Содержание слайда: Тема урока: Языки программирования Qbasic и Turbo Pascal 7.0. Двумерные массивы. Работа с элементами План урока: Проверка домашнего задания. Решение задач. Домашнее задание. Проверка домашнего задания. Измените программу предыдущего примера, чтобы находился последний максимальный элемент и его индексы во всем массиве. Для решения этой задачи необходимо изменить знак > на => в следующей строке. IF A(I,J)>=MAX THEN MAX=A(I,J):I1=I:J1=J if a[i, j]>= max then begin max: = a [i, j]; i1:=i;j1:=j;end; Продолжим изучение двумерных массивов на конкретных примерах.

№45 слайд
Определить, является ли
Содержание слайда: Определить, является ли данный квадратный массив симметричным относительно своей главной диагонали. Если массив является симметричным, то для него выполняется равенство a[i,j]=a[j,i] для всех i=l,..., n и j=1,..., n при условии, что i>j. Но если встретится хотя бы одна такая пара, что соответствующие элементы не будут равны, то массив будет несимметричным. prim1 program prim1; uses crt; DIM A(1 ТО 100,1 ТО 100) AS INTEGER var a:array[1..100,1..100] of integer; DEFINT I,J,,N i,j,n:integer; begin CLS clrscr; RANDOMIZE TIMER randomize;

№46 слайд
Продолжение программы INPUT N
Содержание слайда: Продолжение программы INPUT”N=”;N write('n=');readln(n); FOR I=1 TO N for i:=1 to n do begin FOR J=1 TO N for j:=1 to n do begin A(I,J)=RND*45-22 a[i,j]:=random(45)-22; PRINT USING” ####”;A(I,J); write(a[i,j]:4); NEXT end; PRINT writeln; NEXT end; readln;

№47 слайд
Содержание слайда:

№48 слайд
Вставить строку из нулей на
Содержание слайда: Вставить строку из нулей на место строки с номером k. Для решения этой задачи необходимо: Первые k-1 строк оставить без изменения. Все строки после k-й сдвинуть на одну назад, это лучше начать с последней строки и идти до k-й. Элементам строки k присвоить заданное значение. Кроме того, необходимо изменить размер массива. Так как мы вставляем строку, то число строк будет на одну больше:

№49 слайд
Содержание слайда:

№50 слайд
PRINT USING A I,J write a i,j
Содержание слайда: PRINT USING” ####”;A(I,J); write(a[i,j]:4); PRINT USING” ####”;A(I,J); write(a[i,j]:4); NEXT end; PRINT writeln; NEXT end; Вводим номер вставляемой строки. INPUT”K=”;K write('k=');readln(k); Сдвигаем строки назад до К-ой строки, начиная с последней. FOR I= N TO K STEP-1 for i:=n downto k do FOR J=1 TO N:A(I+1,J)=A(I,J):NEXTJ,I for j:=1 to n do a[i+1,j]:=a[i,j]; END end.

№51 слайд
Содержание слайда:

№52 слайд
Удалить строку с номером k.
Содержание слайда: Удалить строку с номером k. Для того, чтобы удалить строку с номером k, необходимо: - Сдвинуть все строки, начиная с данной, на одну вверх. - Последнюю строку "обнулить", то есть всем элементам последней строки присвоить нулевое значение. Будем выводить на экран сначала все строки, а второй раз, после удаления, на одну меньше.

№53 слайд
Содержание слайда:

№54 слайд
PRINT USING A I,J write a i,j
Содержание слайда: PRINT USING” ####”;A(I,J); write(a[i,j]:4); PRINT USING” ####”;A(I,J); write(a[i,j]:4); NEXT end; PRINT writeln; NEXT end; Вводим номер удаляемой строки INPUT”K=”;K write('k=');readln(k); Сдвигаем строки на одну вверх, начиная с данной FOR K=1 TO N-1 for i:=K to n-1 do FOR J=1 TO N:A(I,J)=A(I+1,J): for j:=1 to n do NEXTJ,I a[i,j]:=a[i+1,j];

№55 слайд
Содержание слайда:

№56 слайд
Поменять местами строки с
Содержание слайда: Поменять местами строки с номерами К1 и К2. prim4 program prim4; uses crt; Type mas=array [1..100,1..100] of integer; DIM A(1 ТО 100,1 ТО 100) var a:mas; AS INTEGER DEFINT I-K,N,R i,j,n,k1,k2,r:integer; begin CLS clrscr; RANDOMIZE TIMER randomize; INPUT”N=”;N write('n='); readln(n);

№57 слайд
Содержание слайда:

№58 слайд
Продолжение программы Вводим
Содержание слайда: Продолжение программы Вводим номера строк, которые будем менять местами INPUT”K1=,K2=”;K1,K2 write('stroki k1=k2='); readln(k1,k2); Меняем значения К1 и К2 строк между собой. FOR J=1 TO N for j:=1 to n do begin R=A(K1,J):A(K1,J)=A(K2,J):A(K2,J)=R r:= a[k1,j];a[k1,j]:=a[k2,j]; a[k2,j]:=r; NEXT end;

№59 слайд
Содержание слайда:

№60 слайд
Содержание слайда:

№61 слайд
Тема урока Языки
Содержание слайда: Тема урока: Языки программирования QBasic и Turbo Pascal 7.0. Двумерные массивы. Работа с элементами План урока: Проверка домашнего задания. Решение задач. Домашнее задание.

№62 слайд
Содержание слайда:

№63 слайд
Иногда массив необходимо
Содержание слайда: Иногда массив необходимо заполнять не случайными числами, а по некоторому закону. Иногда массив необходимо заполнять не случайными числами, а по некоторому закону. Пример 1 Заполнить массив А размером п*m следующим образом, например, n=5 и m=5: 1 2 3 4 5 10 9 8 7 6 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 То есть заполняется в виде "змейки". Решение. Для того, чтобы заполнить, надо вывести правило заполнения, а оно в данном случае будет таким: если ряд нечетный (то есть номер строки — нечетное число), то A[i,j]=(i-l)*m+j, иначе (то есть когда строка четная) A[i,j]==i*m-j+l. По этому правилу и составляем процедуру заполнения. Тем более, что проверку на четность мы производили (только со столбцами) в домашней работе.

№64 слайд
prim program prim prim
Содержание слайда: prim1 program prim1; prim1 program prim1; uses crt; DIM A(1 ТО 100,1 ТО 100) Type mas=array AS INTEGER [1..100,1..100] of integer; var a:mas; DEFINT I-N i,j,n, m:integer; begin CLS clrscr; INPUT”N=M=”;N,M write('n=m=');readln(n,m); FOR I=1 TO N for i:=1 to n do begin FOR J=1 TO M for j:=1 to m do begin

№65 слайд
Содержание слайда:

№66 слайд
Составить программу,
Содержание слайда: Составить программу, запрашивающую координаты ферзя на шахматной доске и показывающую поля доски, находящиеся под боем. Решение. Шахматную доску представим в виде двумерного массива размером 8*8. Координаты ферзя мы будем вводить двумя числами (номер строки и номер столбца), хотя в шахматах принято вводить букву и число. (Буква отвечает за номер строки, а число — за номер столбца). Это мы делаем для сокращения программы. При желании вы можете не отступать от традиций и вводить координаты именно таким образом. В программе необходимо будет перевести букву в соответствующее ей число ('а' - 1, V - 2, 'с' - 3,'d' - 4, 'е' - 5,'f'—6, 'g'—7,'h'— 8), тогда будет удобнее работать.

№67 слайд
Содержание слайда:

№68 слайд
prim program prim prim
Содержание слайда: prim2 program prim2; prim2 program prim2; uses crt; DIM A(1 TO 100,1 TO 100) Type mas=array AS INTEGER [1..100,1..100] of integer; var a:mas; DEFINT I-L,N i,j,n,k,l:integer; begin CLS clrscr; INPUT”N=”;N write('n=');readln(n); Вводим координаты ферзя K<=N и L<=N. INPUT”K=,L=”;K,L write('k=l=');readln(k,l); FOR I= 1 TO N for i:=1 to n do begin FOR J=1 TO N for j:=1 to n do begin

№69 слайд
Содержание слайда:

№70 слайд
Ввести координаты ферзя и
Содержание слайда: Ввести координаты ферзя и коня и определить: бьёт ли ферзь коня, если первый ход ферзя. Задача аналогична предыдущей, только в ней дополнительно придется проверять, не стоит ли конь под ударом ферзя. prim3 program prim3; uses crt; DIM A(100,100) AS INTEGER Type mas=array [1..100,1..100] of integer; var a:mas; DEFINT I-L,N i,j,n,k,l,k1,l1:integer; begin CLS clrscr; INPUT”N=”;N write('n=');readln(n);

№71 слайд
Содержание слайда:

№72 слайд
Распечатываем массив.
Содержание слайда: Распечатываем массив. Распечатываем массив. PRINT USING” ####”;A(I,J); write(a[i,j]:4); NEXT end; PRINT writeln; NEXT end; Вводим координаты коня INPUT”КООРДИНАТЫ КОНЯ=”; write('koordin kon K1,L1 k1=l1=');readln(k1,l1); Проверяем, бьется ли данное поле ферзем IF A(K1,L1)=1 THEN PRINT”БЬЕТ” if a[k1,l1]=1 then writeln ('бьет') ELSE PRINT ”НЕТ” else writeln('нет'); readln; END end. Домашнее задание. Подготовиться к контрольной работе.

№73 слайд
Контрольная работа Вариант
Содержание слайда: Контрольная работа № 3 Вариант № 1 Дан массив целых чисел, состоящий из 20 элементов. Заполнить его с клавиатуры. Найти: - сумму элементов, имеющих нечетное значение; - вывести индексы тех элементов, значения которых больше заданного числа А. 2. Определить, есть ли в данном массиве положительные элементы, кратные k (k вводить с клавиатуры). Вариант № 2 1. Дан массив целых чисел, состоящий из 25 элементов. Заполнить его с клавиатуры. Найти: - сумму элементов, имеющих нечетные индексы; - подсчитать количество элементов массива, значения которых больше заданного числа А и кратны 5. 2. Найти номер первого отрицательного элемента, делящегося на 5 с остатком 2.

№74 слайд
Содержание слайда:

№75 слайд
Вариант Вариант . Дан массив
Содержание слайда: Вариант № 5 Вариант № 5 1. Дан массив целых чисел, состоящий из 30 элементов. Заполнить его с клавиатуры. Найти: - сумму отрицательных элементов; - найти количество тех элементов, значения которых положительны и не превосходят заданного числа А. 2. Найти номер последней пары соседних элементов с разными знаками. Вариант № 6 1. Заменить максимальный по модулю отрицательный элемент нулем. 2. Заменить первые k элементов на противоположные по знаку. 3. Из элементов массива С сформировать массив А того же размера по правилу: если номер четный, то Ai=C \2, если нечетный, то Ai=2*Ci.

№76 слайд
Вариант Вариант . Заменить
Содержание слайда: Вариант № 7 Вариант № 7 1. Заменить минимальный по модулю положительный элемент нулем. 2. Заменить элементы с k1-гo пo k2-й на обратные. 3. Из элементов массива А сформировать массив D того же размера по правилу: первые 10 элементов — Di=Ai+i, остальные — Di=Ai—i. Вариант № 8 1. Заменить первый отрицательный элемент нулем. 2. Умножить все элементы, кратные 3, на третий элемент массива. 3. Из элементов массива Р сформировать массив М того же размера по правилу: если номер четный, то Pi=i*Mi, если нечетный, то Pi=-Mi.

№77 слайд
Содержание слайда:

№78 слайд
Вариант Вариант . Заменить
Содержание слайда: Вариант № 11 Вариант № 11 1. Заменить последний положительный элемент на второй элемент массива. 2. Разделить все элементы с четными номерами на первый элемент. 3. Из элементов массива С сформировать массив А того же размера по правилу: если номер четный, то Ai=C\2, если нечетный, то Ai=2Ci. Вариант № 12 1. Дан массив целых чисел (n=15), заполненный случайным образом числами из промежутка [—20,50]. - удалить из него все элементы, в которых есть цифра 5. - вставить число k после всех элементов, кратных своему номеру (k - с клавиатуры). - поменять местами первый положительный и последний отрицательный элементы.

№79 слайд
Вариант Вариант . Дан массив
Содержание слайда: Вариант № 13 Вариант № 13 1. Дан массив целых чисел (n=10), заполненный случайным образом числами из промежутка [—40,30]. - удалить из него все элементы, которые состоят из одинаковых цифр (включая однозначные числа). - вставить число k перед всеми элементами, в которых есть цифра 1 (k вводить с клавиатуры). - переставить первые три и последние три элемента местами, сохраняя их следование.

№80 слайд
Содержание слайда:

№81 слайд
Контрольная работа Вариант .
Содержание слайда: Контрольная работа № 3 Вариант № 15 1. Дан массив целых чисел (n=25), заполненный случайным образом числами из промежутка [—35,75]. - удалить из него все элементы, первая цифра которых четная. - вставить число k1 после всех элементов, больших заданного числа, а число k2 — перед всеми элементами, кратными 3 (k1 и k2 вводить с клавиатуры). - перенести первые k элементов в конец, то есть: a[k+l], a[k+2],...,a[n], a[l], a[2], .... a[k].

№82 слайд
Содержание слайда:

№83 слайд
Двумерные массивы.
Содержание слайда: Двумерные массивы. Контрольная работа № 4 Вариант № 1 1. Дан двумерный массив размером 5*6, заполненный целыми числами с клавиатуры. Сформировать одномерный массив, каждый элемент которого равен произведению четных положительных элементов соответствующего столбца. 2. Дан двумерный массив размером п*m, заполненный случайным образом. Определить, есть ли в данном массиве строка, в которой ровно два отрицательных элемента. 3. Заполнить массив размером 7*7 по правилу: 1 0 0 0 0 0 1 0 1 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0 1

№84 слайд
Содержание слайда:

№85 слайд
Вариант Вариант . Дан
Содержание слайда: Вариант № 3 Вариант № 3 1. Дан двумерный массив размером 5*6, заполненный целыми числами с клавиатуры. Сформировать одномерный массив, каждый элемент которого равен наибольшему по модулю элементу соответствующего столбца. 2. Дан двумерный массив размером п*т, заполненный случайными числами. Определить, есть ли в данном массиве строка, в которой имеется два максимальных элемента всего массива. 3. Заполнить массив размером 6*6 по правилу: 1 2 3 4 5 6 2 3 4 5 6 1 3 4 5 6 1 2 4 5 6 1 2 3 5 6 1 2 3 4 6 1 2 3 4 5

№86 слайд
Содержание слайда:

№87 слайд
Вариант Вариант . Дан
Содержание слайда: Вариант № 5 Вариант № 5 1. Дан двумерный массив размером 6*5, заполненный целыми числами с клавиатуры. Сформировать одномерный массив, каждый элемент которого равен первому четному элементу соответствующего столбца, если такого нет, то равен нулю. 2. Дан двумерный массив размером п*т, заполненный случайными числами. Определить, есть ли в данном массиве строка, содержащая больше положительных элементов, чем отрицательных. 3. Заполнить массив размером 7*7 по правилу: 1 0 0 1 0 0 1 0 1 0 1 0 1 0 0 0 1 1 1 0 0 1 1 1 1 1 1 1 0 0 1 1 1 0 0 0 1 0 1 0 1 0 1 0 0 1 0 0 1

№88 слайд
Содержание слайда:

№89 слайд
Вариант Вариант . Дан
Содержание слайда: Вариант № 7 Вариант № 7 1. Дан двумерный массив размером 8*7, заполненный случайным образом. а) заменить все элементы первых трех столбцов на их квадраты. б) вставить между средними строками первую строку. в) удалить все столбцы, в которых первый элемент больше последнего. г) поменять местами средние строки с первой и последней.

№90 слайд
Содержание слайда:

Скачать все slide презентации Одномерные массивы. Работа с элементами одним архивом: