Циклы. Тексты программ
Материал из Вики проекта PascalABC.NET
Вывод последовательностей 1 2 3 4 5 и 5 4 3 2 1
var i: integer; begin // С помощью for for i := 1 to 5 do write(i,' '); writeln; for i := 5 downto 1 do write(i,' '); writeln; writeln; // С помощью while i := 1; while i<=5 do begin write(i,' '); i := i + 1; end; writeln; i := 5; while i>=1 do begin write(i,' '); i := i - 1; end; writeln; writeln; // С помощью repeat i := 1; repeat write(i,' '); i := i + 1; until i>5; writeln; i := 5; repeat write(i,' '); i := i - 1; until i<1; writeln; end.
Вывод последовательности 1 3 5 7 9
var i,x: integer; begin // С помощью for и промежуточной переменной x := 1; for i := 1 to 5 do begin write(x,' '); x := x + 2; end; writeln; // С помощью for без промежуточной переменной for i := 1 to 5 do write(2*i-1,' '); writeln; // С помощью while x := 1; while x<10 do begin write(x,' '); x := x + 2; end; writeln; // С помощью repeat x := 1; repeat write(x,' '); x := x + 2; until x>=10; end.
Сумма и произведение введенных чисел
Код на Pascal
var i: integer; s,p: real; x: real; begin writeln('Введите 10 чисел: '); s := 0; p := 1; for i := 1 to 10 do begin read(x); s := s + x; p := p * x; end; writeln('Сумма введенных чисел = ',s); writeln('Произведение введенных чисел = ',p); end.
Код на PascalABC.NET
var s,p: real; begin writeln('Введите 10 чисел: '); s := 0; p := 1; for var i := 1 to 10 do begin var x: integer; read(x); s += x; p *= x; end; writeln('Сумма введенных чисел = ',s); writeln('Произведение введенных чисел = ',p); end.
Вычисление n!
Код на Pascal
var n,fact: integer; i: integer; begin write('Введите n (n<=13): '); readln(n); fact := 1; for i := 2 to n do fact := fact * i; writeln(n,'! = ',fact); end.
Код на PascalABC.NET
var n: integer; begin write('Введите n (n<=13): '); readln(n); var fact := 1; for var i := 2 to n do fact *= i; writeln(n,'! = ',fact); end.
Вычисление An
Код на Pascal
var n,i: integer; a,p: real; begin write('Введите a,n: '); readln(a,n); p := 1; for i := 1 to n do p := p * a; writeln(a,' в степени ',n,' = ',p); end.
Код на PascalABC.NET
var n: integer; a: real; begin write('Введите a,n: '); readln(a,n); var p := 1.0; for var i := 1 to n do p *= a; writelnFormat('{0} в степени {1} = {2}',a,n,p); end.
Вывод цифр числа
var x: integer; begin write('Введите x: '); readln(x); write('Цифры числа x в обратном порядке: '); while x<>0 do begin write(x mod 10,' '); x := x div 10; end; end.
Вывод букв английского алфавита
var c: char; begin for c := 'a' to 'z' do write(c,' '); writeln; c := 'A'; while c<='Z' do begin write(c,' '); c := succ(c); end; end.
Числа Фибоначчи
Код на Pascal
const n = 25; var a,b,c: integer; i: integer; begin a := 1; b := 1; write(a,' ',b,' '); for i := 3 to n do begin c := a + b; write(c,' '); a := b; b := c; end; end.
Код на PascalABC.NET
const n = 25; begin var a := 1; var b := 1; write(a,' ',b,' '); for var i := 3 to n do begin var c := a + b; write(c,' '); a := b; b := c; end; end.
Минимум из введенных
Код на Pascal
const n = 10; var min: integer; x: integer; i: integer; begin writeln('Введите ',n,' значений: '); read(x); min := x; for i := 2 to n do begin read(x); if x<min then min := x; end; writeln('Минимальное значение = ',min); end.
Код на PascalABC.NET
const n = 10; var min: integer; begin writelnFormat('Введите {0} значений: ',n); min := integer.MaxValue; for var i := 1 to n do begin var x: integer; read(x); if x<min then min := x; end; writeln('Минимальное значение = ',min); end.
Алгоритм Евклида поиска НОД
var a,b,c: integer; begin writeln('Введите a,b: '); read(a,b); while b<>0 do begin c := a mod b; a := b; b := c; end; writeln('Наибольший Общий Делитель = ',a); end.
Вывод таблицы умножения
Код на PascalABC.NET
const n = 9; begin for var i:=1 to n do begin for var j:=1 to n do write(i*j:4); writeln; end; end.
Определение простоты числа
var N: integer; IsSimple: boolean; begin writeln('Введите число: '); readln(N); IsSimple := True; for var i:=2 to round(sqrt(N)) do // если число составное, то один из его сомножителей <= sqrt(N) if N mod i = 0 then begin IsSimple := False; break; end; if IsSimple then writeln('Число ',N,' простое') else writeln('Число ',N,' составное'); end.
