САЙТ УЧИТЕЛЯ ИНФОРМАТИКИ |
|||||||||||||||
МОУ СОШ №3 г. Осташков Тверская обл. | |||||||||||||||
|
Любую сложную программу можно разбить на элементарные фрагменты, при составлении которых можно использовать базовые алгоритмы. Здесь приведены примеры таких алгоритмов на двух наиболее распространенных в школе языках Basic и Pascal. PASCAL СТРОКИ
st: = ‘информатика’; for i := 1 to length(st) do if st[i] = "ф" then k := i; WriteLn(k) // Не обязателен, как и в последующих
st := ‘информатика’; k:=0; for i := 1 to length(st) do if st[i] = "ф" then k := k+1;
st := ‘информатика’; for i := 1 to length(st) do if st[i] = ‘ф’ then st[i] := ‘а’;
Insert(s,st,i);
st := ‘информатика’; //Примеры слов и текстов и в следующих … s := ‘форма’; for i := 1 to length(st) do if copy(st, i, length (s)) = s Then k := i; или короче с применением функции k:=Pos(s,st)
st := ‘сегодня петя идет гулять’; s1:=’петя’; s2:=’коля’; for i := 1 to length(st) - length(s1) do if copy(st, i, length (s1)) = s1 then begin Delete(st, i, length (s1)); Insert(s2,st,i); end;
st := 'информатика'; s:='и'; while Pos(s,st)>0 do Delete(st,Pos(s,st),1);
st = "информатика"
s = "форма"
while Pos(s,st)>0 do
Delete(st,Pos(s,st),length(s));
ОДНОМЕРНЫЙ (ЛИНЕЙНЫЙ МАССИВ)
for i: = 1 to n do WriteLn (i, ‘ - ’,a[i]);
for i:= 1 to n do if i mod 2 =0 then begin t:=a[i-1]; // t - временная переменная a[i-1]:= a[i]; a[i]:=t; end;
s: = 0; for i:= 1 to n do s:= s + a[i];
См. предыдущий
s := 0; for i:= 1 to n do if a[i] > 0 Then s := s + a[i]; //например, положительных
p:= 1; for i:= 1 to n do if a[i] > 0 then p:= p * a[i];
max: = а[1]; for i:= 2 to n do if a[i] > max then max = a[i];
inMax = 1; for i:= 2 to n do if a[i] > a[inMax] then inMax = i;
а) выборкой с поиском индекса максимального (минимального) for j := 1 to n - 1 do begin inMax := j; for i := j + 1 to n do If a[i] > a[inMax] Then inMax := i; t := a[inMax]; a[inMax] := a[j]; a[j] := t; end; б) Методом «всплывающего пузырька» for j := 1 to n - 1 do for i := 1 to n - j do If a[i + 1] > a[i] Then begin t := a[i]; a[i] := a[i+1]; a[i+1] := t; end; ДВУМЕРНЫЙ МАССИВ
max := a[1, 1]; for j := 1 to n do for i := 1 to m do If a[j, i] > max then max := a[j, i];
colMax := 1;//Колонка rowMax := 1;//Ряд for j := 1 to n do for i := 1 to m do if a[j, i] > a[rowMax, colMax] Then begin rowMax := j; colMax := i; end;
а) с выводом на экран for j := 1 to n do begin s := 0; for i := 1 to m do s := s + a[j, i]; end; б) с записью в вспомогательный массив for j := 1 to n do begin s[j] := 0; for i := 1 to m do s[j] := s[j] + a[j, i]; end;
for j := 1 to n do for i := 1 to m do if (i > j) And (a[j, i] < 0) Then a[j, i] := 0;
for j := 1 to n do for i := 1 to m do s[j,i]:=a[j, i] +b[j, i] Результат заносится в массив s.
for j := 1 to n do for i := 1 to m do begin t:= a(j,i); a(j, i):=b(j,i); b(j,i):=t; end;
For i:=1 to n do begin Write(i:4); For j:=1 to m do Write(a[i,j]:4); WriteLn; end; Заполнение массивов.
assign(f,'file_name’); reset(f); for i:= 1 to n do ReadLn(f,a[i]); close(f); PasсalABC - cистема Pascal ABC предназначена для обучения программированию на языке Паскаль и ориентирована на школьников и студентов младших курсов Учебные пособия Информатика и ИКТ. Базовый ур. Практикум. 10-11кл_Семакин И.Г. и др_2011 -120с Информатика и ИКТ. Задачн-практ. Т.1_п.р. Семакина, Хеннера_2011 -309с Информатика и ИКТ. Задачн-практ. Т.2_п.р. Семакина, Хеннера_2011 -294с Видео уроки. Turbo Paskal Интегрированная среда Турбо Паскаля. Работа в среде Турбо Паскаля Введение в Турбо Паскаль. Алфавит языка Введение в Турбо Паскаль. Элементарные конструкции Введение в Турбо Паскаль. Типы данных Введение в Турбо Паскаль. Описание массивов Введение в Турбо Паскаль. Оператор- присваивания, перехода, простой, составной Введение в Турбо Паскаль. Условный оператор и оператор выбора Введение в Турбо Паскаль. Оператор цикла типа арифметической прогрессии Введение в Турбо Паскаль. Оператор цикла While Введение в Турбо Паскаль. Оператор цикла Repeat Введение в Турбо Паскаль. Break и Continue Структурированные типы данных. Работа с множествами Структурированные типы данных. Задачи на использование множеств Использование подпрограмм в Турбо Паскале. Структура программы Использование подпрограмм в Турбо Паскале. Описание и вызов процедур и функций Стандартные процедуры и функции. Математические функции Стандартные процедуры и функции. Функции округления и преобразования типов Стандартные процедуры и функции. Функции и процедуры порядкового типа Стандартные процедуры и функции. Процедуры ввода данных Стандартные процедуры и функции. Процедуры вывода данных Стандартные процедуры и функции. Особенности вывода вещественных значений Стандартные процедуры и функции. Процедура вывода данных Writeln Стандартные процедуры и функции. Вспомогательные процедуры и функции Решение задач (Обработка чисел). Работа с числами. Решение задач (Обработка одномерных массивов). Работа с двумя массивами Решение задач (Обработка одномерных массивов). Составление массива из другого. Решение задач (Обработка двумерных массивов). Работа с двумерными массивами. Решение задач (Обработка двумерных массивов). Нахождение минимума. Решение задач (Обработка двумерных массивов). Работа с элементами по условию. Решение задач (Обработка строк).
|
||||||||||||||