Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Algoritmizatsia_11-20.doc
Скачиваний:
8
Добавлен:
20.11.2019
Размер:
80.38 Кб
Скачать
  1. Сконструируйте программу для подсчета количества пятизначных чисел, состоящих из цифр 1,2,3,4,5.

  2. Сконструируйте программу заполнения одномерного массива В(n) так, чтобы каждый элемент с четным индексом был равен половине своего номера, а каждый элемент с нечетным индексом - 0.

program massive;

const n=10;

var a:array[1..n] of real;

i:integer;

begin

for i:=1 to n do

if odd(i) then a[i]:=0

else a[i]:=i/2;

writeln('elementy massiva');

for i:=1 to n do

write(a[i]:8:3);

readln;

end.

  1. Сконструируйте программу для нахождения произведения максимальных элементов массивов a[1..10] и b[1..10], используя процедуру для определения максимального элемента массива.

program massive;

type mass=array [1..10] of real;

var a,b:mass;

max1,max2:real;

pr:real;

j:integer;

procedure maximum(m:mass; var z:real);

var i:integer;

begin

z:=m[1];

for i:=1 to 10 do

if m[i]>z then z:=m[i];

end;

begin

randomize;

for j:=1 to 10 do

begin

a[j]:=10 - random(30);

b[j]:=2 - random (10);

end;

maximum(a,max1);

maximum(b,max2);

pr:=max1*max2;

writeln('Iskomoe proizvedenie - ',pr:8:3);

readln;

end.

  1. Сконструируйте программу для нахождения корней квадратного уравнения ax2+bx+c=0, где a,b,c вводятся с клавиатуры (предусмотреть все возможные ошибки).

program uravn;

var a,b,c:real;

d:real;

x1,x2:real;

begin

writeln('vvedite a,b,c');

readln (a,b,c);

if (a=0) then

begin

if b=0 then

if c=0

then writeln ('uravnenie imeet beskonechnoe mnojestvo reshenij')

else writeln ('net reshenij');

end

else

begin

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

if d<0 then writeln ('net reshenij')

else

begin

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

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

writeln ('x1=',x1:8:2);

writeln ('x2=',x2:8:2);

end;

end;

readln;

end.

  1. Сконструируйте программу в системе программирования Delphi для вычисления расстояния между двумя точками с координатами (x1;y1) и (x2;y2) по следующей формуле: .

program rasstojanie;

{$APPTYPE CONSOLE}

uses

SysUtils;

var x1,y1,x2,y2:real;

rasst:real;

begin

writeln('vvedite koordinaty 1 tochki');

readln(x1,y1);

writeln('vvedite koordinaty 2 tochki');

readln(x2,y2);

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

writeln('rasstojanie = ',rasst:8:2);

readln;

end.

  1. Сконструируйте программу позволяющую заменить в заданном массиве М(15) нулевые элементы квадратами их индексов.

program zamena;

var a:array [1..15] of real;

i: integer;

begin

randomize;

for i:=1 to 15 do

a[i]:=5-random(20);

for i:=1 to 15 do

if a[i]=0 then a[i]:=sqr(i);

writeln('poluchennyj massiv');

for i:=1 to 15 do

write(a[i]:8:2);

readln;

end.

  1. Сконструируйте программу позволяющую найти максимальный и минимальный элемент одномерного массива.

program znachenie;

const n=10;

var a:array [1..n] of integer;

I: integer;

max,min:integer;

begin

randomize;

for i:=1 to n do

a[i]:=5-random(10);

max:=a[1];

min:=a[1];

for i:=1 to n do

begin

if a[i]>max then max:=a[i];

if a[i]<min then min:=a[i];

end;

writeln('maximum - ',max);

writeln('minimum - ',min);

readln;

end.

  1. Сконструируйте программу в системе программирования Delphi для определения номера четверти координатной плоскости, которой принадлежит точка с координатами (x,y) при условии, что x 0, y 0.

program chetvert;

var x,y:real;

begin

writeln('vvedite koordinaty');

readln(x,y);

if (x>0) and (y>0) then writeln('1 chetvert');

if (x<0) and (y>0) then writeln('2 chetvert');

if (x<0) and (y<0) then writeln('3 chetvert');

if (x>0) and (y<0) then writeln('4 chetvert');

if (x=0) or (y=0) then writeln('nevernyi vvod');

readln;

end.

  1. Сконструируйте программу, позволяющую в данной строке символов определить, стоят ли в данной строке подряд символы f и b.

program simvol;

var s:string;

I:integer;

begin

writeln('vvedite stroky');

readln(s);

for i:=1 to length(s)-1 do

if (s[i]='f') and (s[i+1]='b') then

begin

writeln('imeetsja');

break;

end;

readln;

end.

  1. Сконструируйте программу определяющую количество отрицательных элементов в массиве К(n) (n<=100) заполненном случайными числами от -15 до 15.

program znachenie;

const n=10;

var a:array [1..n] of integer;

I: integer;

k:integer;

begin

randomize;

for i:=1 to n do

a[i]:=15-random(30);

k:=0;

for i:=1 to n do

if a[i]<0 then inc(k);

writeln('kolichestvo otricatelnyh - ',k);

readln;

end.

  1. Сконструируйте программу для формирования текстового файла из 9 строк, в первой из которых – один символ ‘1’, во второй – два символа ‘2’ и т.д., в девятой – девять символов ‘9’.

program formir;

var f:text;

j,i:integer;

s,s1:string;

begin

assign(f,'out.txt');

rewrite(f);

for i:=1 to 9 do

begin

s:='';

{formirovanie stroki}

for j:=1 to i do

begin

{perevod chisla v stroky}

str(i,s1);

s:=s+s1;

end;

writeln(f,s);

end;

close(f);

readln;

end.

  1. Сконструируйте программу в системе программирования Delphi для вычисления суммы положительных чисел среди трех введенных с клавиатуры.

program Project2;

{$APPTYPE CONSOLE}

uses

SysUtils;

Var I:integer;

s,a:integer;

begin

writeln('vvedite 3 chisla');

s:=0;

for i:=1 to 3 do

begin

readln(a);

if a>0 then s:=s+a;

end;

writeln('suma=',s);

readln;

end.

  1. Сконструируйте программу нахождения суммы цифр в строке символов, представляющей собой последовательность цифр.

program summa;

var i,n,c:integer;

s,s1:string;

summ:integer;

begin

writeln('vvedite stroky');

readln(s);

if s<>'' then

begin

val(s,n,c);

summ:=0;

repeat

summ:=summ+(n mod 10);

n:=n div 10;

until n=0;

writeln(summ);

end

else writeln('pustaja stroka');

readln;

end.

  1. Сконструируйте программу в системе программирования Delphi для нахождения среднего геометрического и среднего арифметического двух положительных чисел.

program Project2;

{$APPTYPE CONSOLE}

uses

SysUtils;

var a,b:real;

sa,sg:real;

begin

writeln('vvedite 2 chisla');

readln(a,b);

if (a>0) and (b>0) then

begin

sa:=(a+b)/2;

sg:=sqrt(a*b);

writeln('srednee arifmeticheskoe ',sa:8:3);

writeln('srednee geometricheskoe ',sg:8:3);

end;

else

writeln('KOSYAK');

readln;

end.

  1. Сконструируйте программу определения количества слов в данной строке символов (начинается с буквы и заканчивается буквой). В качестве разделителей используется один пробел.

program slova;

var s:string;

i,k:integer;

begin

writeln('vvedite stroky');

readln(s);

k:=0;

for i:=1 to length(s) do

if s[i]=' ' then k:=k+1;

writeln('kolichestvo slov-',k);

readln;

end.

  1. Сконструируйте программу для вычисления факториала. При создании программы используйте функцию.

program fact;

var n:integer;

r:real;

function f(k:integer):real;

begin

if k=1 then f:=1

else f:=f(k-1)*k;

end;

begin

writeln('vvedite chislo');

readln(n);

r:=f(n);

writeln('factorial raven ',r:15:1);

readln;

end.

  1. Сконструируйте программу, которая удаляет пробелы в строке.

program slova;

var s:string;

i,k:integer;

begin

writeln('vvedite stroky');

readln(s);

k:=1;

i:=1;

while i<=length(s)-1 do

begin

if (s[i]=' ') and (s[i+1]=' ')

then

begin

delete(s,i,1);

i:=i-1;

end

else i:=i+1;

end;

writeln('novaja stroka - ',s);

readln;

end.

  1. Сконструируйте программу замены местами минимального и максимального элемента 10. массива размера  Элементы массива задаются рандомно.

program znachenie;

const n=10;

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]