Задачи по Абрамову (Паскаль)

Ответить
Andrux
Сообщения: 7
Зарегистрирован: 01 ноя 2008, 18:49

Доброго времени суток, Уважаемые программисты!
Прошу вас решить такие вот задачки, из задачника
С.А Абрамова(Задачи по программированию Гречникова Е.А)
если можно, то с блок схемой. На языке Паскаля.
Номера:
задачи на простейшие циклы ----- 81 ; 83-a ; 117-б
пошаговый ввод данных и вывод результатов ----- 136-в
сочетания цикла и разветвления ----- 179-в
вычисления с хранением последовательности значений ----- 271
вложенные циклы в матричных задачах ----- 367

Вот такие вот задачи...
Очень срочно нужно, пожалуйста решите мне...

http://www.photoshare.ru/photo2399087.html
ПАРОЛЬ к альбому: 555

Искреннее признателен и благодарен вам!
Andrux
Сообщения: 7
Зарегистрирован: 01 ноя 2008, 18:49

Я буду сам их решать(писать) тогда, только от вас я прошу помочь мне в решении и объяснить почему там так, как вы написали.
Я хочу это сам все понять!
Заранее благодарю!


Вот например задача № 81.

Изображение

Вот что я написал, но какая-то проблема со скобками, просьба помочь...

Код: Выделить всё

program zad81;
uses crt;
var p:longint;
n,i,x,a:integer;
            begin
            clrscr;
            writeln('Vvedite znachenie n');
            readln(n);
            p:=((n((sqr(x+a)+sqr(a))+sqr(a))+a;
            for i:=1 to n do p:=p*i;
            writeln('P=',p:10);
            readln;
            end.


Вот еще одна задачка...
Тоже что получилось... дальше не получается :(

Изображение

Код: Выделить всё

program andzad83a;
uses crt;
var a,p:integer;
s:longint;
          begin
          clrscr;
          writeln('Vvedite a');
          readln(a);
          s:=1;
          p:=1;
          while p<=a do
                begin
                for s:=1 to a do
                for s:=1+(1/2) to a do
                for s:=1+(1/2)+(1/3) to a do
                p:=p+1;
          end;
                writeln('S=' , s:8);
                readln;
end.
Andrux
Сообщения: 7
Зарегистрирован: 01 ноя 2008, 18:49

вот 117 почти получилась но в самом примере чтото не правильно написал.
Проверьте пожалуйста и напишите как правильно будет...

Изображение

Код: Выделить всё

program anzad117;
uses crt;
var p:real;
n,i:integer;
    begin
    clrscr;
    writeln('Vvedite znachenie n');
    readln(n);
    p:=1;
    for i:=1 to n do
    p:=p*((2*i-1)/i);
    writeln('P= ' , p:6:2);
    readln;
    end.
Хыиуду
Сообщения: 2442
Зарегистрирован: 06 мар 2005, 21:03
Откуда: Москва
Контактная информация:

81. То, что вы написали -
p:=((n((sqr(x+a)+sqr(a))+sqr(a))+a;
for i:=1 to n do p:=p*i;
- это бредятина полная
p:=x+a;
for i:=1 to n do p:=p*p+a;
83. У вас тоже написана ерунда

Код: Выделить всё

p:=0;
i:=1;
while p<a do
begin
  p:=p+1/i;
  inc(i);
end;
117 на первый взгляд верный
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Andrux
Сообщения: 7
Зарегистрирован: 01 ноя 2008, 18:49

Большое Спасибо!
Andrux
Сообщения: 7
Зарегистрирован: 01 ноя 2008, 18:49

или 81 так?

Код: Выделить всё

program andzad81;
uses crt;
var p,a:real;
n,i:integer;
            begin
            clrscr;
            writeln('Vvedite znachenie n');
            readln(n);
            writeln('Vvedite znachenie a');
            readln(a);
            p:=0;
            for i:=1 to n do
            p:=sqr(p+a);
            writeln('P=',p:6:2);
            readln;
            end.
Там ведь из под корня...

а 83 так?

Код: Выделить всё

program andzad83a;
uses crt;
var a,p:integer;
s:real;
          begin
          clrscr;
          writeln('Vvedite a');
          readln(a);
          s:=1;
          p:=1;
          while s<=a do
                s:=s+1/p;
                p:=p+1;
                writeln('S=' , s:6:2);
                readln;
end.
или так как вы написали?
Andrux
Сообщения: 7
Зарегистрирован: 01 ноя 2008, 18:49

Вот почти уже конец задачек...
Помогите пожалуйста.

Чета... я на 179в вообще встал.
Что смог? то написал, дальше уже не знаю что...
Напишите ее и объясните пожалуйста! как вы ее сделал, что использовали.

Изображение

Код: Выделить всё

program anzad179v;
uses crt
var n,a1,an:real;
procedure(qi:real;var q1,qn:real);
          begin
          clrscr;
          qi:=
end.



Еще вот 367 задачка, эт на массивы, чет не понимаю дальше как...
Помогите пожалуйста... кто знает, как решить.


Изображение

Код: Выделить всё

program anzad367;
uses crt;
var
  A:Array [1..3] Of Integer;
  B:Array [1..3, 1..3] Of Integer;
  I,J:Integer;
  begin
  clrscr;
  writeln;
  for I:=1 to 3 do
  for J:=1 to 3 do
      B[I,J]:=A[I]-3*A[J];
      writeln;
readln;
end.
Теперь, что нужно дописать, чтобы программа считала по условию?...
Andrux
Сообщения: 7
Зарегистрирован: 01 ноя 2008, 18:49

2 Задачи решены правильно, но не видно решения.
Пожалуйста, Подскажите где подправить чтоб было все видно и шел расчет?!

Код: Выделить всё

program anzad271;
uses crt;
var i: integer;
     at: real;
     a: array[1..15] of real;
     sum: real;
begin
clrscr;
for i := 1 to 15 do
  begin
  read(a[i]);
  at := at + a[i];
  end;
  at := at / 15;
  sum := 0;
  for i := 1 to 15 do
  sum := sum + sqr(a[i] - at);
  sum := sum / 14;
  sum := sqrt(sum);
  writeln(at:6:2,' ',sum:6:2);
readln;
end.
Изображение

Код: Выделить всё

program anzad179v;
uses crt;
var n,qi,i,xx:integer;
    begin
    clrscr;
    writeln('Vvedite chemu ravno n');
    read(n);
    for i:=1 to n do
        begin
        read(qi);
        xx:=5-3*qi;
        if qi*qi=xx then
        write(qi,' ' );
        end;
        readln;
end.
Заранее благодарю!
Хыиуду
Сообщения: 2442
Зарегистрирован: 06 мар 2005, 21:03
Откуда: Москва
Контактная информация:

>> или 81 так?
for i:=1 to n do
p:=sqr(p+a);
Если делать так, в конце у вас никогда не получится +а. Будет а в квадрате.

>> а 83 так? или так как вы написали?
Два кода абсолютно идентичны, только имена переменных другие.

179 - непонятно условие. Что значит "обладают тем свойством, что корни уравнения такого-то"? Может быть просто являются корнями уравнения? Тем более это не уравнение, это выражение. Если надо найти корни выражения, надо четко задать либо х, либо Qi

367 - все сделано точно по заданию. Нигде же не сказано "Вывести эту матрицу на экран" :) Впрочем, ничто не мешает в цикле по i и j вывести b[i,j]

271 - непонятно условие.
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Ответить