Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
0 / 0 / 0
Регистрация: 27.11.2014
Сообщений: 14
1

Пожалуйста, посмотрите эти 2 задачи!

27.11.2014, 20:00. Показов 1569. Ответов 38
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
1.)Найти все натуральные числа, меньшие или равные N, делящиеся на любую из своих цифр.
2.)Найти все натуральные числа, меньшие либо равные N, которые можно представить в виде суммы квадратов двух каких-либо натуральных чисел.

Первую я как-то сделала, но программа (Free Pascal) вылетает с ошибкой 200, хотя я везде указала неравенство нулю...
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.11.2014, 20:00
Ответы с готовыми решениями:

посмотрите функцию пожалуйста
посмотрите плиз функцию ХУ, там надо вывести по десять целых значений х и у, но у меня не...

Посмотрите, пожалуйста, тест
Какое значение получит переменная d после выполнения оператора d:=odd(a)<>x в Pascal при a=true и...

Посмотрите пожалуйста мою программу. В чем моя ошибка?
Даны e,n массивы a(n), b(n). Вычислить S=(x+2)/(x^2+5^2)+(x+7)/(x^2+6^2)+(x+12)/(x^2+7^2)+......

Посмотрите пожалуйста,не могу понять,в чем завоздка,что не там...
задание на фотке(( program pr_2_3; uses crt,Linear_algebra; const WG=100; type tmatr=array of...

38
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
27.11.2014, 20:03 2
Цитата Сообщение от Дарья_000 Посмотреть сообщение
Первую я как-то сделала,
Покажите.
1
0 / 0 / 0
Регистрация: 27.11.2014
Сообщений: 14
27.11.2014, 20:07  [ТС] 3
Пожалуйста, посмотрите эти 2 задачи!
0
Наблюдатель
457 / 192 / 33
Регистрация: 01.05.2012
Сообщений: 1,028
27.11.2014, 20:09 4
Дарья_000, Скриншот в данном случае делать нет необходимости.
Достаточно было вставить листинг программы тут используя тэг Pascal
1
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
27.11.2014, 20:11 5
Да нафига эта картинка! Вы код текстом покажите. Вот уж действительно 000.
0
Наблюдатель
457 / 192 / 33
Регистрация: 01.05.2012
Сообщений: 1,028
27.11.2014, 20:12 6
Первое. У вас i не присвоено значение, но вы присваиваете значение i переменной y.

PS всё. Глаза дороже.

PS2 давайте вы вставите листинг и каждую строку кода прокомментируете что вы этим хотели сделать.
Я понял в чём ваша ошибка, но если я скажу, вы этого может и поймёте но не запомните, а рассуждая - вы быстрее найдёте свою ошибку и исправите её.
0
0 / 0 / 0
Регистрация: 27.11.2014
Сообщений: 14
27.11.2014, 20:23  [ТС] 7
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Program qqq;
var n, i, a, b, c, d, e, y, k : integer;
begin
writeln ('Введите число');
readln(n);
y:=i;
a:= y div 10000;
b:= (y div 1000) mod 10;
c:= (y div 100) mod 10;
d:= (y div 10) mod 10;
e:=y mod 10;
for i:= 1 to n do
if (i/a = a*k) and (a<>0) and ((a*k)<=(i/a)) then write (i, ' ')
else if (i/b = b*k) and (b<>0) and ((b*k)<=(i/b)) then write (i, ' ')
else if (i/c = c*k) and (c<>0) and ((c*k)<=(i/c)) then write (i, ' ')
else if (i/d = d*k) and (d<>0) and ((d*k)<=(i/d)) then write (i, ' ')
else if (i/e = e*k) and (e<>0) and ((e*k)<=(i/e)) then write (i, ' ');
readln;
end.
а после "for" разве можно присваивать y, a, b, c, d и e?
0
Наблюдатель
457 / 192 / 33
Регистрация: 01.05.2012
Сообщений: 1,028
27.11.2014, 20:30 8
прекрасно. А что с комментариями "для чего?"
Можно начать со строки 6
1
0 / 0 / 0
Регистрация: 27.11.2014
Сообщений: 14
27.11.2014, 20:35  [ТС] 9
Я уже пробовала for ставить перед присваиванием. И тоже выскакивала ошибка. И я не понимаю, где там может быть деление на ноль, я же указала, что знаменатель не равен нулю...

А со второй задачей - вообще беда, не знаю как сделать.
0
Наблюдатель
457 / 192 / 33
Регистрация: 01.05.2012
Сообщений: 1,028
27.11.2014, 20:35 10
Цитата Сообщение от Дарья_000 Посмотреть сообщение
Первую я как-то сделала
Если честно, но нет.
1
0 / 0 / 0
Регистрация: 27.11.2014
Сообщений: 14
27.11.2014, 20:36  [ТС] 11
Хорошо. Как в таком случае сделать?
0
Наблюдатель
457 / 192 / 33
Регистрация: 01.05.2012
Сообщений: 1,028
27.11.2014, 20:38 12
Давайте с первой разберёмся.
Вы её под отладчиком смотрели.
А именно результаты вычисления строк с 7 по 11

Добавлено через 1 минуту
Цитата Сообщение от Дарья_000 Посмотреть сообщение
Я уже пробовала for ставить перед присваиванием. И тоже выскакивала ошибка.
С точки зрения здравого смысла for должен быть в 6-й строке
1
0 / 0 / 0
Регистрация: 27.11.2014
Сообщений: 14
27.11.2014, 20:39  [ТС] 13
С 7 по 11 я пыталась вывести каждую цифру. Т.к. (хоть и не указано) у нас integer, то максимум - 5 цифр.
0
Наблюдатель
457 / 192 / 33
Регистрация: 01.05.2012
Сообщений: 1,028
27.11.2014, 20:46 14
Далее. У вас в условии не определён диапазон N
Это может быть 5 а может быть и 6548

Добавлено через 3 минуты
Вы хотите перебором найти такие числа, что удовлетворяют условиям.
соответственно
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
Program qqq;
var n, i, a, b, c, d, e, y, k : integer;
begin
writeln ('Ââåäèòå ÷èñëî');
readln(n);
for i:= 1 to n do begin
y:=i;
a:= y div 10000;
b:= (y div 1000) mod 10;
c:= (y div 100) mod 10;
d:= (y div 10) mod 10;
e:=y mod 10;
1
0 / 0 / 0
Регистрация: 27.11.2014
Сообщений: 14
27.11.2014, 20:47  [ТС] 15
В этом у меня и загвоздка

Стоп. Мне кажется, я полную ахинею написала в 13-17 строчках: "a=b и b<=a"
0
Наблюдатель
457 / 192 / 33
Регистрация: 01.05.2012
Сообщений: 1,028
27.11.2014, 20:49 16
Цитата Сообщение от Дарья_000 Посмотреть сообщение
Стоп. Мне кажется, я полную ахинею написала в 13-17 строчках: "a=b и b<=a"
Прекрасно. Браво браво.

Добавлено через 1 минуту
только ахинея немного в другом
В логике
1
0 / 0 / 0
Регистрация: 27.11.2014
Сообщений: 14
27.11.2014, 21:00  [ТС] 17
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Program qqq;
var n, i, a, b, c, d, e, y, k : integer;
begin
writeln ('Введите число');
readln(n);
for i:= 1 to n do
begin
y:=i;
a:= y div 10000;
b:= (y div 1000) mod 10;
c:= (y div 100) mod 10;
d:= (y div 10) mod 10;
e:=y mod 10;
if (i/a = a*k) and (a<>0) then write (i, ' ')
else if (i/b = b*k) and (b<>0) then write (i, ' ')
else if (i/c = c*k) and (c<>0) then write (i, ' ')
else if (i/d = d*k) and (d<>0) then write (i, ' ')
else if (i/e = e*k) and (e<>0) then write (i, ' ');
end;
readln;
end.

Это уже получше? Но всё ещё ошибка...

Добавлено через 50 секунд
а end 1-й где ставится? До или после readln?

Добавлено через 35 секунд
И всё ещё проблема с К

Добавлено через 4 минуты
Цитата Сообщение от Alex Dark Посмотреть сообщение
Далее. У вас в условии не определён диапазон N
Это может быть 5 а может быть и 6548

Добавлено через 3 минуты
Вы хотите перебором найти такие числа, что удовлетворяют условиям.
соответственно
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
Program qqq;
var n, i, a, b, c, d, e, y, k : integer;
begin
writeln ('Ââåäèòå ÷èñëî');
readln(n);
for i:= 1 to n do begin
y:=i;
a:= y div 10000;
b:= (y div 1000) mod 10;
c:= (y div 100) mod 10;
d:= (y div 10) mod 10;
e:=y mod 10;
По усл-ю integer. Т.е. действительно n может быть 1, а может и 32767
0
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
27.11.2014, 21:01 18
Достали уже....
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
uses crt;
var n,i,y,k,d:integer;
begin
write('Введите натуральное число n=');
readln(n);
writeln('Числа делящиеся на каждую из своих цифр');
for i:=1 to n do
if i<10 then write(i,' ')
else
 begin
  y:=i;
  k:=0;
  while (y>0)and(k=0) do
  if (y mod 10=0)or(y mod(y mod 10)<>0)then k:=1
  else y:=y div 10;
  if k=0 then write(i,' ');
 end;
end.
2
Наблюдатель
457 / 192 / 33
Регистрация: 01.05.2012
Сообщений: 1,028
27.11.2014, 21:08 19
Цитата Сообщение от Puporev Посмотреть сообщение
Достали уже....
Тогда решай и вторую.

Человек пытается понять, а не тупо хочет получить решение.
Смысл давать ответ. Он всё равно не поймёт или не запомнит.
1
Платежеспособный зверь
8926 / 4354 / 1642
Регистрация: 28.10.2009
Сообщений: 11,568
27.11.2014, 21:17 20
и ещё так можно. На оптимальность не претендую, но для новичков понятнее.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
var
n,i,k,t:integer;
f:boolean;
begin
readln(n);
for i:=1 to n do
 begin
   k:=i;
   f:=true;
   while (k>0) and (f) do
     begin
      t:=k mod 10;
       if (t=0)or(i mod t<>0) then f:=false;
       k:=k div 10;
     end;
  if f then write(i,' ');
  end;
end.
1
27.11.2014, 21:17
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.11.2014, 21:17
Помогаю со студенческими работами здесь

Не могу решить эти дурацкие задачи...
1.Дана целочисленная матрица размером M*N.Различные строки/столбцы матрицы назовем похожими,если...

Проверьте, пожалуйста, правильность написания задачи
Условие задачи: Вычислить и вывести на печать таблицу значений функции ...

Народ завтра сдавать экзамен, нужны эти задачи. кому не сложно скиньте код ради бога
1.С помощью программы создать текстовый файл и записать в него в качестве первой строки предложение...

Как записать эти задачи с выделением в модуле
Как это можно реализовать с использованием модулей


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru