Форум
» Назад на решение задач по физике и термеху
Регистрация | Профиль | Войти | Забытый пароль | Присутствующие | Справка | Поиск

» Добро пожаловать, Гость: Войти | Регистрация
    Форум
    Информационные технологии
        Решение задач на Pascal. Форум 2
Отметить все сообщения как прочитанные   [ Помощь ]
» Добро пожаловать на форум "Информационные технологии" «

Переход к теме
<< Назад Вперед >>
Несколько страниц [ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 ]
Модераторы: paradise, KMA
  

paradise


Долгожитель


Цитата: Ineedhelpplaz написал 7 дек. 2008 13:41
С помощью while and until:
1.    Составьте программу вычисления квадрата суммы нечетных делителей натурального числа М.


program help;

var
 M, n, c, d, sum: word;

begin
 write('Please, enter M: ');
 readln(M);
 sum := 0;
 n := 1;
 while (n <= sqrt(M)) do
 begin
   c := M mod n;
   d := M div n;
   if c = 0 then
   begin
     if odd(n)then
       sum := sum + n;
       if (n <> d) and (odd(d)) then
         sum := sum + d;
   end;
 inc(n);
 end;
 writeln('Sum: ', sqr(sum));
end.

//Писала на PascalABC.NET

Всего сообщений: 428 | Присоединился: ноябрь 2008 | Отправлено: 8 дек. 2008 0:53 | IP
paradise


Долгожитель


Цитата: Ineedhelpplaz написал 7 дек. 2008 13:41

Составить запись решения задачи на языке программирования с помощью двух циклов:
3)    Последовательно вводятся N целых чисел. Определить каких среди них больше: положительных или отрицательных.



Зачем 2 цикла? С одним тут всё прекрасно работает.

program help;

var
 N, i, k, m, x: integer;

begin
 write('Введите N: ');
 readln(N);
 k := 0;
 m := 0;
 for i := 1 to N do
 begin
   read(x);
   if (x > 0) then
     inc(k)
   else
     inc(m);
 end;
 if k > m then
   write('Положительных больше')
 else
   write('Отрицательных больше');
end.

// писала на PascalABC.NET

Всего сообщений: 428 | Присоединился: ноябрь 2008 | Отправлено: 8 дек. 2008 1:02 | IP
KMA



Долгожитель

paradise, а ты каким образом задачи выбираешь? Мне просто интересно

-----
Gentoo, FreeBSD 7.2, PHP, JavaScript (jQuery), Python, Shell
Помогаю с задачами только на форуме.
Все мои действия четко согласуются с правилами раздела. Поэтому никаких претензий и обид.

Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 9 дек. 2008 0:22 | IP
paradise


Долгожитель

random-но, конечно

Всего сообщений: 428 | Присоединился: ноябрь 2008 | Отправлено: 9 дек. 2008 11:44 | IP
Ineedhelpplaz


Новичок

спс, но увы мои объяснение не доходят до учителя) 6 задач я уже решил, ща напишу че ост

Всего сообщений: 2 | Присоединился: декабрь 2008 | Отправлено: 9 дек. 2008 22:32 | IP
paradise


Долгожитель


Цитата: Ineedhelpplaz написал 9 дек. 2008 22:32
спс, но увы мои объяснение не доходят до учителя


это как???

Всего сообщений: 428 | Присоединился: ноябрь 2008 | Отправлено: 9 дек. 2008 22:42 | IP
splinker



Новичок

Определить, чётное или нечётное количество разрядов в числе N.

Моё решение
Turbo Pascal
Проверял на Delphi.

program Project1;

{$APPTYPE CONSOLE}

uses
 SysUtils;

var
kol, N, N1: integer;
begin
N1:=abs(N);
kol:=1;
readln(N);
repeat
N1:=(N1)div(10);
kol:=kol + 1;
until N1<=9;
if kol mod 2 = 0 then writeln ('Chetnoe') else writeln
('Nechetnoe');
readln;
end.


Всегда выдаёт нечётное.

(Сообщение отредактировал splinker 9 дек. 2008 22:48)

Всего сообщений: 2 | Присоединился: декабрь 2008 | Отправлено: 9 дек. 2008 22:47 | IP
splinker



Новичок

Так, с частью проблем справился, надо было написать

program Project1;

{$APPTYPE CONSOLE}

uses
SysUtils;

var
kol, N, N1: integer;
begin
readln(N);
N1:=abs(N);
kol:=1;
repeat
N1:=(N1)div(10);
kol:=kol + 1;
until N1<=9;
if kol mod 2 = 0 then writeln ('Chetnoe') else writeln
('Nechetnoe');
readln;
end.

Но числа меньше 10 отображаются как чётные.

Всего сообщений: 2 | Присоединился: декабрь 2008 | Отправлено: 9 дек. 2008 22:57 | IP
KMA



Долгожитель


Но числа меньше 10 отображаются как чётные.

Может все таки попробуешь repeat заменить на while?

while n1>=9 do
begin
  N1:=(N1)div(10);
  kol:=kol + 1;
end;



-----
Gentoo, FreeBSD 7.2, PHP, JavaScript (jQuery), Python, Shell
Помогаю с задачами только на форуме.
Все мои действия четко согласуются с правилами раздела. Поэтому никаких претензий и обид.

Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 9 дек. 2008 23:27 | IP
ziprex



Новичок

Памагит решить линейное уравнение. Срочно нужно.
И так оно имеет вид kx+b=0 , где k и b-некоторые числа.
Если a  =  b  = 0, то решением уравнения ax  +  b  = 0 является любое число.
Если a  = 0 и b не равно 0, то уравнение корней не имеет.
Если a не равно 0, то уравнение ax  +  b  = 0 называется линейным и имеет ровно одно решение x=-b/k.
   Пожалуйста, помогите чем можете. заранее благодарен.


(Сообщение отредактировал ziprex 10 дек. 2008 3:02)

Всего сообщений: 4 | Присоединился: декабрь 2008 | Отправлено: 10 дек. 2008 0:00 | IP

Эта тема закрыта, новые ответы не принимаются

Переход к теме
<< Назад Вперед >>
Несколько страниц [ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 ]

Форум работает на скрипте © Ikonboard.com