Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.12.2007, 15:01   #1
мандаринка
 
Регистрация: 16.12.2007
Сообщений: 4
Вопрос Найти сумму положительных нечетных чисел меньше 50

Срочно к сегодняшнему вечеру 17 декабря нужно решить 2 задачки.
1. Найти сумму положительных нечетных чисел меньше 50.
2. Даны натуральные числа x и y. Вычислить их произведение, пользуясь только операциями сложения и вычитания. Решить 2 способами.
Пожалуйста, помогите!! Я знаю, вы всесильны. Нужно это все на Паскале. Буду бесконечно благодарна, ибо вы спасете мне жизнь.
мандаринка вне форума Ответить с цитированием
Старый 17.12.2007, 15:14   #2
begemotikdin
Пользователь
 
Аватар для begemotikdin
 
Регистрация: 17.12.2007
Сообщений: 36
По умолчанию

приветик, надеюсь тебе это поможет!!!
ответ на 1-ю задачу!!!
Код:
uses crt;
var
  summa,i:integer;
begin
  summa:=0;
  i:=0;
  while i<50 do
  begin
    if i mod 2 <>0 then 
    begin
      summa:=summa+i;
    end;
  inc(i);
end;
writeln('summa=',summa);
readln;
end.

Последний раз редактировалось Alex21; 17.12.2007 в 15:18. Причина: Оформляем код с использованием тегов - кнопка #code
begemotikdin вне форума Ответить с цитированием
Старый 17.12.2007, 15:15   #3
begemotikdin
Пользователь
 
Аватар для begemotikdin
 
Регистрация: 17.12.2007
Сообщений: 36
По умолчанию

вторая задача подобие 1-й
так что не перживай успехов тебе
begemotikdin вне форума Ответить с цитированием
Старый 17.12.2007, 15:29   #4
begemotikdin
Пользователь
 
Аватар для begemotikdin
 
Регистрация: 17.12.2007
Сообщений: 36
Радость привет

вторая задача
надеюсь поможет
Код:
var
x,y,proiz:integer;
begin
write('x=');
readln(x);
write('y=');
readln(y);
proiz:=x;
i:=x;
while i<=y do
begin
proiz:=proiz+i;
end;
i:=i+x;
**********что то подобное на компиляторе не проверял*****
вот надеюсь поможет

begemotikdin, для оформления кода используйте теги code или кнопку # code

Последний раз редактировалось Alex21; 17.12.2007 в 16:06.
begemotikdin вне форума Ответить с цитированием
Старый 17.12.2007, 15:50   #5
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Вторая задача. Два варианта.
Код:
program proizv1;
uses crt;
var a,b,c,k:integer;
begin
clrscr;
write('a=');readln(a);
write('b=');readln(b);
k:=0;c:=0;
while k<>b do begin
k:=k+1;
c:=c+a;
end;
write('proizv=',c);
readln
end.

program proizv2;
uses crt;
var a,b,c,k:integer;
begin
clrscr;
write('a=');readln(a);
write('b=');readln(b);
c:=0;
for k:=1 to b do
c:=c+a;
write('proizv=',c);
readln
end.
puporev вне форума Ответить с цитированием
Старый 22.12.2007, 17:45   #6
мандаринка
 
Регистрация: 16.12.2007
Сообщений: 4
Хорошо С благодарностью

Спасибо вам! Прекланяюсь перед вашим талантом!
Вы меня спасли - благодаря этим задачам я по информатике сразу три пятерки получила)))))
Вы герои!

Последний раз редактировалось мандаринка; 22.12.2007 в 17:46. Причина: отправилось больше, чем нужно
мандаринка вне форума Ответить с цитированием
Старый 22.12.2007, 17:54   #7
мандаринка
 
Регистрация: 16.12.2007
Сообщений: 4
По умолчанию

Хотя мне для полной пятерки в полугодии надо еще одну задачку решить. Вот условие: Натуральное число называется совершенным, если оно равно сумме своих делителей включая 1 и исключая само это число. Найти все совершенные числа до 100000.
Я тут начала, но все мои дальнейшие попытки Паскаль пресекает. Постоянно ошибки, так что подскажите, пожалуйста, правильно ли это вообще и как продолжить?
var x, y, s: integer;
begin
read (x);
for x:= 1 to 100000 do;

дальше не знаю. Кстати, когда я пишу сто тысяч - он пишет, что constant out of range. Когда исправляю на десять тысяч - работает. Вот.
мандаринка вне форума Ответить с цитированием
Старый 22.12.2007, 20:05   #8
Alex21
With best regards
Участник клуба
 
Регистрация: 20.04.2007
Сообщений: 1,448
По умолчанию

Вместо integer используйте longint
Alex21 вне форума Ответить с цитированием
Старый 22.12.2007, 21:45   #9
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Вообще-то искать совершенное число до i=100000 дурное занятие, т.к. первые четыре таких числа меньше 10000, а пятое число= 33 550 336. В результате программа выдает сразу первые три числа, через пару секунд четвертое число, а потом долго думает(кажется, что компьютер завис).
Попробуйте и до 10 000 и до 100 000 и сравните.
А код этой программы есть и на форуме и во многих учебниках, поэтому в целях экономии вашего драгоценного времени привожу его ниже.
Код:
program poln_chis;
uses crt;
var i,k,j:longint;
begin
clrscr;
for i:=1 to 10000 do
   begin
    k:=0;
    for j:=1 to i-1 do
       if i mod j=0 then
          begin
            k:=k+j;
          end;
       if k=i then write(i,' ');
     end;
  readln;
end.
puporev вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Найти сумму ряда 11111 Помощь студентам 14 01.11.2010 19:55
В двумерном массиве 4*5 найти сумму элементов по строке или столбцу. bkmz Помощь студентам 11 16.04.2008 11:17
найти сумму элементов строки jenja Общие вопросы Delphi 2 02.04.2008 17:49
Найти сумму последних L положительных элементов в массиве A={a[i]}. Assembler Kasim Помощь студентам 2 16.12.2007 16:12
Найти сумму ряда с точностью Е=10^-3 Добрый Кот Паскаль, Turbo Pascal, PascalABC.NET 2 12.12.2007 12:04