Модераторы: Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [Pascal] Задачи на вычисление 
:(
    Опции темы
Koschei
Дата 10.11.2006, 19:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 32
Регистрация: 22.9.2006

Репутация: нет
Всего: нет



Помогите решить задачи на Паскале,хоть несколько!Осталось решить всего 9 задач!!
примерное решение 9,10,11 выложу,помогите их оптимизировать чтолиsmile,а то как то коряво все получилось




Это сообщение отредактировал(а) Koschei - 24.11.2006, 18:25

Присоединённый файл ( Кол-во скачиваний: 3 )
Присоединённый файл  ________________________1________.doc 36,00 Kb
PM MAIL   Вверх
Alexeis
Дата 10.11.2006, 21:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 23
Всего: 459




M
alexeis1
Модератор: Название темы должно отражать ее суть!



--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Koschei
Дата 10.11.2006, 21:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 32
Регистрация: 22.9.2006

Репутация: нет
Всего: нет



так как ее по другому то назвать?теперь я ничего исправить не могу..
PM MAIL   Вверх
mr.Anderson
Дата 10.11.2006, 21:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


iOS Lead Developer
****


Профиль
Группа: Участник Клуба
Сообщений: 3374
Регистрация: 20.12.2004
Где: далеко

Репутация: 16
Всего: 128



Могу нарисовать код на первые две...

Первая ( про функции )
Код

Program Number1;
Uses CRT;
Var x,y: Integer;
Begin

 ClrScr;

 Write( "Enter X: " );
  ReadLn( x );

 If( x < 0 ) Then
  y := Sqr( x ) + 7
 Else If( x = 0 ) Then
  y := 0
 Else
  y := Sqr( x ) * x + 9;

 Write( "F(x) = ", y );

 Write( #13#10 + #13#10 + "Press any key..." );
 Repeat
 Until KeyPressed;

End.

Вторая
Код

Program Number2;
Uses CRT;
Var m,n,i,j: Integer;
Begin

 ClrScr;

 Write( "Enter M and N: " );
  ReadLn( m,n );

 If( m > n ) Then 
 Begin
  i := n;
  j := m;
 End
 Else
 Begin
  i := m;
  j := n;
 End;

 For( i := i; i < j; i++ )
  If( i mod 2 = 0 ) Then
   Write( i, " " );

 Write( #13#10 + #13#10 + "Press any key..." );
 Repeat
 Until KeyPressed;

End.

Код не проверял, посему не ручаюсь за правильность хотя наврать не должен был.
А чего ты, друг, так поздно спохватился? smile 

Остальные задачки решать не стал. Если сегодня еще будет время, то сделаю еще пару.


--------------------
user posted image

user posted image
PM MAIL ICQ Skype   Вверх
Alexeis
Дата 10.11.2006, 22:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 23
Всего: 459



Цитата(Koschei @  10.11.2006,  21:30 Найти цитируемый пост)
так как ее по другому то назвать?

Если размещать их по одной, то назвать будет несложно.
А если внимательно прочитать правила?
Цитата

Если ты ошибся при вводе названия темы, то просто отправь письмо любому из модераторов раздела (через PM или оставь report). Мы обязательно его исправим.



--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Koschei
Дата 11.11.2006, 07:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 32
Регистрация: 22.9.2006

Репутация: нет
Всего: нет



sim7, 
спасибо задачи работают!
Цитата(sim7 @  10.11.2006,  21:44 Найти цитируемый пост)
А чего ты, друг, так поздно спохватился? smile

Привычка змеелова тянуть до последнего smile 
PM MAIL   Вверх
Koschei
Дата 30.11.2006, 20:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 32
Регистрация: 22.9.2006

Репутация: нет
Всего: нет



вот решение 9,10,11 задачи!помогите расписать чего в каждом шаге происходит;)как говорится как можно более подробно.
9.
Код

program pr9;
const n=5;
var a:array[1..n] of integer;
    i,j:integer;
procedure search;
          begin
          if a[i]>a[1] then begin
                           a[1]:=a[i];
                           j:=i;
          end;
          end;
begin
     for i:=1 to n do begin
         write('Vvedite ',i,'-iy element');
         readln(a[i]);
     end;
     for i:=2 to n do search;
     writeln('Maksimalniy element c nomerom ',j,' = ',a[1]);
end.

10.
Код

program pr10;
uses crt;
const n=10;
var sw,i,j:integer;
    a:array[1..n,1..n] of integer;
procedure swap;
begin
     sw:=a[i,j];
     a[i,j]:=a[j,i];
     a[j,i]:=sw;
end;
begin
clrscr;
randomize;
writeln;
for i:=1 to n do begin
    for j:=1 to n do begin
        a[i,j]:=random(9);
        write(a[i,j],'');
    end;
    writeln;
end;
writeln;
for i:=2 to n do begin
    for j:=1 to i-1 do begin
        swap;
    end;
end;
for i:=1 to n do begin
    for j:=1 to n do write(a[i,j]);
    writeln;
    end;
end.

11.
Код

program pr11;
uses crt;
const n=5;
var i,j,u:integer;
    a,b,c:array[1..n,1..n] of real;
function calcA:real;
begin
     calcA:=(i-j)/(i+j);
end;
function calcB:real;
begin
     calcB:=i*j/(2*i+j);
end;
begin
clrscr;
for i:= 1 to n do begin
    for j:=1 to n do begin
        a[i,j]:=calcA;
        b[i,j]:=calcB;
        write(a[i,j]:6:2);
    end;
    writeln;
    writeln;
end;
writeln;
writeln;
for i:= 1 to n do begin
    for j:=1 to n do begin
        write(b[i,j]:6:2);
    end;
    writeln;
    writeln;
end;
writeln;
writeln;
for i:=1 to n do begin
    for j:=1 to n do begin
        for u:=1 to n do c[i,j]:=c[i,j]+a[i,u]*b[u,j];
        write(c[i,j]:6:2);
    end;
    writeln;
    writeln;
end;
end.


также помогите дорешать оставшиеся задачи,буду признателе и благодарен.


M
alexeis1
Модератор: не забывайте выделять код!


Это сообщение отредактировал(а) alexeis1 - 1.12.2006, 14:17
PM MAIL   Вверх
mr.Anderson
Дата 30.11.2006, 21:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


iOS Lead Developer
****


Профиль
Группа: Участник Клуба
Сообщений: 3374
Регистрация: 20.12.2004
Где: далеко

Репутация: 16
Всего: 128



В смысле расставить комментарии по коду, что ль? Пожалуйста, вот для 9 задачи.
Код

program pr9; {название программы}
const n=5; {объявление целочисленной константы}
var a:array[1..n] of integer; {объявление массива из 5 элементов целого типа}
    i,j:integer; {две переменные целого типа}
procedure search; {начало процедуры SEARCH}
          begin
          if a[i]>a[1] then begin {если текущий элемент больше первого}
                           a[1]:=a[i]; {первому элементу присвоить текущий элемент}
                           j:=i; {запомнить номер текущего элемента в переменной}
          end;
          end;
begin
     for i:=1 to n do begin {цикл от 1 до 5 по массиву}
         write('Vvedite ',i,'-iy element'); {выводим приглашение}
         readln(a[i]); {вводим в массив текущий элемент}
     end;
     for i:=2 to n do search; {цикл с 2 до 5 по массиву. В цикле работает SEARCH.}
     writeln('Maksimalniy element c nomerom ',j,' = ',a[1]); {выводим макс. элемент и его номер}
end.

Только этот же код можно проще написать. Без процедур, Или надо обязательно с ними?

Добавлено @ 21:07 
Для задачи 10:
Код

program pr10; {название программы}
uses crt; {подключение модуля CRT}
const n=10; {объявление целочисленной константы}
var sw,i,j:integer; {три переменных целого типа}
    a:array[1..n,1..n] of integer; {двумерный массив 10х10}
procedure swap; {процедура, меняющая элементы массива местами}
begin
     sw:=a[i,j]; {получаем текущий элемент}
     a[i,j]:=a[j,i]; {текущему элементу присваиваем следующий}
     a[j,i]:=sw; {следующему присваиваем текущий}
end;
begin
clrscr; {очищаем экран}
randomize; {устанавливаем датчик случайных чисел}
writeln; {выводим пустую строку}
for i:=1 to n do begin {цикл по столбцам массива}
    for j:=1 to n do begin {цикл по строкам массива}
        a[i,j]:=random(9); {в текущий элемент вводим случайное число от 0 до 9}
        write(a[i,j],''); {выводим текущий элемент}
    end;
    writeln; {выводим пустую строку}
end;
writeln; {еще пустая строка}
for i:=2 to n do begin {цикл по столбцам от 2}
    for j:=1 to i-1 do begin {цикл от 1 до i-1}
        swap; {меняем элементы местами}
    end;
end;
for i:=1 to n do begin {цикл по массиву для вывода элементов}
    for j:=1 to n do write(a[i,j]);
    writeln;
    end;
end.


Добавлено @ 21:15 
B для задачи 11:
Код

program pr11; {название}
uses crt; {подключение модуля CRT}
const n=5; {целочисленная константа}
var i,j,u:integer; {три переменные целого типа}
    a,b,c:array[1..n,1..n] of real; {три двумерных массива типа Real, т.е. с числами с плавающей точкой}
function calcA:real; {функция, возвращающая результат типа Real}
begin
     calcA:=(i-j)/(i+j); {возвращаем частное от разности и суммы элементов массива}
end;
function calcB:real; {функция типа Real}
begin
     calcB:=i*j/(2*i+j); {возвращаем произведение I на частное J от суммы 2I и J}
end;
begin
clrscr; {очистка экрана}
for i:= 1 to n do begin {пробегаемся по массивам A и B}
    for j:=1 to n do begin
        a[i,j]:=calcA; {применяем функции}
        b[i,j]:=calcB;
        write(a[i,j]:6:2); {форматированно выводим текущий элемент}
    end;
    writeln; {пара пустых строк}
    writeln;
end;
writeln; {то же самое}
writeln;
for i:= 1 to n do begin {пробег по массиву B}
    for j:=1 to n do begin
        write(b[i,j]:6:2); {вывод текущего элемента (странно, зачем снова?)}
    end;
    writeln; {пара пустых строк}
    writeln;
end;
writeln; {то же самое}
writeln;
for i:=1 to n do begin {пробег по массиву C}
    for j:=1 to n do begin
        for u:=1 to n do c[i,j]:=c[i,j]+a[i,u]*b[u,j]; {вложенный цикл, оперирующий с элементами массива}
        write(c[i,j]:6:2); {вывод текущего элемента}
    end;
    writeln; {пара пустых строк}
    writeln;
end;
end.



--------------------
user posted image

user posted image
PM MAIL ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Центр помощи"

ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Несоблюдение правил может повлечь за собой самые строгие меры от закрытия/удаления темы до бана пользователя!


  • Название темы должно отражать её суть! (Не следует добавлять туда слова "помогите", "срочно" и т.п.)
  • При создании темы, первым делом в квадратных скобках укажите область, из которой исходит вопрос (язык, дисциплина, диплом). Пример: [C++].
  • В названии темы не нужно указывать происхождение задачи (например "школьная задача", "задача из учебника" и т.п.), не нужно указывать ее сложность ("простая задача", "легкий вопрос" и т.п.). Все это можно писать в тексте самой задачи.
  • Если Вы ошиблись при вводе названия темы, отправьте письмо любому из модераторов раздела (через личные сообщения или report).
  • Для подсветки кода пользуйтесь тегами [code][/code] (выделяйте код и нажимаете на кнопку "Код"). Не забывайте выбирать при этом соответствующий язык.
  • Помните: один топик - один вопрос!
  • В данном разделе запрещено поднимать темы, т.е. при отсутствии ответов на Ваш вопрос добавлять новые ответы к теме, тем самым поднимая тему на верх списка.
  • Если вы хотите, чтобы вашу проблему решили при помощи определенного алгоритма, то не забудьте описать его!
  • Если вопрос решён, то воспользуйтесь ссылкой "Пометить как решённый", которая находится под кнопками создания темы или специальным флажком при ответе.

Более подробно с правилами данного раздела Вы можете ознакомится в этой теме.

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Центр помощи | Следующая тема »


 




[ Время генерации скрипта: 0.0515 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.