Примеры программ Пример 1 Пусть имеются описания: const n=20; type строка= array[1..n] of char; var S1,S2: строка; i1,i2: integer; Требуется сделать следующее:

Презентация:



Advertisements
Похожие презентации
Передача параметров по значению и по ссылке. Рассмотрим следующий фрагмент программы: var a,b: integer; procedure P(x:integer; var y: integer); var z:
Advertisements

Тема: «Понятие квадратная матрица» :17:47.
Двумерным массивом называется совокупность данных, каждое значение которых, зависит от его положения в строке и в столбце.
Двумерные массивы Понятие двумерного массива Описание типа двумерного массива Формирование двумерного массива.
const n=10; var a:array[1..n] of integer; i,j,c,b,k:integer; begin randomize; for i:=1 to n do begin a[i]:=random(11)-5;write(a[i]:5) end;writeln;
Алгоритм удаления из массива максимального элемента найти номер максимального элемента k; сдвинуть все элементы, начиная с k-го, на один элемент влево;
К. Поляков, Программирование на языке Паскаль Часть II Тема: Поиск максимального элемента массива.
Массивы 9 класс. Основные теоретические сведения Примеры решения задач.
При решении многих задач приходится обрабатывать большое количество однотипных данных. Для хранения этих данных пришлось бы вводить большое количество.
1 Программирование на языке Паскаль Тема 2. Максимальный элемент массива.
Тема: Массивы.. Массив представляет собой набор элементов одного типа, каждый из которых имеет свой номер, называемый индексом. Массив Одномерный Многомерный.
Массивы Массив используется для обработки упорядоченного набора величин одного типа, обозначенного одним именем. Доступ к элементам массива осуществляется.
Шутилина Л.А., A[1,1]A[1,2]A[1,3]A[1,4]A[1,5] A[2,1]A[2,2]A[2,3]A[2,4]A[2,5] A[3,1]A[3,2]A[3,3]A[3,4]A[3,5] A[4,1]A[4,2]A[4,3]A[4,4]A[4,5]
PROGRAM example1; CONST N = 8; M = 10; VAR a : ARRAY [ 1.. N, 1.. M ] of INTEGER; i, j : INTEGER; BEGIN FOR i := 1 TO N DO FOR j := 1 TO M DO a[ i, j ]
Задача. С клавиатуры вводится n чисел (числа могут повторяться). Необходимо подсчитать количество чисел равных наименьшему числу.
Двумерным массивом называется совокупность данных, каждое значение которых, зависит от его положения в строке и в столбце.
Автор: учитель информатики МКОУ Плесской средней общеобразовательной школы Юдин Андрей Борисович Часть 1.
1 Автор разработки: Розанова Татьяна Аркадьевна, учитель информатики МОУ СОШ 2 города Кинешмы Ивановской области 2011 – 2012 учебный год Автор разработки:
5.Дана матрица А и вектор Х соответствующих размерностей. Нечетные строки матрицы заменить элементами вектора Х. Результаты работы: n=4 m=
A[1,1]A[1,2]A[1,3]A[1,4]A[1,5] A[2,1]A[2,2]A[2,3]A[2,4]A[2,5] A[3,1]A[3,2]A[3,3]A[3,4]A[3,5] A[4,1]A[4,2]A[4,3]A[4,4]A[4,5] Двумерный массив можно представить.
Транксрипт:

Примеры программ Пример 1 Пусть имеются описания: const n=20; type строка= array[1..n] of char; var S1,S2: строка; i1,i2: integer; Требуется сделать следующее: если в строку S1 входит символ '+', а в строку S2 - буква 'a', тогда требуется поменять местами первые вхождения этих символов (т.е. первое вхождение '+' в S1 заменить на 'a', а первое вхождение 'a' в S2 заменить на '+'). Здесь будет полезной такая логическая функция: true, если с S, i <--номер первого вхождения BX(S,c,i) = false, иначе; i не меняется Эта функция не только определяет, входит ли символ с в строку S, но еще и меняет свой 3-й параметр, что и является побочным эффектом. Имея такую функцию, уже легко решить нашу задачу: if BX(S1,'+',i1)and BX(S2,'a',i2) then begin S1[i1]:='a'; S2[i2]:='+' end

function BX(var S:строка; c:char; var i:integer):boolean; var k:integer; begin BX:=false; for k:=1 to N do if S[k]=c then begin BX:=true; i:=k; break end; end; Стандартные процедуры ТР 7.0 для повышения эффективности выполнения программ: BREAK процедура прекращает выполнение ближайшего охватывающего цикла (for, while, repeat); CONTINUE процедура, вызывающая прекращение текущей итерации (выполнения) ближайшего охватывающего цикла; EXIT процедура выхода из ближайшего охватывающего блока (обычно из тела процедуры или функции); если таковым является программа, то это действие означает окончание программы HALT процедура принудительного окончания программы

Пример 2. Программа поиска смежных элементов одномерного массива, удовлетворяющих двойному неравенству. Пусть задана последовательность x 1 <x 2 <….<x n вещественных чисел вещественное число y. Требуется написать функцию, которая определяет такое целое число k, что x k <y<x k+1 Простейший алгоритм основан на последовательном переборе элементов заданной числовой последовательности и проверке выполнения двойного неравенства из условия задачи. const max=1000; type vektor = array [1..max] of real; function maximum_search( x : vektor; y : real) : integer; varelement_before, element_after : real; index : integer; begin for index := 1 to max-1 do if (x[index] <y) and (y<x[index+1] ) then begin maximum_search:=index; break end end;

Пример 3 Програма поиска максимального элемента одномерного массива и его индекса. Требуется написать процедуру, которая в заданном целочисленном массиве находит максимальный элемент и его индекс (номер) const max=1000; type vektor = array [1..max] of integer; procedure max_and_index (x : vektor; var max_element, max_index : integer); var index : integer; begin max_element := x[1]; max_index : = 1; for index :=2 to max do max_element < x[index] then begin max_element := x[index]; max_index := index end end;

Пример 3. Программа проверки симметричности матрицы с целочисленными коэффициентами Требуется написать функцию, принимающую значение true, если заданная целочисленная матрица (двумерный массив) симметрична, и false в противном случае. const n = 100; type matrix = array [1..n, 1..n] of integer; function symmetric (var A : matrix) : boollen; var j,k : integer; begin symmetric:=true; for j := 1 to n-1 do begin for k := j+1 to n do begin if A[j,k] <> A[k,j] then begin symmetric := false; exit; end end;