Алгоритмы обработки строковых величин


====================================================
                          ЭЛЕКТРОННЫЙ УЧЕБНИК
=====================================================================
ИНТЕРАКТИВНЫЕ УПРАЖНЕНИЯ
=====================================================================
ТЕСТЫ
=====================================================================
ПРЕЗЕНТАЦИИ
=====================================================================
КРОССВОРДЫ
=====================================================================
ВИДЕОУРОКИ

УРОК 6. Основные алгоритмические конструкции и типы данных (9 класс)

ДОПОЛНИТЕЛЬНЫЙ МАТЕРИАЛ ПО ТЕМЕ "ОСНОВЫ АЛГОРИТМИЗАЦИИ И ПРОГРАММИРОВАНИЯ"

Интерактивное пособие для IX класса «Программируем с увлечением» (автор Пузиновская С. Г., учитель информатики; Брагинец И., учащийся; ГУО «Средняя школа № 4 г. Дзержинска» можно скачать на сайте Национального института образования

===========================================
Массив – это обозначаемая одним именем последовательность однотипных элементов.
Место каждого элемента в этой последовательности определяется его индексом.
Массив является структурированным (составным) типом данных. Это означает, что величина, описанная как массив, состоит из конечного числа других величин.
Массивы, обращение к элементам которых осуществляется при помощи только одного индекса, называют одномерными.
Индексов может быть несколько, тогда массив называют многомерным.
Описаниея массива
имя: array[инд1..индNof тип_элементов;
Размер массива – это максимально возможное количество элементов в массиве.
Примеры описаний массива.
Var А: array[1..25] of  integer;                Или                  Const n1=1; n2=25;
                                                                                          Var  А: array[n1..n2] of  integer;
Значения элементов, которые не изменяются при работе программы (констант), можно задавать в разделе описаний. 
Например,      Const  А: array[1..8] of  integer=(2, 3, 5, 6, 7, 8, 55, 9);
       С помощью команды присваивания:     A[4]:=9.
Для ввода нескольких элементов массива в процессе исполнения программы используют цикл For (если количество элементов массива известно заранее) или  While (если количество элементов заранее не известно)

Способы заполнения массива:
1 способ . Ввод каждого значения с клавиатуры:
for i :=1 to 10 do read (a[i]);
2 способ . С помощью оператора присваивания (по формуле):
for i :=1 to 10 do a[i]:=i;
3 способ . С помощью оператора присваивания (случайными числами): randomize;
for i:=1 to 10 do a[i]:=random(100);
Вывод массива
1 способ. Элементы массива можно вывести в строку, разделив их пробелом:
for i:=1 to 10 do write (a[i], ' ');
2 способ . Вывод с комментариями:
for i:=1 to 10 do writeln ('a[', i, ']=', a[i]);
 3 способ. Заполнение случайным образом:
For i:=1 to n do
begin
a[i]:=random(m);
Write(a[i],’ ‘);
End;
Вывод значений массива на экран по горизонтали (в строку);
For i:=1 to n do
Write(a[i]:5);
Вывод значений массива на экран по вертикали (в столбец);
For i:=1 to n do
Writeln(a[i]);
Вычисление суммы элементов массива
s := 0
s = 0
s := s + a [1]
s = 0+ a [1]
s := s + a [2]
s = 0+ a [1]+ a [2]
s := s + a [3]
s = 0+ a [1]+ a [2]+ a [3]
s := s + a [n]
s = 0+ a [1]+ a [2]+ a [3]+…+ a [n]
Основной фрагмент программы:
s:=0;
for i:=1 to n do s:=s+a[i];
Задача. Вычисление суммы элементов массива
program n_3;
var s, i: integer;
a:array[1..10] of integer;
begin
s:=0;
for i:=1 to 10 do a[i]:=random(100);
for i:=1 to 10 do write (a[i],' ');
for i:=1 to 10 do s:=s+a[i];
writeln ('s=', s)
end.
Задание: Заполнить массив с именем X случайными значениями и вывести эти значения на экран. Размерность массива 12, все элементы целого типа. Удвоить значение каждого элемента массива и вывести на экран.
program n_3;
var s, i: integer;
x: array [1..12] of integer;
begin
s:=1;
for i:=1 to 12 do x[i]:=random(100);
for i:=1 to 12 do write (x[i],' ');
for i:=1 to 12 do s:=x[i]*x[i];
writeln ('s=', s)
end .

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

Программа поиска наибольшего элемента в массиве
program  n _4;
var s, i, imax : integer;
a: array[1..10] of integer;
b egin 
s:=0;
for i:=1 to 10 do a[i] :=random(100) ;
for i:=1 to 10 do  write (a[i] ,` `) ;
imax:=1 ;
for i:=2 to 10 do
if a[i]a[imax] then imax:=i;
write ( 'Наибольший элемент a[',imax,']=', a[imax])
end .
Поиск элемента, равного 50
program  n _ 5 ;
var n, i: integer;
a: array[1..10] of integer;
b egin 
randomize;
for i:=1 to 10 do a[i] :=random(100) ;
for i:=1 to 10 do  write (a[i] ,` `) ;
n := 0;
for i:= 1 to 10 do
if a[i] =50 then n :=i;
if n=0 then write( 'Нет' ) else write (i)
end .
Будет найден последний из элементов, удовлетворяющих условию.
10
50
1
3
50
14
21
50
10
21

Поиск элемента, равного 50
program  n _5_1;
var n, i: integer;
a: array[1..10] of integer;
b egin 
randomize;
for i:=1 to 10 do a[i] :=random(100) ;
for i:=1 to 10 do  write (a[i] ,` `) ;
i := 0;
repeat
i:=i+1;
until (a[i]=50) or (i=10);
if a[i]=50 then write(i) else write('Нет')
end .
Будет найден первый из элементов, удовлетворяющих условию.
10
50
1
3
50
14
21
50
10
21

Подсчет количества элементов
Для подсчета вводится переменная, значение которой увеличивается на единицу каждый раз, когда найден нужный элемент.
program  kolich ;
var k, i: integer;
a: array[1..10] of integer;
b egin 
randomize;
for i:=1 to 10 do a[i] :=random(100) ;
for i:=1 to 10 do  write (a[i] ,` `) ;
k := 0;
for i:=1 to 10 do
if a[i]50 then k:=k+1;
write ('k=', k)
end .
10
6 0
2 1
5 3
5 8
14
2 8
50
10
5 1

Сумма значений элементов, удовлетворяющих условию
program  sum ;
var s, i: integer;
a: array[1..10] of integer;
b egin 
randomize;
for i:=1 to 10 do a[i] :=random(100) ;
for i:=1 to 10 do  write (a[i] ,` `) ;
s := 0;
for i:=1 to 10 do
if a[i] 1 0 and (a[i]then s := s + a[i];
write (‘ s =', s )
end .
10
50
1
3
50
14
21
50
10
21

Сортировка массива
Сортировка элементов массива по невозрастанию выбором осуществляется следующим образом:
1. В массиве выбирается максимальный элемент
2. Максимальный и первый элемент меняются местами (первый элемент считается отсортированным)
3. В неотсортированной части массива снова выбирается максимальный элемент; он меняется местами с первым неотсортированным элементом массива

Комментариев нет:

Отправить комментарий