Дано равносторонний треугольник со стороной a. Найти, длину стороны равнобольшого ему квадрата. Вычислить для таких значений:
Цитата
a) a=7; b) a=13 c) a=54
Написать программу, которая определяет, можно ли построить треугольник со сторонами a, b, і c. Написать программу для определения квартала года по порядковому номеру месяца. Найти количество чисел кратных 7 от 7 до 7777 включительно.
Цитата
a) Используя цикл for; b) Используя цикл while; c) Используя цикл repeat
Найти среднее арифметическое всех целых положительных чисел меньше числа n включительно. Вычислить для
Цитата
a) n=5; b) n=20; c) n=156
Написать программу нахождения суммы чисел: S=10+22+32+…+n2, если
Цитата
a) n=7; b) n=10; c) n=12
Найти остаток от деления натурального числа a на натуральное число b путём последовательного вычитания от числа a числа b.
Натуральное число называется идеальным, если оно равно суме всех своих делителей, кроме самого числа. Проверить, будет ли число n идеальным.
AlaRic
18.11.2002 20:56
Цитата
Найти среднее арифметическое всех целых положительных чисел меньше числа n включительно. Вычислить для a) n=5; B) n=20; c) n=156.
program new;
uses wincrt;
var summ,n,k,i:integer;
c:real;
begin
writeln('Вычисление среднего арифметического');
writeln('введите кол-во чисел');
readln(i);
summ:=0;
c:=0;
n:=1;
for k:=1to i dobegin
summ:=summ+n;
inc(n);
end;
c:=summ/i;
writeln('Ответ',c:5:1);
end.
Это для всех пунктов.Просто введешь нужное кол-во чисел.
Добавлено (18.11.02 16:16):
Цитата
Написать программу для определения квартала года по порядковому номеру месяца.
program new14;
uses wincrt;
var a,b:integer;
begin
writeln('введите номер месяца');
readln(a);
case a of1:b:=1;
2:b:=1;
3:b:=1;
4:b:=2;
5:b:=2;
6:b:=2;
7:b:=3;
8:b:=3;
9:b:=3;
10:b:=4;
11:b:=4;
12:b:=4;
end;
writeln('Квартал',b:1);
end.
Добавлено (18.11.02 16:38):
Цитата
Найти остаток от деления натурального числа a на натуральное число b путём последовательного вычитания от числа a числа b.
program new4;
uses wincrt;
var a,b,c,d,e:integer;
begin
d:=0;
c:=0;
e:=0;
writeln('введите A и B');
readln(a,B);
c:=a div b;
e:=a;
for d:=1to (a div B) dobegin
e:=e-b;
end;
writeln('Остаток',e:5);
end.
Ivs
19.11.2002 0:45
AlaRic, а не прощи ли так: while a>=b do a:=a-b; усе в "a" остаток от деления a на b...... ;)
AlaRic
19.11.2002 1:03
Цитата
AlaRic, а не прощи ли так: while a>=b do a:=a-b; усе в "a" остаток от деления a на b......
Полностью согласен чув
Alex
19.11.2002 18:11
Цитата
Написать программу нахождения суммы чисел: S=10+22+32+…+n2
Код
program sum; var n,i,sum:integer; begin write('Введите номер -> '); readln(n); sum:=10; for i:=2 to n do begin sum:=sum+i*10+2; end; writeln ('Сумма чисел последовательности до n(10,22,32,42,....,n2) равна ',sum); readln end.
Прогу не проверял.Написана прямо в форуме!!!
zeFes
23.11.2002 22:48
Цитата
Написать программу для определения квартала года по порядковому номеру месяца.
Одной строкой:
Код
var a:byte; begin write('Enter your month'); Readln(a); if (a>12) or (a=0) then Write('Error'); {***} Write(trunc((a/3)*0.9)); {***} end.
думаю так.!!! 8)
trminator
25.11.2002 22:59
Найти среднее арифметическое всех целых положительных чисел меньше числа n включительно.
Сумма всех положит. целых чисел от 1 до n будет (как арифметич-я прогрессия) 1+n ----*n 2 Среднее арифметическое - сумма всех чисел делить на n, итого (1+n)/2 И не надо никаких циклов...
var n:integer; begin Write('До какого числа?'); ReadLn(n); WriteLn('Ответ:',(1+n)/2:5:5){А почему-то :0:0 у меня не проходит ???} end.
trminator
25.11.2002 23:15
10+22+32+...+n2=?
Снова рОдная арифметическая прогрессия: 22+32+42+...(ну ещё +10) 22+32+...=(22+10n+2)*(n-1)/2=(12+5n)(n-1)
var n:integer; begin ReadLn(n);WriteLn(10+(12+5*n)*(n-1)) end.
Вроде правильно :D
Romario
4.12.2002 4:21
Прикольно, а я и не знал, что тут ещё одна моя тема есть Ладно, оставляю тут задачку может тут кто-то решит...
Даны натуральное число N и последовательность A1, A2, …,A N, AN+1. Определить наибольшее из нечетных и количество четных чисел, входящих в последовательность A1, A2, …,A N, AN+1.
И ещё одна задачка, в которой я условие не догоняю, обясните:
Дана последовательность из 50 чисел. Найти их среднее арифметическое. Найти сколько среди них отличных от последнего числа.
Найти сколько среди них отличных от последнего числа. ЧТо енто значит?
ClaneOffline
4.12.2002 15:52
Цитата
Прикольно, а я и не знал, что тут ещё одна моя тема есть Ладно, оставляю тут задачку может тут кто-то решит...
Даны натуральное число N и последовательность A1, A2, …,A N, AN+1. Определить наибольшее из нечетных и количество четных чисел, входящих в последовательность A1, A2, …,A N, AN+1.
И ещё одна задачка, в которой я условие не догоняю, обясните:
Дана последовательность из 50 чисел. Найти их среднее арифметическое. Найти сколько среди них отличных от последнего числа.
Найти сколько среди них отличных от последнего числа. ЧТо енто значит?
И ещё одна задачка, в которой я условие не догоняю, обясните:
Дана последовательность из 50 чисел. Найти их среднее арифметическое. Найти сколько среди них отличных от последнего числа.
Наверное имеются в виду отличные от среднего арифметического.
Romario
5.12.2002 3:25
Clane, спасибо огромное! ;)
Ivs
5.12.2002 15:23
Цитата
Наверное имеются в виду отличные от среднего арифметического
Нет. На самом деле задача разбивается на 2 1) Найдем сумму всех элементов и разделим на их кол-во 2) для i от 1 до n-1 шаг 1 нач если a[i]<>a[n] то k:=k+1; кнц вывести ('Отличных от последнего ',k);
З.Ы: Romario а ты случайно задачи береш не из учебника "Информатика 6 кл" ;)
Romario
6.12.2002 3:24
Ivs, неа это лабораторные работы мне в универе задают, хочу в них раздуплиться. Это может препод мой оттудова их черпает ;D
Добавлено (5.12.02 22:31): Ivs, напиши всю задачу, что-то не могу я раздуплиться...
Romario
6.12.2002 3:47
Вот ещё задачи, которые срочно нужно решить:
1. Найти все трехзначные числа, которые состоят из разных цифр, а их сумма равна А (А вводить с клавиатуры).
2.Определить количество трехзначных натуральных чисел, сумма цифр которых равна заданному числу N.
3.Написать программу поиска двузначных чисел, удовлетворяющих следующему условию: если к сумме цифр числа прибавить квадрат этой суммы, то получится само число.
4.Написать программу поиска трехзначных чисел, квадрат которых оканчивается тремя цифрами, составляющими исходное число.
5.Написать программу поиска четырехзначною числа, которое при делении на 133 дает в остатке 125, а при делении на 134 дает в остатке 111.
6. Найти сумму целых положительных чисел из промежутка от А до В, кратных 4 (значения переменных А и В вводятся с клавиатуры).
7.Найти сумму целых положительных чисел, больших 20, меньших 100, кратных 3 и заканчивающихся на 2, 4 или 8.
8.В трехзначном числе зачеркнули старшую цифру, когда полученное двузначное число умножили на 7, то получили данное число. Найти это число.
9.Сумма цифр трехзначного числа кратна 7, само число также делится на 7. Найти все такие числа.
10.четырехзначных чисел выбрать те, у которых все четыре цифры различны.
11.Среди двузначных чисел найти те, которые делятся на число q, а сумма их цифр равна п (0 < п <= 18 ).
12.Дано четырехзначное число n. Выбросить из записи числа п цифры 0 и 5, оставив прежним порядок остальных цифр. Например, из числа 1509 должно получиться 19.
13.Дано натуральное число. Найти все его делители и их сумму.
14.данного натурального числа удалить все цифры А (А вводится с клавиатуры).
15.Найти количество делителей натурального числа. Сколько из них четных?
16.Найти все натуральные числа a, b, c из интервала от 1 до 20, для которых выполняется равенсто: a2 * b = c2
17.Произведение N первых нечетных чисел равно Р. Сколько сомножителей взято.
18.Даны натуральное N и последовательность A1, A2, …,A N, состоящая из N целых чисел. Получить последовательность, которая отличается от исходной тем, что все нечетные элементы удвоены. Оба массива вывести на экран.
19.Даны натуральное число N и последовательность A1, A2, …,A N. Определить количест-во вхождений N в данную последовательность (N – вводится с клавиатуры).
20.Даны натуральное число N и последовательность A1, A2, …,A N. Определить наимень-шее положительное среди A1, A2, …,A N и найти сумму отрицательных.
21.Дана последовательность из 50 чисел. Найти их среднее арифметическое. Найти сколько среди них отличных от последнего числа
22.Дана последовательность из n вещественных чисел. Вычислить сумму тех элементов последовательности, номера которых совпадают со значениями элементов последова-тельности.
23.Дана последовательность из n вещественных чисел. Все элементы последовательности с четными номерами, предшествующие первому по порядку элементу с наибольшим значением, домножить на него.
24.Дана последовательность из n вещественных чисел. Найти номер первого вхождения данного числа в последовательность или вывести сообщение, что такого числа нет.
25.Дана последовательность из n вещественных чисел. Найти номер последнего вхожде-ния данного числа в последовательность или вывести сообщение, что такого числа нет.
26.Дана последовательность из n действительных чисел. Получить числа b1,...,bn, где bi - среднее арифметическое всех элементов исходной последовательности, кроме i - того элемента.
27.Найти номер первого отрицательного элемента, делящегося на 5 с остатком 2.
28.Дана последовательность из n целых чисел. Заполнить ее с помощью генератора слу-чайных чисел. Найти: сумму положительных элементов, значения которых меньше 10; вывести индексы тех элементов, значения которых кратны 3 и 5.
29.Из элементов массива С сформировать массив А той же размерности по правилу: если номер четный, то Ai = Ci2, если нечетный, то Ai = 2Ci
30.Заменить последний положительный элемент массива А на второй элемент массива В. Вывести на экран оба массива.
31.Проверить является ли, введенное с клавиатуры число Х, меньше всех элементов мас-сива А.
32.Разделить все элементы с четными номерами на первый элемент, создав при этом но-вый массив. Вывести оба массива. Заполнение с помощью генератора случайных чи-сел.
33.Заменить элементы с нечетным номером на квадрат их номера. Вывести оба массива. Заполнение с помощью генератора случайных чисел.
34.Присвоить элементам массива В результат отношения суммы элементов массива А к соответствующим элементам массива А. Вывести оба массива. Заполнение с помощью генератора случайных чисел.
35.Заменить нулями элементы между минимальным и максимальным, кроме них самих.
36.Найти сумму элементов массива А, больших данного числа В (В вводить с клавиату-ры). Вывести массив А и сумму.
37.Поменять местами максимальный элемент массива и последний. При этом сформиро-вать новый массив. Вывести оба массива.
38.Вывести сумму номеров четных элементов, а так же сам исходный массив.
39.Найти сумму всех четных элементов массива, стоящих на четных местах. Вывести сумму и исходный массив.
Ivs
6.12.2002 16:27
Держи пока старую, что просил..........
Код
program For_Romario; uses crt; const n=10; var a:array[1..n] of integer; i,S,k:integer; begin ClrScr; S:=0; k:=0; writeln('====== Исходный массив ======'); for i:=1 to n do begin a[i]:=random(10)+1; write(' ',a[i]); S:=S+a[i]; {Суммируем элементы} end; for i:=1 to n-1 do if a[i]<>a[n] then k:=k+1; {Проверка на отличие от последнего} writeln; writeln('Среднее арифметическое: ',(S/n):0:2); writeln('Количество элементов отличных от последнего: ',k); readln; end.
Ivs
7.12.2002 1:00
Вместо рожиц следует читать "8 )"
{program N_1;
var
i1,i2,i3,A:integer;
begin
ClrScr;
write('Input A -> ');readln(A);
for i1:=1 to 9 do
for i2:=0 to 9 do
for i3:=0 to 9 do
if (i1<>i2) and (i1<>i3) and (i2<>i3) then
if (i1+i2+i3)=A then write(i1,i2,i3,' ');
readln;
end. }{program N_2;
var
i1,i2,i3,N:integer;
begin
write('Input N -> ');readln(N);
for i1:=1 to 9 do
for i2:=0 to 9 do
for i3:=0 to 9 do
if i1+i2+i3=N then write(i1,i2,i3,' ');
readln;
end.}{program N_3;
var
i,k,m
integer;
begin
for i:=10 to 99 do
begin
k:=i;
m:=k mod 10;
k:=k div 10;
if (m+k)+sqr(m+k)=i then write(i,' ');
end;
readln;
end.}{program N_4;
var
i,k:longint;
begin
for i:=100 to 999 do
if (sqr(i) mod 1000) =i then write(i,' ');
readln;
end. }{program N_5;
var
i:integer;
begin
for i:=1000 to 9999 do
if (i mod 133=125) and (i mod 134=111) then write(i,' ');
readln;
end.}{program N_6;
var
i,a,b,S:integer;
begin
write('Input A -> ');readln(a);
write('Input B -> ');readln(B);
S:=0;
for i:=a to b do
if i mod 4 =0 then S:=S+i;
write('Summa : ',S);
readln;
end.}{program N_7;
var
i:integer;
begin
for i:=21 to 99 do
if (i mod 3=0) and (i mod 10=2) or (i mod 10=4) or (i mod 10=8) then write(i,' ');
readln;
end.}{program N_8;
var
i:integer;
begin
for i:=100 to 999 do
if (i mod 100)*7=i then begin write(i,' ');break; end;
readln;
end. }{program N_9;
var
i1,i2,i3,k:integer;
begin
for i1:=1 to 9 do
for i2:=0 to 9 do
for i3:=0 to 9 do
begin
k:=i1*100+i2*10+i3;
if ((i1+i2+i3) mod 7=0) and (k mod 7=0) then write(i1,i2,i3,' ');
end;
readln;
end. }{program N_10;
var
i1,i2,i3,i4:integer;
begin
for i1:=1 to 9 do
for i2:=0 to 9 do
for i3:=0 to 9 do
for i4:=0 to 9 do
if (i1<>i2) and (i1<>i3) and (i1<>i4) and (i2<>i3) and (i2<>i4) and (i3<>i4) then write(i1,i2,i3,i4,' ');
readln;
end. }{program N_11;
var
i1,i2,q:integer;
begin
write('Input q -> ');readln(q);
for i1:=1 to 9 do
for i2:= 0 to 9 do
if ((i1*10+i2) mod q=0) and (i1+i2>0) and (i1+i2<18) then write(i1,i2,' ');
readln;
end.}{program N_12;
var
code:integer;
n,i:longint;
s:string;
begin
write('Input n -> ');readln(n);
str(n,s);
i:=1;
while i<=length(s) do
begin
if (s[i]='0') or (s[i]='5') then begin delete(s,i,1);i:=i-1; end;
i:=i+1;
end;
val(s,n,code);
write(n);
readln;
end.}{program N_13;
var
i,n,s:integer;
begin
write('Input n -> ');readln(n);
S:=0;
for i:=1 to n-1 do
if (n mod i=0) then begin write(i,' '); S:=S+i;end;
writeln;
write('Summa=',S);
readln;
end.}
Ivs
7.12.2002 1:01
Ну что поехали дальше.......
{program N_14;
var
i,A,code:integer;
n:longint;
nn,aa:string;
begin
write('Input n -> ');readln(n);
write('Input A -> ');readln(a);
i:=1;
str(n,nn);str(a,aa);
while i<=length(nn) do
begin
if nn[i]=aa then begin delete(nn,i,1);i:=i-1;end;
i:=i+1;
end;
val(nn,n,code);
writeln(n);
readln;
end. }{program N_15;
var
i,k,m,n:integer;
begin
write('Input n -> ');readln(n);
k:=0;m:=0;
for i:=1 to n-1 do
if n mod i=0 then
begin
k:=k+1;
if i mod 2 =0 then m:=m+1;
end;
writeln('Delit -> ',k);
writeln('Delit Chet -> ',m);
readln;
end.}{program N_16;
var
i,a,b,c:integer;
begin
for a:=1 to 9 do
for b:=0 to 9 do
for c:=0 to 9 do
if (a in [1..20]) and (b in [1..20]) and (c in [1..20]) then
if 2*a*b=2*c then writeln(a,' ',b,' ',c);
readln;
end. }{program N_18;
const n=10;
var
i:integer;
a:array[1..n] of integer;
begin
for i:=1 to n do begin a[i]:=random(9)+1;write(a[i],' '); end;
writeln;
for i:=1 to n do
begin
if a[i] mod 2<>0 then a[i]:=a[i]*2;
write(a[i],' ');
end;
readln;
end.}{program N_19;
var
i,n,k:integer;
a:array[1..100] of integer;
begin
write('Input n (n<=100) -> ');readln(n);
k:=0;
for i:=1 to n do
begin
write('-> ');
readln(a[i]);
if a[i]=n then k:=k+1;
end;
write(k);
readln;
end. }{program N_20;
const n=10;
var
i,min,S:integer;
a:array[1..n] of integer;
begin
S:=0;
for i:=1 to n do
begin
a[i]:=random(10)-5;
write(a[i],' ');
end;
min:=32767;
for i:=1 to n do
begin
if a[i]>0 then
if a[i]<min then min:=a[i];
if a[i]<0 then S:=S+a[i];
end;
writeln;
writeln('Min pol -> ',min);
writeln('Summ otriz -> ',S);
readln;
end.}{program N_21
uses crt;
const n=10;
var a:array[1..n] of integer;
i,S,k:integer;
begin
ClrScr;
S:=0; k:=0;
for i:=1 to n do
begin
a[i]:=random(10)+1;
write(' ',a[i]);
S:=S+a[i];
end;
for i:=1 to n-1 do
if a[i]<>a[n] then k:=k+1;
writeln;
writeln('Sred arifmet: ',(S/n):0:2);
writeln('Otl ot Poslednego: ',k);
readln;
end. }{program N_22;
const n=10;
var
i,k:integer;
a:array[1..n] of real;
begin
k:=0;
for i:=1 to n do
begin
write('-> ');
readln(a[i]);
end;
for i:=1 to n do
if a[i]=i then k:=k+1;
write('Otvet: ',k);
readln;
end. }{program N_23;
const n=10;
var
a:array[1..n] of real;
i,k:integer;
max:real;
begin
for i:=1 to n do
begin
a[i]:=random(9)+1;
write(a[i]:3 :1,' ');
end;
for i:=1 to n do
if a[i]>max then begin max:=a[i];k:=i; end;
for i:=1 to k-1 do
if i mod 2=0 then a[i]:=a[i]*max;
writeln;
for i:=1 to n do write(a[i]:3 :1,' ');
readln;
end.}{program N_24;
const n=10;
var
a:array[1..n] of real;
i,k:integer;
r:real;
begin
k:=0;
write('Input r -> ');readln( r );
for i:=1 to n do
begin
write('-> ');
readln(a[i]);
end;
for i:=1 to n do
if a[i]=r then begin k:=i;break; end;
if k=0 then writeln('Net!')
else writeln('N: ',k);
readln;
end. }{program N_25;
const n=10;
var
a:array[1..n] of real;
i,k:integer;
r:real;
begin
k:=0;
write('Input r -> ');readln( r );
for i:=1 to n do
begin
write('-> ');
readln(a[i]);
end;
for i:=n downto 1 do
if a[i]=r then begin k:=i;break;end;
if k=0 then writeln('Net!')
else writeln('N: ',k);
readln;
end.}{program N_26;
const n=10;
var
a:array[1..n] of integer;
b:array[1..n] of real;
i,S,Sa:integer;
begin
S:=0;
for i:=1 to n do
begin
a[i]:=random(9)+1;
write(a[i],' ');
S:=S+a[i];
end;
writeln;
for i:=1 to n do
begin
b[i]:=(S-a[i])/n-1;
write(b[i]:1 :1,' ');
end;
readln;
end. }{program N_27;
const n=10;
var
a:array[1..n] of integer;
i,k:integer;
begin
for i:=1 to n do
begin
write('-> ');
readln(a[i]);
end;
writeln;
for i:=1 to n do
if (a[i]<0) and (a[i] mod 5=2) then begin k:=i;break; end;
write(k);
readln;
end.}{program N_28;
const n=40;
var
a:array[1..n] of integer;
i,S:integer;
begin
S:=0;
randomize;
for i:=1 to n do
begin
a[i]:=random(100)-50;
write(a[i],' ');
if (a[i]>0) and (a[i]<10) then S:=S+a[i];
end;
writeln;
for i:=1 to n do
if (a[i] mod 3=0) and (a[i] mod 5=0) then write(i,' ');
writeln;
write('Sred arifmet -> ',(S/n):1 :1);
readln;
end.}
Ivs
7.12.2002 1:03
И еще чуть чуть........
{program N_29;
const n=10;
var
c,a:array[1..n] of integer;
i:integer;
begin
for i:=1 to n do
begin
c[i]:=random(9)+1;
write(c[i],' ');
end;
writeln;
for i:=1 to n do
begin
if i mod 2=0 then a[i]:=c[i] div 2 else a[i]:=2*c[i];
write(a[i],' ');
end;
readln;
end.}{program N_30;
const n=10;
var
a,b:array[1..n] of integer;
i:integer;
begin
writeln;
for i:=1 to n do
begin
a[i]:=random(9)-4;
write(a[i],' ');
end;
writeln;
for i:=1 to n do
begin
b[i]:=random(9)-4;
write(b[i],' ');
end;
writeln;
for i:=n downto 1 do
if a[i]>0 then begin a[i]:=b[2];break; end;
for i:=1 to n do write(a[i],' ');
readln;
end.}{program N_31;
const n=10;
var
a:array[1..n] of integer;
x,i,k:integer;
begin
k:=0;
for i:=1 to n do
begin
write('-> ');
readln(a[i]);
end;
writeln;
write('Input X -> ');readln(x);
for i:=1 to n do
if x<a[i] then k:=k+1;
if k=n then write('DA') else write('NET');
readln;
end.}{program N_32;
const n=10;
var
a:array[1..n] of integer;
i:integer;
begin
randomize;
for i:=1 to n do
begin
a[i]:=random(9)+1;
write(a[i],' ');
end;
writeln;
for i:=1 to n do
begin
if i mod 2=0 then a[i]:=a[i] div a[1];
write(a[i],' ');
end;
readln;
end.}{program N_33;
const n=10;
var
a:array[1..n] of integer;
i:integer;
begin
for i:=1 to n do
begin
a[i]:=random(9)+1;
write(a[i],' ');
end;
writeln;
for i:=1 to n do
begin
if i mod 2<>0 then a[i]:=sqr(i);
write(a[i],' ');
end;
readln;
end. }{program N_34;
const n=10;
var
a:array[1..n] of integer;
b:array[1..n] of real;
i,S:integer;
begin
for i:=1 to n do
begin
a[i]:=random(9)+1;
write(a[i],' ');
S:=S+a[i];
end;
writeln;
for i:=1 to n do
begin
b[i]:=S/a[i];
write(b[i]:1 :1,' ');
end;
readln;
end. }{program N_35;
const n=10;
var
a:array[1..n] of integer;
min,max,i,k,j:integer;
begin
randomize;
for i:=1 to n do
begin
a[i]:=random(9)+1;
write(a[i],' ');
end;
writeln;
min:=a[1];max:=a[1];
for i:=1 to n do
begin
if a[i]<min then begin min:=a[i];k:=i;end;
if a[i]>max then begin max:=a[i];j:=i;end;
end;
if k<j then for i:=k+1 to j-1 do a[i]:=0
else for i:=j+1 to k-1 do a[i]:=0;
for i:=1 to n do write(a[i],' ');
readln;
end.}{program N_36;
const n=10;
var
a:array[1..n] of integer;
b,i,S:integer;
begin
write('Input b -> ');readln(B);
for i:=1 to n do
begin
a[i]:=random(9)+1;
write(a[i],' ');
if a[i]>b then S:=S+a[i];
end;
writeln;
write('Sum: ',S);
readln;
end. }{program N_37;
const n=10;
var
a,b:array[1..n] of integer;
i,max,c,k:integer;
begin
for i:=1 to n do
begin
a[i]:=random(9)+1;
write(a[i],' ');
end;
writeln;
max:=a[1];
for i:=1 to n do
if a[i]>max then begin max:=a[i];k:=i; end;
c:=a[k];a[k]:=a[n];a[n]:=c;
for i:=1 to n do
begin
b[i]:=a[i];
write(b[i],' ');
end;
readln;
end. }{program N_38;
const n=10;
var
a:array[1..n] of integer;
i,S:integer;
begin
S:=0;
for i:=1 to n do
begin
a[i]:=random(20);
write(a[i],' ');
if (a[i] mod 2=0) and (a[i]<>0) then S:=S+i;
end;
writeln;
write('Summa: ',S);
readln;
end. }{program N_39;
const n=10;
var
a:array[1..n] of integer;
i,S:integer;
begin
S:=0;
for i:=1 to n do
begin
a[i]:=random(20);
write(a[i],' ');
if (a[i] mod 2=0) and (a[i]<>0) and (i mod 2=0) then S:=S+a[i];
end;
writeln;
write('Summa: ',S);
readln;
end. }
Romario
7.12.2002 3:25
Спасибо, Ivs, сейчс буду во всём этом раздупляться :o :D Вопросик ;D Номера задач, решённых, такие же как номера в условии? Что-то я не узнаю где какая :-/
Romario
7.12.2002 6:54
Всё, разобрался... Но возникли вопросы у меня к тебе Ivs, ты писал, тебе и отвечать ;D :D ;)
Вот вопросики: 1)что за оператор break, что он делает, для чего и т.д... 2) оператор IN ... тоже самое... 3)и объясни пожалуйста задачи 17, 19, 22. Подробно, если можно, ты там так намутил... начинающим не понять... Вобщем построчно
Ещё раз спасибо за решение всех задач!
Ivs
7.12.2002 13:16
Ответы: break - это оператор выхода из цикла до его завершения. есть еще такие полезные операторы как: continue- выполнение следующей итерации цикла еще до завершения выполнения этой halt- остановка выполнеия всей программы, независимо где он расположен exit - выход из подпрограммы или если он расположен в основной части то завершает работу всей проги.
in [...] - это принадлежность множеству чисел или символов расположеных в квадратных скобках. его, на самом деле можно заменить например if i in [1..20] на if (i>=1) and (i<=20); так что можешь там исправить если надо.
Кстати единственная задача которую я не решил это N_17, так как не могу понять условия.....
Цитата
program N_19; var i,n,k:integer; a:array[1..100] of integer; begin write('Input n (n<=100) -> ');readln(n); {Вводим N} k:=0;{В k счетчик кол-ва вхождений} for i:=1 to n do begin {Заполнение массива с клавиатуры} write('-> '); readln(a[i]); if a[i]=n then k:=k+1; {проверяем на вхождение N в исходную последовательность} end; write(k); {Выводим кол-во вхождений} readln; end.
program N_22; const n=10; var i,k:integer; a:array[1..n] of real; begin k:=0; for i:=1 to n do begin {Заполнение массива с клавиатуры} write('-> '); readln(a[i]); end; for i:=1 to n do if a[i]=i then k:=k+1; {Если элемент массива равен своему индексу то увеличить счетчик} write('Otvet: ',k); {В "k" кол-во совпадений} readln; end.
Ivs
7.12.2002 23:21
И еще, Romario, 12 задачу лучше наверное переписАть, а то я там строки использовал, вобщем, не очень удачно как-то:
Цитата
program N_12; var a,b,c,d:longint; begin readln(a); b:=0;d:=1; while a>0 do begin c:=a mod 10; if (c<>0) and (c<>5) then begin b:=b+c*d; d:=d*10; end; a:=a div 10; end; writeln(B); readln; end.
Romario
8.12.2002 6:18
Вот ещё одна лабораторная, уже последняя : пока ;D
!!!При решении задач применять процедуры и функции!!!
Дан массив целых чисел (п=25), заполненный случайным образом числами из промежутка (-35,75). 1.Удалить из него все элементы, первая цифра которых четная. 2.Вставить число К1 после всех элементов, больших заданного числа, а число К2 – перед всеми элементами, кратными 3 (К1, К2 вводить с клавиатуры). 3.Перенести первые К элементов в конец, то есть: а[k+1], а[k+2], …, а[n], а[1], а[2], 4. …, а[k].
Ivs
11.12.2002 17:08
N_1:
Цитата
program N_1; uses crt; var i,n,j:integer; a:array[1..25] of integer;
function chet(m:integer):boolean; var ni:integer; begin while m<>0 do begin ni:=m mod 10; m:=m div 10; end; if ni mod 2=0 then chet:=true else chet:=false; end;
begin ClrScr; randomize; n:=25; for i:=1 to n do begin a[i]:=random(100)-35; write(a[i],' '); end; i:=1; while i<=n do begin if chet(a[i]) then begin for j:=i to n-1 do a[j]:=a[j+1]; n:=n-1; i:=i-1; end; i:=i+1; end; writeln; writeln; for i:=1 to n do write(a[i],' '); readln; end.
Программа написана с помощью функции, так что если что то можно переделать.... И еще во втором задании напонятно что там вводится что выводится, вводится ли заданное число или с потолка берется так что -- уточни.
Ivs
11.12.2002 19:38
N_3
Цитата
program N_3; uses crt; const n=25; var p,i,j,k:integer; a:array[1..n] of integer; begin ClrScr; Randomize; for i:=1 to n do begin a[i]:=random(110)-35; write(a[i],' '); end; writeln; write('Input k -> ');readln(k); for i:=1 to k do begin p:=a[1]; for j:=1 to n do a[j]:=a[j+1]; a[n]:=p; end; writeln; for i:=1 to n do write(a[i],' '); readln; end.
[shadow=red,left,300]Romario[/shadow], а в четвертом у тебя конечно оригинальные условия................................... ??? :o :-/
Romario
12.12.2002 4:32
Ivs, ты не понял это всё должна быть одна программа! 1- 1я функция, 2- 2я функия, и т.д . Это всё одна программа!
Tatjanka
28.11.2004 14:37
Помогите пожалуйста решить мне задачку. За ранее вам всем благодарна.
Мне нужно найти 15 первых чисел, которые делятся на 3.
Altair
28.11.2004 14:41
а новую темку создать нельзя было? Эх а какую тему вспомнили ..... Старые добрые времена, еще форум старый был....
Tatjanka а условие-то не полное, приведите примервходных\выходных данных
volvo
28.11.2004 14:42
Tatjanka Зачем же поднимать такие старые темы? Можно было создать новую...
Код
var i: integer; begin for i := 1 to 15 do write( i*3:5 ); writeln end.
Altair
28.11.2004 14:44
volvo, неужели так?
я думал, что дына последовательность чисел, найти среди них делящиеся на 3. А то слишком просто что-то... уже ведь сессия скоро ... кто такие задачи решает в это время года?
Tatjanka
28.11.2004 14:49
Oi spasibo vam ogromnoe sei4as poprobuju eto v programme napisat
Tatjanka
28.11.2004 14:54
Vse polu4ilos!!!!!!!!! volvo spasibo. Vse tak prosto a ja probovala 4erez for i mod
Tatjanka
28.11.2004 15:00
Eshe u menja ostalas odna zada4ka s massivom. Esli ja vas ne o4en obremenjaju, to pomogite plz.
dan A(10) i B(10) 4islovoi massiv. Naiti novie elementi massiva C(10) , esli (A1+B10,A2+B9....A10+B1)
volvo
28.11.2004 15:03
Tatjanka
Код
var i: integer; a, b, c: array[1 .. 10] of integer; begin { здесь ввод массивов A и B } ...
{ вычисление массива C } for i := 1 to 10 do c[i] := a[i] + b[11 - i]; end.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.