Помощь - Поиск - Пользователи - Календарь
Полная версия: Задачи от Romario
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Clane
Дано равносторонний треугольник со стороной 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
Цитата
Найти среднее арифметическое всех целых положительных чисел меньше числа 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:=1 to i do
begin
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 of
1: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:=1 to (a div B) do
begin
e:=e-b;
end;
writeln('Остаток',e:5);
end.
Ivs
AlaRic, а не прощи ли так:
while a>=b do a:=a-b;
усе в "a" остаток от деления a на b...... ;)
AlaRic
Цитата
AlaRic, а не прощи ли так:
while a>=b do a:=a-b;
усе в "a" остаток от деления a на b......  

Полностью согласен чув smile.gif
Alex
Цитата
Написать программу нахождения суммы чисел:
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
Цитата
Написать программу для определения квартала года по порядковому номеру месяца.


Одной строкой:
Код
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
Найти среднее арифметическое всех целых положительных чисел меньше числа 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
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
Прикольно, а я и не знал, что тут ещё одна моя тема есть smile.gif Ладно, оставляю тут задачку может тут кто-то решит...

Даны натуральное число N и последовательность A1, A2, …,A N, AN+1. Определить наибольшее из нечетных и количество четных чисел, входящих в последовательность A1, A2, …,A N, AN+1.

И ещё одна задачка, в которой я условие не догоняю, обясните:

Дана последовательность из 50 чисел. Найти их среднее арифметическое. Найти сколько среди них отличных от последнего числа.

Найти сколько среди них отличных от последнего числа. ЧТо енто значит?
ClaneOffline
Цитата
Прикольно, а я и не знал, что тут ещё одна моя тема есть smile.gif Ладно, оставляю тут задачку может тут кто-то решит...

Даны натуральное число N и последовательность A1, A2, …,A N, AN+1. Определить наибольшее из нечетных и количество четных чисел, входящих в последовательность A1, A2, …,A N, AN+1.

И ещё одна задачка, в которой я условие не догоняю, обясните:

Дана последовательность из 50 чисел. Найти их среднее арифметическое. Найти сколько среди них отличных от последнего числа.

Найти сколько среди них отличных от последнего числа. ЧТо енто значит?

Код
program forty_seven;
uses crt;
var
mas:Array [1..50] of Integer;
count,i:Byte;
begin
clrscr;
Randomize;
Writeln('Њ ббЁў:');
writeln;
for i:=1 to 50 do
begin
mas[i]:=Random(30);
if mas[i]<10 then
write(mas[i],'  ') else write(mas[i],' ');
if i mod 10 = 0 then writeln;
end;
for i:=1 to 49 do
if mas[i] <> mas[50] then Inc(count);
writeln;
writeln('Џ®б«Ґ¤­Ё© н«Ґ¬Ґ­в ¬ ббЁў : ',mas[50]);
write('—Ёб«® н«Ґ¬Ґ­в®ў ў ¤ ­­®¬ ¬ ббЁўҐ ®в«Ёз­ле ®в Ї®б«Ґ¤­ҐЈ® н«Ґ¬Ґ­в : ',count);
readln;
end.

Решение задачи про последовательность.....
Dogmatic
Цитата
И ещё одна задачка, в которой я условие не догоняю, обясните:

Дана последовательность из 50 чисел. Найти их среднее арифметическое. Найти сколько среди них отличных от последнего числа.


Наверное имеются в виду отличные от среднего арифметического.
Romario
Clane, спасибо огромное! ;)
Ivs
Цитата
Наверное имеются в виду отличные от среднего арифметического

Нет. На самом деле задача разбивается на 2
1) Найдем сумму всех элементов и разделим на их кол-во
2) для i от 1 до n-1 шаг 1
   нач
       если a[i]<>a[n] то k:=k+1;
   кнц
   вывести ('Отличных от последнего ',k);
 
З.Ы: Romario а ты случайно задачи береш не из учебника "Информатика 6 кл"  ;)
Romario
Ivs, неа это лабораторные работы мне в универе задают, хочу в них раздуплиться. Это может препод мой оттудова их черпает ;D

Добавлено (5.12.02 22:31):
Ivs, напиши всю задачу, что-то не могу я раздуплиться... sad.gif
Romario
Вот ещё задачи, которые срочно нужно решить:

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
Держи пока старую, что просил..........
Код

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
Вместо рожиц следует читать "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
Ну что поехали дальше.......
{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
И еще чуть чуть........
{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
Спасибо, Ivs, сейчс буду во всём этом раздупляться :o :D Вопросик ;D Номера задач, решённых, такие же как номера в условии? Что-то я не узнаю где какая :-/
Romario
Всё, разобрался...
Но возникли вопросы у меня к тебе Ivs, ты писал, тебе и отвечать  ;D :D ;)

Вот вопросики:
1)что за оператор break, что он делает, для чего и т.д...
2) оператор IN ... тоже самое...
3)и объясни пожалуйста задачи 17, 19, 22. Подробно, если можно, ты там так намутил... начинающим не понять... Вобщем построчно smile.gif

Ещё раз спасибо за решение всех задач! smile.gif
Ivs
Ответы:
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
И еще, 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
Вот ещё одна лабораторная, уже последняя :smile.gif пока  ;D

!!!При решении задач применять  процедуры и функции!!!

Дан массив целых чисел (п=25), заполненный случайным образом числами из промежутка (-35,75).
1.Удалить из него все элементы, первая цифра которых четная.
2.Вставить число К1 после всех элементов, больших заданного числа, а число К2 – перед всеми элементами, кратными 3 (К1, К2  вводить с клавиатуры).
3.Перенести первые К элементов в конец, то есть: а[k+1],  а[k+2], …, а[n],  а[1],  а[2],    
4.  …,  а[k].
Ivs
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
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
Ivs, ты не понял это всё должна быть одна программа! 1- 1я функция, 2- 2я функия, и т.д . Это всё одна программа!
Tatjanka
Помогите пожалуйста решить мне задачку. За ранее вам всем благодарна.

Мне нужно найти 15 первых чисел, которые делятся на 3.
Altair
а новую темку создать нельзя было? Эх а какую тему вспомнили ..... sad.gif sad.gif
Старые добрые времена, еще форум старый был....

Tatjanka а условие-то не полное, приведите примервходных\выходных данных
volvo
Tatjanka
Зачем же поднимать такие старые темы? Можно было создать новую...
Код

var i: integer;
begin
 for i := 1 to 15 do
   write( i*3:5 );
 writeln
end.
Altair
volvo, неужели так?

я думал, что дына последовательность чисел, найти среди них делящиеся на 3.
А то слишком просто что-то... уже ведь сессия скоро ... кто такие задачи решает в это время года?
Tatjanka
Oi spasibo vam ogromnoe sei4as poprobuju eto v programme napisat
Tatjanka
Vse polu4ilos!!!!!!!!!
volvo spasibo.
Vse tak prosto a ja probovala 4erez for i mod
Tatjanka
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
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.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.