Подивись бібліотеку програм на мові Паскаль на сайтах
http://acmp.ru/article.asp?id_text=195 http://algolist.manual.ru
http://acmp.ru/article.asp?id_text=195 http://algolist.manual.ru
Задача1.
Скласти програму на мові Pascal
підрахунку кількості різних букв
у слові.
var s:string;
r:real;
i,j,n:integer;
begin r:=0;
readln(s);
for i:=1 to
length(s) do begin
n:=0;
for j:=1 to
length(s) do begin
if s[i]=s[j] then inc(n); end;
r:=r+1/n; end;
writeln('количество различных букв = ', r:1:0);
end.
Задача 2. Перестановка останньої букви у слові на перше місце (циклічний
рух вправо).
var s:string;
i,j,n:integer;
begin
readln(s);
s:=s[length(s)] + copy(s,1,length(s)-1);
writeln(s);
end.
Результат: введення: wertyu виведення:
uwerty
Задача 3. Перевірка
рядка на "паліндромність".
Наприклад ,
"шалаш", "красарк" -
це рядки паліндроми.
var s1,s2:string;
i:integer;
begin
readln(s1); s2:='';
for i:=length(s1) downto 1 do begin
s2:=s2+s1[i]; end;
if s1=s2 then writeln(s1, ' - паліндромне слово')
else writeln(s1, ' - непалідромне слово);
end.
Задача 4. Знайти
і вивести всі дільники натурального числа A
var a,n,c,d:word;
begin {
основная программа }
readln( a );
n:=1;
while ( n <= sqrt(a) ) do begin
c:=a mod n;
d:=a div n;
if c = 0 then begin
writeln( n );
if n <> d then writeln( d );
end;
inc( n );
end;
end.
Задача 5. Знайти і вивести усі досконалі числа до 10000
const LIMIT = 10000;
var n,i,j,s,lim,c,d : word;
begin
for i:=1 to LIMIT do begin
s:=1;
lim:=round(sqrt(i));
for j:=2 to lim do
begin
c:=i mod j; d:=i div j;
if c = 0 then begin
inc(s,j);
if (j<>d)
then inc(s,d); {двічі не додавати корінь числа}
end; end;
if s=i then writeln(i); end;
end.
Задача 6. Знайти
і вивести всі прості числа до 500
const LIMIT = 500;
var i,j,lim : word;
begin
writeln;
for i:=1 to LIMIT do begin
j:=2;
lim:=round(sqrt(i));
while (i mod j
<> 0) and (j <= lim) do inc( j );
if (j > lim) then
write( i,' ' ); end;
end.
Задача 7. Знайти
і вивести суму цифр числа до 10000
var a,x:integer;
i,s:integer;
begin
writeln('Введіть ціле число');
readln( a ); x:=a;
s:=0;
while ( x < > 0 )
do begin
s := s + (x mod 10);
x := x div 10;
end;
writeln( 'Сумма цифр
числа ',a,' = ', s );
end.
Задача 8. Знайти
і вивести суму чисел лінійного масиву
var a:array[1..10] of
integer;
s:longint;
i:integer;
begin
writeln('введіть 10 чисел масиву');
s:=0;
for i:=1 to 10 do begin
readln( a[i] );
s:=s+a[i];
end;
writeln( 'Сума елементів масиву = ', s
);
end.
Задача
9. Знайти і вивести суму чисел двомірного
масиву(таблиці)
var a:array[1..5,1..5] of integer;
s:longint;
i,j:integer;
begin
writeln('введіть 25 елементів масиву');
s:=0;
for i:=1 to 5 do begin
for j:=1 to 5 do begin
readln( a[i,j] );
s:=s+a[i,j];
end;
end;
writeln( 'Сума елементів масиву = ', s );
end.
Задача
10. Знайти найбільше число у лінійному
масиві
var
a:array[1..10] of integer;
max:integer;
i:integer;
begin
writeln('введіть 10 елементів масиву');
max:=-(MAXINT+1);
for i:=1 to 10 do begin
readln( a[i] );
if max < a[i] then max:=a[i];
end;
writeln( 'Максимальний елемент масиву = ', max );
end.
Задача 11. Знайти
найменше число у лінійному масиві
var
a:array[1..10] of integer;
min:integer;
i:integer;
begin
writeln('введіть 10 елементів масиву');
min:=MAXINT;
for i:=1 to 10 do begin
readln( a[i] );
if min > a[i] then min:=a[i];
end;
writeln( 'Мінімальний елемент масиву = ', min );
end.
Задача
12. Знайти середнє арифметичне число для
усіх чисел лінійного масиву
var
a:array[1..10] of integer;
s:longint;
i,n:integer;
begin
s:=0; n:=0;
writeln('введите 10 элементов массива');
for i:=1 to 10 do begin
readln( a[i] );
s:=s+a[i]; inc(n);
end;
writeln( 'Середнє
арифметичне число =
', s/n );
end.
Немає коментарів:
Дописати коментар