Главная страница

Шпаргалка по информатике (сборник Паскаль). Сборник_Паскаль1. 1. Найти значение выражения 1122 nn


Скачать 192 Kb.
Название1. Найти значение выражения 1122 nn
АнкорШпаргалка по информатике (сборник Паскаль
Дата08.02.2023
Размер192 Kb.
Формат файлаdoc
Имя файлаСборник_Паскаль1.doc
ТипДокументы
#926117
страница2 из 3
1   2   3

program z24;

{ Составить программу для определения расстояния от точки (x3;y3)

до прямой проходящей через точки (x1;y1),(x2;y2) }

uses crt;

var x1,x2,x3,y1,y2,y3,a,b,c,d,t : real;

begin

clrscr;

write('x1=');readln(x1);

write('y1=');readln(y1);

write('x2=');readln(x2);

write('y2=');readln(y2);

write('x3=');readln(x3);

write('y3=');readln(y3);

a:=y2-y1;

b:=x1-x2;

c:=-x1*(y2-y1)+y1*(x2-x1);

t:=sqrt(a*a+b*b);

d:=abs((a*x3+b*y3+c)/t);

write('расстояние =',d);

readln;

end.
program z25;

{ Треугольник задан координатами вершин (x1;y1),(x2;y2),(x3;y3).

Найти площадь треугольника (используя формулу Герона) }

uses crt;

var x1,x2,x3,y1,y2,y3,a,b,c,s,p : real;

begin

clrscr;

write('x1=');readln(x1);

write('y1=');readln(y1);
write('x2=');readln(x2);

write('y2=');readln(y2);

write('x3=');readln(x3);

write('y3=');readln(y3);

a:=sqrt(sqr(x1-x2)+sqr(y1-y2));

b:=sqrt(sqr(x2-x3)+sqr(y2-y3));

c:=sqrt(sqr(x3-x1)+sqr(y1-y3));

p:=(a+b+c)/2;

s:=sqrt(p*(p-a)*(p-b)*(p-c));

write('s=',s);

readln;

end.
program z26;

{ Даны координаты диагонали прямоугольника.

Найти его площадь. }

uses crt;

var x1,x2,y1,y2,s,a,b : real;

begin

clrscr;

write('x1=');readln(x1);

write('y1=');readln(y1);

write('x2=');readln(x2);

write('y2=');readln(y2);

a:=abs(x2-x1);

b:=abs(y2-y1);

s:=a*b;

write('s=',s);

readln;

end.
program z27;

{ Найти номер максимального элемента таблицы а[1..10] }

uses crt;

var a : array [1..100] of longint;

k,i,n,max : longint;

begin

clrscr;

write('n=');readln(n);

for i:=1 to n do

begin

write('a[',i,']=');readln(a[i]);

end;

max:=a[1];k:=1;

for i:=2 to n do

if a[i]>max then

begin

max:=a[i];k:=i;

end;

write('номер: ',k);

readln;

end.
program z28;

{ Дан линейный массив из n эл-тов.

Составить программу упорядочивания элементов таблицы.}

uses crt;

var a : array [1..100] of longint;

j,i,n,max : longint;

begin

clrscr;

write('n=');readln(n);

for i:=1 to n do

begin

write('a[',i,']=');readln(a[i]);

end;

for i:=1 to n-1 do

for j:=i+1 to n do

if a[j]>a[i] then

begin

max:=a[j];

a[j]:=a[i];

a[i]:=max;

end;

for i:=1 to n do writeln('a[',i,']=',a[i] );

readln;

end.
program z29;

{ Даны числа a,b,c. Составить программу вычисления

(min(a,c)-min(a,b)/(5+min(b,c)) }

uses crt;

var a,b,c,m1,m2,m3,w:real;

procedure min(var d,e,m : real);

begin

if d>e then m:=e else m:=d;

end;

begin

clrscr;

write('a=');readln(a);

write('b=');readln(b);

write('c=');readln(c);

min(a,c,m1);

min(a,b,m2);

min(b,c,m3);

w:=(m1-m2)/(5+m3);

writeln('ОТВЕТ:',w);

readln;

end.
program z30;

{ Яв-ся ли число b делителем числа a. }

uses crt;

var a,b : integer;

begin

clrscr;

write('a=');readln(a);

write('b=');readln(b);

if a mod b=0 then write('делится')

else write('не делится');

readln;

end.
program z31;

{ Составить программу определяющую яв-ся ли число простым. }

uses crt;

var a : real;

p : boolean;

i : integer;

procedure haltproc;

begin

writeln('неверные данные');

writeln('a>=2');readln;

halt;

end;

begin

clrscr;

write('a=');readln(a);

if a<2 then haltproc;

if a=2 then begin

writeln2('простое');

readln;halt;

end;

p:=true;

for i:=2 to trunc(a-1) do

if a/i=trunc(a/i) then p:=false;

if p=true

then write('простое')

else write('не простое');

readln;

end.
program z32;

{ Составить программу нахождения НОД и НОК двух чисел a и b. }

uses crt;

var a,b,p : real;

nod,nok : real;

begin

clrscr;

write('a=');readln(a);

write('b=');readln(b);

p:=a*b;

while a<>b do

if a>b then a:=a-b

else b:=b-a;

nod:=a;

nok:=p/nod;

writeln('НОД:',a);

write('НОК:',nok);

readln;

end.
program z33;

{ Составить программу решения квадратного ур-я. }

uses crt;

var a,b,c,x1,x2,d : real;

begin

clrscr;

write('a=');readln(a);

write('b=');readln(b);

write('c=');readln(c);

d:=sqr(b)-4*a*c;

if d>0 then

begin

x1:=(-b+sqrt(d))/(2*a);

x2:=(-b-sqrt(d))/(2*a);

writeln('x1=',x1);

writeln('x2=',x2);

end;

if d=0 then

begin

x1:=(-b)/(2*a);

writeln('x=',x1);

end;

if d<0 then write('корней нет');

readln;

end.
program z34;

{ Найти сумму элементов прямоугольной таблицы размером [n:m] }

uses crt;
var a : array [1..10,1..10] of longint;

i,j,n,m,s : longint;

begin

clrscr;

write('кол-во строк : ');readln(m);

write('кол-во столбцов : ');readln(n);

for i:=1 to m do

for j:=1 to n do

begin

write('a[',i,',',i,']=');readln(a[i,j]);

end;

for i:=1 to m do

for j:=1 to n do s:=s+a[i,j];

write('Сумма:',s);

readln;

end.
program z35;

{ Найти maксимальный элемент прямоугольной

таблицы размером [n:m]. }

uses crt;

var a : array [1..10,1..10] of longint;

i,j,n,m,max : longint;

begin

clrscr;

write('кол-во строк : ');readln(m);

write('кол-во столбцов : ');readln(n);

for i:=1 to m do

for j:=1 to n do

begin

write('a[',i,',',j,']=');readln(a[i,j]);

end;

max:=a[1,1];

for i:=1 to m do

for j:=1 to n do

if max
write('max=',max);

readln;

end.
program z36;

{ Цифры числа хранятся в таблице b. b[1] содержит цифру

высшего разряда a=a, a2, a3...an. Найти число. }

var n,i,a : integer;

b : array[1..6] of integer;

begin

write('Введите кол-во цифр числа n=');

readln(n);

for i:=1 to n do

begin

write('b[',i,']=');readln(b[i]);

end;

a:=0;

for i:=1 to n do a:=a*10+b[i];

write('Число:',a);

readln;

end.
program z37;

{ Найти макс. элм. таб. и кол-во макс. элементов }

uses crt;

var a : array [1..10] of longint;

k,n,i,max : longint;

begin

clrscr;

write('кол-во элм таб n=');readln(n);

for i:=1 to n do

begin

write('a[',i,']=');readln(a[i]);

end;

max:=a[1];

for i:=2 to n do if a[i]>max then max:=a[i];

for i:=1 to n do if a[i]=max then k:=k+1;

writeln('max=',max);

writeln('кол-во: ',k);

readln;

end.
program z38;

{ Дано предложение, определить кол-во слов в нём. }

uses crt;

var tec : string;

l,i,n : longint;

begin

clrscr;

write('введите текст:');readln(tec);

l:=length(tec)+1;tec[l]:=' ';

for i:=1 to l do if tec[i]=' 'then n:=n+1;

write('В тексте ',n,' слов');

readln;

end.
program z39;

{ Дан текст, определить кол-во слов "кот". }

uses crt;

var a : string;

i,m,k,n : longint;

begin

clrscr;

write('введите текст ');readln(a);

k:=0;m:=length(a);

a:=a[m]+' ';

for i:=1 to m do if a[i+2]='кот'then inc(k);

write('В тексте ',k,' слов кот');

readln;

end.
program z40;

{ Определить является ли данное слово перевертышем. }

uses crt;

var a,b,c : string;

i : longint;

begin

clrscr;

write('Введите слово: ');readln(a);

b:='';

for i:=1 to length(a) do b:=a[i]+b;{ переворачиваем слово }

if a=b then write('перевертыш')

else write('не перевертыш');

readln;

end.
program z41;

{Найти количество различных чисел в одномерной таблице}

(*МЕТОД:Каждый следующий элемент сравниваем со всеми

предыдущими и если равных ему среди предыдущих не будет

то flag оставляем неизменным и счетчик к увеличиваем*)

uses crt;

var a : array [1..10] of longint;

i,j,k,flag,n : integer;

begin

clrscr;

write('введите кол.эл.таб. а n=');readln(n);

for i:=1 to n do

begin

write('a[',i,']=');readln(a[i]);

end;

k:=1;{Пусть разных чисел нет т.е.все одинак.}

for i:=2 to n do

begin

flag:=0;j:=i-1;{j -стоит перед i}

while (flag=0) and (j>=1) do

begin

if a[i]=a[j] then flag:=1;{решение}

j:=j-1;

end;

if flag=0 then k:=k+1;

end;

write('Колич.различных чисел к=',k);

readln;

end.
program z42;

{ Каждую букву слова A поместить в таблицу. }

uses crt;

var a : string;

n,i : longint;

b : array [1..10] of string;

begin

clrscr;

write('введите текст:');readln(a);

n:=length(a);

for i:=1 to n do b[i]:=a[i];

for i:=1 to n do

begin

writeln('b[',i,']=',a[i]);

end;

readln;

end.
program z43;

{ Найти наименьшее однозначное число х удолв условию x*x*x-x*x=n. }

uses crt;

var x,n : longint;

ot : boolean;

begin

clrscr;

write('n = ');readln(n);

ot:=false;

x:=1;

while (x*x*x-x*x<>n) do

begin

inc(x);

if x*x*x-x*x=n then ot:=true;

end;

if ot=false then write('нет')

else write('x=',x);

readln;

end.
program z44;

{ Составить алгоритм нахождения суммы цифр числа. }

uses crt;

var i,n,k,s : longint;

b : array [1..10] of integer;

begin

clrscr;

write('введите число ');readln(n);

k:=1;

while n>=1 do

begin

b[k]:=trunc(n) mod 10; {элм. таб}

n:=trunc(n)div 10;

k:=k+1;

end;

for i:=1 to k do s:=s+b[i];

write('s=',s);

readln;

end.
program z45;

{ Найти двузначное число сумма кубов цифр которого равна n. }

uses crt;

var j,i : integer;

z,n : longint;

begin

clrscr;

write('n=');readln(n);

for j:=1 to 9 do

for i:=1 to 9 do

if i*i*i+j*j*j=n then z:=10*i+j;

write('z=',z);

readln;

end.
program z46;

{ Заданы 2 слова a и b. Можно ли получить из слова a,

вычеркивание некоторого кол-ва букв, слово b. }

uses crt;

var i,j,m,n : integer;

a,b,d,e : string;

begin

clrscr;

write('введите текст a=');readln(a);

write('введите текст b=');readln(b);

n:=length(a);m:=length(b);e:=b;

if n
for i:=1 to n do

for j:=1 to m do

if a[i]=b[j] then begin

d:=d+a[i];

delete(b,j,1);

end;

if d=e then write('Да')

else write('Нет');

readln;

end.
program z47;

{ Заданы 2 точки. Определить какой из отрезков

AO или BO образует больший угол с осью OX. }

uses crt;

var x1,x2,y1,y2 : longint;

a,b,a1,b1 : real;

begin

clrscr;

writeln('коорд. точки А');

write('x1=');readln(x1);

write('y1=');readln(y1);

writeln('коорд. точки В');

write('x2=');readln(x2);

write('y2=');readln(y2);

a:=sqrt(x1*x1+y1*y1);

b:=sqrt(x2*x2+y2*y2);

a1:=y1/a;b1:=y2/b;

if a1>b1

then write('отрезок OA обр. бол. угол ')

else write('отрезок OB обр. бол. угол');

readln;

end.
program z48;

{ Дана таблица А. Записать '+' элементы таблицы А в

таблицу В '-' элементы таблицы А в табл С. }

uses crt;

var a,b,c : array [1..10] of longint;

n,k,i,l : longint;

begin

clrscr;

write('n = ');readln(n);

for i:=1 to n do

begin

write('a[',i,']=');readln(a[i]);

end;
for i:=1 to n do

if a[i]<0 then begin

inc(k);b[k]:=a[i];

end

else begin

inc(l);c[l]:=a[i];

end;

writeln('положительное:');

for i:=1 to l do writeln('c[',i,']=',c[i]);

writeln('отрицательное:');

for i:=1 to k do writeln('b[',i,']=',b[i]);

readln;

end.
program z49;

{ Яв-ся ли перевёртышем число. }

uses crt;

var a,b : string;

n,i : longint;

begin

clrscr;

write('введите число n=');readln(n);

str(n,a);

b:='';

for i:=1 to length(a) do b:=a[i]+b;

if a=b then write('перевёртыш')

else write('не перевёртыш');

readln;

end.
program z50;

{Даны таблицы А[1..n] ,В[1..m]. Построить таблицу С

в которой сначала размещаются все элм-ты А, затем

все элм-ты табл В. }

uses crt;

var a : array [1..5,1..2] of string;

m,j,i,g : longint;

b,c : array [1..5] of string;

begin

clrscr;

writeln('введ i-фамилии, j-пол');

for i:=1 to 5 do

for j:=1 to 2 do

begin

write('a[',i,',',j,']=');readln(a[i,j]);

end;

for i:=1 to 5 do

begin

if a[i,2]='м' then begin

m:=m+1;

b[m]:=a[i,1];

end;

if a[i,2]='ж' then begin

g:=g+1;

c[g]:=a[i,1];

end;

end;

writeln('мальчики:');

for i:=1 to m do writeln(b[m]);

writeln('девочки:');

for i:=1 to g do writeln(c[g]);

readln;

end.
program z51;

{ Решить систему ур-ий {ax+by+c=0 и a1x+b1y+c1=0 }

uses crt;

var flag,a,a1,b,b1,c,c1,x,y,s,s1 : longint;

begin

clrscr;

flag:=0;

write('a=');readln(a);

write('b=');readln(b);

write('c=');readln(c);

write('a1=');readln(a1);

write('b1=');readln(b1);

write('c1=');readln(c1);

for x:=-10 to 10 do

for y:=-10 to 10 do

begin

s:=a*x+b*y+c;

s1:=a1*x+b1*y+c1;

if (s=0)and(s1=0)

then begin

flag:=1;

writeln('x=',x,' y=',y);

end;

end;

if flag=0 then write('в заданной области реш. нет');

readln;

end.
program z52;

{Даны 3 точки x1,y1,x2,y2,x3,y3 Составить программу для опред. площади и

периметра треуг. используя процедуру для опред расстояния между двумя

точками}

uses crt;

var x1,x2,x3,y1,y2,y3,s,p,

a,b,c : real;

procedure rasst( a1,b1,a2,b2 : real;var r : real );

begin

r:=sqrt(sqr(a1-a2)+sqr(b1-b2));

end;

begin

clrscr;

write('x1=');readln(x1);

write('y1=');readln(y1);

write('x2=');readln(x2);

write('y2=');readln(y2);

write('x3=');readln(x3);

write('y3=');readln(y3);

rasst(x1,y1,x2,y2,a);

rasst(x2,y2,x3,y3,b);

rasst(x3,y3,x1,y1,c);

p:=a+b+c;

p:=p/2;

s:=sqrt(p*(p-a)*(p-b)*(p-c));

writeln('s=',s);

readln;

end.
program z14;

{Дана лин. таб содерж. группы одинаковых подряд идущих положит. чисел.Вывести

на экран "число-кол-во чисел в группе,число-кол-во чисел в группе, ... "}

uses crt;

var a : array [1..100] of longint; {кол.эл.не больше 100}

m,n,i : longint;

begin

clrscr;

write('введите кол-во элм. таб. a,n=');readln(n);

for i:=1 to n do

begin

write('a[',i,']=');readln(a[i]);

end;

i:=1; m:=1;(*кол. одинак.эл.*)

while i<=n do

begin

if a[i]<>a[i+1]

then begin

(*если подряд идущие эл.разные то печать стоящий первым

и их кол. брать новое i для выполнения команды пока и счетчик m

опять взять =1 для подсчета других чисел*)

write('число: ',a[i]);

writeln(' кол-во ',m);

i:=i+1;

m:=1;

end {сдесь ; не ставить}

else

(*если подряд идущие эл.одинаковые то их считаем и берем

новое i для выполнения команды пока*)

begin

i:=i+1;

m:=m+1;

end;

end;

readln;

end.
1   2   3


написать администратору сайта