Циклы. Тексты программ: различия между версиями
Материал из Вики проекта PascalABC.NET
Перейти к навигацииПерейти к поиску
Mikst (обсуждение | вклад) |
Mikst (обсуждение | вклад) |
||
(не показано 25 промежуточных версий этого же участника) | |||
Строка 145: | Строка 145: | ||
=== Вычисление A<sup>n</sup> === | === Вычисление A<sup>n</sup> === | ||
'''Код на Pascal''' | |||
<source lang="Delphi"> | <source lang="Delphi"> | ||
var | var | ||
Строка 157: | Строка 158: | ||
writeln(a,' в степени ',n,' = ',p); | writeln(a,' в степени ',n,' = ',p); | ||
end.</source> | end.</source> | ||
Код на PascalABC.NET | |||
<source lang="Delphi">var | <source lang="Delphi">var | ||
n: integer; | n: integer; | ||
Строка 171: | Строка 172: | ||
=== Вывод цифр числа === | === Вывод цифр числа === | ||
<source lang="Delphi">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.</source> | |||
=== Вывод букв английского алфавита === | === Вывод букв английского алфавита === | ||
<source lang="Delphi">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.</source> | |||
=== Числа Фибоначчи === | === Числа Фибоначчи === | ||
'''Код на Pascal''' | |||
<source lang="Delphi">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.</source> | |||
'''Код на PascalABC.NET''' | |||
<source lang="Delphi">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.</source> | |||
=== Минимум из введенных === | === Минимум из введенных === | ||
=== | '''Код на Pascal''' | ||
=== | <source lang="Delphi">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.</source> | |||
'''Код на PascalABC.NET''' | |||
<source lang="Delphi">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.</source> | |||
=== Алгоритм Евклида поиска НОД === | === Алгоритм Евклида поиска НОД === | ||
=== | <source lang="Delphi">begin | ||
var (a,b) := ReadInteger2('Введите a,b: '); | |||
while b<>0 do | |||
begin | |||
var c := a mod b; | |||
a := b; | |||
b := c; | |||
end; | |||
Writeln('Наибольший Общий Делитель = ',a); | |||
end.</source> | |||
=== Вывод таблицы умножения === | === Вывод таблицы умножения === | ||
'''Код на PascalABC.NET''' | |||
<source lang="Delphi">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.</source> | |||
=== Определение простоты числа === | === Определение простоты числа === | ||
<source lang="Delphi">begin | |||
var N := ReadlnInteger('Введите целое (>1): '); | |||
var IsPrime := True; | |||
for var i:=2 to Round(Sqrt(N)) do // если число составное, то один из его сомножителей <= sqrt(N) | |||
if N mod i = 0 then | |||
begin | |||
IsPrime := False; | |||
break; | |||
end; | |||
if IsPrime then | |||
Writeln('Число ',N,' простое') | |||
else Writeln('Число ',N,' составное'); | |||
end.</source> | |||
== Ссылки == | |||
*[[Программы для начинающих]] | |||
*[http://pascalabc.net/ru/programmyi-i-algoritmyi-dlya-nachinayuschih.html Сайт PascalABC.NET: Программы и алгоритмы для начинающих] |
Текущая версия от 00:01, 22 января 2019
Вывод последовательностей 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.
Алгоритм Евклида поиска НОД
begin
var (a,b) := ReadInteger2('Введите a,b: ');
while b<>0 do
begin
var 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.
Определение простоты числа
begin
var N := ReadlnInteger('Введите целое (>1): ');
var IsPrime := True;
for var i:=2 to Round(Sqrt(N)) do // если число составное, то один из его сомножителей <= sqrt(N)
if N mod i = 0 then
begin
IsPrime := False;
break;
end;
if IsPrime then
Writeln('Число ',N,' простое')
else Writeln('Число ',N,' составное');
end.