Условие задания: Программа нахождения НОД и НОК алгоритмом Евклида




Индивидуальное задание №6(Pascal)

Условие задания: Дано натуральное число Р. Найдите все натуральные числа, не превосходящие Р, которые нельзя представить в виде суммы 2 простых чисел

 

Текст программы:

Program LR_6_24;

{Дано натуральное число Р. Найдите все натуральные числа, не превосходящие Р, которые нельзя представить в виде суммы 2 простых чисел; Усик М, гр. 13411}

Uses

Crt;

var

mass:array [1...1000] of integer

p, index_prost, z, j, index:integer;

flagg:boolear;

begin

clrscr;

index_prost:=1;

mass[1]:=2;

write (‘введите натуральное число Р’);

readln (P);

for j:=1 to p do

begin

if ((2 mod mass [j])<>0) then

inc (index);

if (index=index_prost) then

begin

inc(index_prost);

mass [index_prost]:=z;

end;

end;

end;

writeln (mass[1]);

for z:=1 to index_prost-1 do

begin

if (mas[z] + mass[1]=mass [z+1] then

continue

else

writeln (mass[z+1]);

end;

end.

Индивидуальное задание №7 (Pascal)

Условие задания: Дан массив А, состоящий из n натуральных чисел. Найдите наибольший общий делитель элементов массива

Текст программы:

Program L_8_24;

{ Дан массив А, состоящий из n натуральных чисел. Найдите наибольший общий делитель элементов массива, Усик М. }

uses

crt;

function NOD (a, b:integer);

begin

while a<>b do

if a>b then a:=a-b else b=:b-a;

NOD:=a;

end;

var

a:array[1..100] of integer;

n:byte;

k:integer;

begin

cltscr;

write (‘VVedite kol elementov n=’);

readln(n);

writeln (‘Vvedite element massiva;’);

for i:=1 to n do

begin

write (‘a[‘i,’]=’);

readln(a[i]);

end;

clrscr;

writeln(‘Massiv:’);

for i:=1 n do

write (a[i], ‘ ‘);

writeln;

k:=NOD (a[1], a[2]);

for:=3 to n do k:=nd (k, a [i]);

writeln (‘obchiy NOD vseh elementov =’, k);

readln

end.

 

Примеры

1) Введите кол.:1

Введите элементы:2

Массив:2

2) Введите кол элементов:0

Общий НОД=0

3) Введите кол элементов:-2

Программа завершена

Индивидуальное задание №8 (Pascal)

Условие задания: Дана матрица А, имеющая 30 строк и 10 столбцов, содержащая оценки группы за первый семестр. Определите средний балл студентов группы по каждому предмету

Текст программы:

 

program L8_24;

{ Дана матрица А, имеющая 30 строк и 10 столбцов, содержащая оценки группы за первый семестр. Определите средний балл студентов группы по каждому предмету Усик М.}

uses

crts;

type

matrix=array [1..30, 1..10] of real;

stroka = string;

var

a, b:integer;

m, n:integer;

flaf:Boolean;

procedure MatrixIn(var a:matrix; file name:stroke; var m, n;integer);

var

i, j:integer;

txt:text;

begin

assign (txt, filename);

reset (txt);

readln(txt, m, n);

for i:=1 to m do

begin

for j:=1 to n do

read (txt, a [i, j];

readln(txt);

end;

close (txt);

end;

procedure MatrixOut(a:matrix; filename; stroka; m, n:integer; title stroka; var flag:boolean);

var

i, j:integer;

txt:text;

begin

assign (txt, filename);

if flag then

rewrite (txt);

else

append(txt);

writeln (txt, title)

for i:=1 to n do

write (txt, a [I,j]:8:2);

writeln(txt);

end;

 

procedure average (a:matrix; m, n:integer);

var

I, j:integer;

s:real;

begin

for j:=1 to n do

begin

s:=0

for i:=1 to m do

s:=s+a[I, j];

s:=s/m;

b[1,j]:=s;

end;

end;

begin

clrscr;

MatrixIn(a, ‘matrix.txt’, m, n);

flag:=true;

MatrixOut(a, ‘matrixOut.txt’, m, n ‘ Ocenki gruppy za 1 semestr: ‘, flag);

Average (a, b, m, n);

flag:=false;

MatrixOut (b, ‘:matrixOut.txt, 1; n’Sred bal ctudentov po kajdomu predmetu:’, flag);

readkey;

end.

 

 

Индивидуальное задание №9 (Pascal)

Условие задания:. Напишите программу, удваивающую каждый символ в заданном тексте.

Текст программы:

program L_9_6;

{. Напишите программу, удваивающую каждый символ в заданном тексте. Усик М..}

uses

crt;

var

st:string[to];

procedure ydv (var st:string);

var

i:=integer;

begin

i:=1;

whiele <=length (st) do

begin

insert (st[i], st, i+1);

end;

end;

begin

clrscr;

writeln (‘Vvedite stroky’);

readln (st);

ydv (st);

writeln (st);

readkey;

end.

 

Примеры

1. вводим var выводит vvaarr

2. вводим р выводит рр

 

Индивидуальное задание №10 (Pascal)

Условие задания: Реализуйте поразрядную сортировку

Текст программы:

program L_10_6;

{ Реализуйте поразрядную сортировку, Усик М.}

 

uses

crt;

 

type

matr:array [1..10, 1..10] of real;

stroka:string[30];

var

a:matr;

I, j, m, n:integer;

flag:Boolean;

 

procedure vvod (var a:matr; namefile:stroka: var m, n:integer);

var

I, j:integer;

fin:txt;

begin

assign(fin, namefile);

reset (fin);

readln(fin, m,n)

for i:=1 to n do

read (fin, m,n);

readln(fin, m,n);

for i:=1 to n do

read (fin, a[I,j]);

readln(fin);

end;

close(fin);

end;

 

procedure vivod (namefile:stroka; a:matr; m, n:integer; var:stroka; var flag; Boolean);

var

I, j:integer;

fout:text;

begin

assign(fout, namefile);

if flag then

rewrite(fout);

else

append(fount);

writeln (fout, zag);

for i:=1 to m do

begin

for j:=1 to n do

write (fout, a[I, j]:8:2);

writeln(fount);

end;

if namefile=’con’ then

readkey

else

close(fout);

end;

 

 

procedure radSort (k, l, r:integer);

var

I, j, t:integer;

begin

if(l>=r) or (k=0) then Exit;

I:=1;

j:=n;

while (i<=j) do

begin

if((A[i] and k) <>0) then inc(i)

else if ((A[j] and k)=0) then dec (j)

else

begin

t:=A[i]; A[i]:=A[j}; A[j]:=t;

inc (i);

dec[j];

end;

end;

radSort(k shr 1, l, j);

radSort(k shr 1, I, r);

end;

var I, k, j, t, n:integer;

begin

readln(n);

k:=1;

for i:=1 to n do

begin

read (A[i]);

l:=e shr 1;

inc (t);

end;

if (t>k) then k:=t;

end;

radSort (1 shl (k-1), l, n);

end.

 

Индивидуальное задание №11 (Pascal)

 

Условие задания: Программа нахождения НОД и НОК алгоритмом Евклида

Текст программы:

program L11_24;

{Усик М}

program nodnok;
var a,b:longint;

function NOD(x,y:longint):longint;
begin
if x<>0 then NOD:= NOD(y mod x,x) else NOD:= y;
end;

function NOK(x,y:longint):longint;
begin
NOK:= (x div NOD(x,y)) * y;
end;

Begin
Write('Введите a и b: ');
Readln(a,b);
Writeln('НОД ',a,' и ',b,' = ', NOD(a,b));
Writeln('НОК ',a,' и ',b,' = ', NOK(a,b));
Readln;
End.

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2018-01-08 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: