по типу данных
- числовые (целочисленные и с плавающей запятой)
- логические - истина / ложь
- символьные - один символ
- строковые - последовательность символов
по области видимости
- глобальные - видны из любого места программы
- локальные - видны только из процедуры в которой объявлены
по продолжительности действия
- автоматические - действуют внутри программного блока
- статические - сохраняют свое значение после выхода из блока
по времени создания
- статические - создаются в момент запуска программы
- динамические - создаются в процессе выполнения программы
по наличию внутренней структуры
- простые (число, строка)
- сложные (массив, запись)
<h3>PascalABC.NET 3.4.2, сборка 1814 от 02.10.2018</h3><h3>Внимание! Если программа не работает, обновите версию!</h3>
begin
var s := ReadlnString('Введите строку:');
var c := ReadlnString('Какой символ удвоить?');
s := s.Replace(c, 2 * c);
s.Println
end.
Var n,k : Integer;
Begin
k:=0;
Readln(n);
While n>0 do
Begin
n:=n div 10;
Inc(k);
end;
Writeln('Цфир: ',k);
end.
После выполнения алгоритма вывод числа н=56
<u /><em></em><em>VAR</em>
<em> n, m, sum, i, j: Integer;</em>
<em> a: Array [1..10000] of Array [1..10000] of Integer;</em>
<em>BEGIN</em>
<em> Read(n, m);</em>
<em></em>
<em> For i := 1 to n do</em>
<em> For j := 1 to m do Read(a[i][j]);</em>
<em></em>
<em> For i := 1 to n do</em>
<em> For j := 1 to m do</em>
<em> If (a[i][j] > 0) then sum := sum + a[i][j];</em>
<em></em>
<em> Write(sum);</em>
<em>END. </em>
<em></em>
<u>Но для экономии времени и сил можно не создавать массив:</u>
<em>VAR</em>
<span><em> n, m, sum, el, i, j: Integer;</em></span>
<em>BEGIN</em>
<span><em> Read(n, m);</em></span>
<em></em>
<span><em> For i := 1 to n do</em></span>
<span><em> For j := 1 to m do begin </em></span>
<span><em> Read(el);</em></span>
<span><em> If (el > 0) then sum := sum + el;</em></span>
<span><em> End;</em></span>
<em></em>
<span><em> Write(sum);</em></span>
<em>END.</em>