motofan logo
       
> 

2 задачи на паскале, помогите решить

Bogd@n
сообщение 28.4.2009, 12:53


Авторитет
********

Группа: Пользователи
Сообщений: 2 492
Регистрация: 3.11.2007
Из: Украина,Артёмовск
Пользователь №: 152 746
Модель телефона: XT1060
Прошивка: 4.4 root


Настроение:
Качай разум, а не мышцы.



Рейтинг: 1059



Я тему пропустил и прошу помочь решить 2 задачи на паскале.Проходим тему массивы:
1)Найти сумму, кратных 3 ,елементов массива D[12]
2)Найти произвидение отрицательных елементов в массиве M[11]

Прошу помочь решить ,а не орать "ААааа...фу нуб-иди учись" и т.д.

Сообщение отредактировал Bogd@n - 28.4.2009, 13:22
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Genius of the Fall
сообщение 28.4.2009, 13:08


Ветеран
*****

Группа: Пользователи
Сообщений: 532
Регистрация: 30.7.2008
Пользователь №: 178 185
Модель телефона: Aquaris U Plus
Прошивка: HZ

Рейтинг: 101



Цитата(Bogd@n @ 28.4.2009, 18:53) *

"ААааа...фу нуб-иди учись" и т.д.

Это во-первых ;-)
Цитата(Bogd@n @ 28.4.2009, 18:53) *

Я тему пропустил и прошу помочь решить 2 задачи на паскале.Проходим тему массивы:
1)Найти сумму кратных 3 елементов массива D[12]

Код не дам, так как уже не помню синтаксис этого недоязыка... В общем, так: раз длина массива фиксирована, делаем простейший цикл, который идет по массиву, проверяя каждое число на кратность 3(проверять так: делим на 3, остаток сравниваем с 0). Каждое число, соответствующее условию, прибавляем к переменной результата(инициализировать со значением 0, если что). Выхлоп этой переменной == ПРОФИТ.
Цитата(Bogd@n @ 28.4.2009, 18:53) *

2)Найти произвидение отрицательных елементов в массиве M[11]

Точно так же, но проверяем по условию <0. Переменную результата инициализировать со значения 0, очевидно.
//К элементу массива можно обращаться так: имя_массива[индекс_элемента], индекс может быть произвольной целочисленной и неотрицательной переменной(это понадобится в данной задаче).
З.Ы.: Массивы в паскале - исключительное УГ.

Сообщение отредактировал Genius of the Fall - 28.4.2009, 13:10
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
A.Vas
сообщение 28.4.2009, 13:18


Гуру
******

Группа: Пользователи
Сообщений: 1 016
Регистрация: 2.12.2005
Из: г. Томск
Пользователь №: 60 511
Модель телефона: HTC One X
Прошивка: CyanogenMod 11

Рейтинг: 435



Эх, вспомню первый курс...
Код
program Program1;

var i:integer;
    result:integer;
    values: array [1..12] of integer;

BEGIN
    result := 0;
    for i := 1 to 12 do
    begin
        read(values[i]);
        if (values[i] mod 3) = 0 then
            result := result + values[i];
    end;
    writeln('Result: ', result);
    readln;
end.

Код
program Program2;

var i:integer;
    result:integer;
    values: array [1..11] of integer;

BEGIN
    result := 1;
    for i := 1 to 11 do
    begin
        read(values[i]);
        if values[i] < 0 then
            result := result * values[i];
    end;
    writeln('Result: ', result);
    readln;
end.

ЗЫ: каким же убогим кажется этот язык после плюсов и решетки...

Сообщение отредактировал A.Vas - 29.4.2009, 2:20
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
fkcoder
сообщение 28.4.2009, 13:19


Eve
******

Группа: Разработчики
Сообщений: 1 014
Регистрация: 31.1.2006
Из: Новокузнецк
Пользователь №: 68 287
Модель телефона: L9 ATRIX 4G iPhone SE E1

Рейтинг: 650



Помоему все просто.

s:=0;
for i=0 to 12 do
if D[i] mod 3 == 0 then s:=s+D[i];

Показал основной цикл. Как объявить переменные думаю сам догадаешся.

Ну и вторая задача также только цикл изменить надо чуть чуть

Добавлено позже (28.4.2009, 16:21):
A.Vas, действительно. После С этот язык действительно кажется убогим с его малыми возможностями
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Summe
сообщение 28.4.2009, 13:24


Summe
****

Группа: Пользователи
Сообщений: 211
Регистрация: 10.2.2007
Пользователь №: 121 658
Модель телефона: _

Рейтинг: 237.5



И хоть меня все и опередили, вот мой вариант, с выводом матрицы на дисплей smile.gif

Сообщение отредактировал Summe - 28.4.2009, 13:25
Пользователю запрещено создавать сообщения до17-12-2668 05:37:34
Прикрепленный файл NUMBER1.PAS   ( 639 байт ) Кол-во скачиваний: 78
Прикрепленный файл NUMBER2.PAS   ( 623 байт ) Кол-во скачиваний: 78
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Bogd@n
сообщение 28.4.2009, 13:27


Авторитет
********

Группа: Пользователи
Сообщений: 2 492
Регистрация: 3.11.2007
Из: Украина,Артёмовск
Пользователь №: 152 746
Модель телефона: XT1060
Прошивка: 4.4 root


Настроение:
Качай разум, а не мышцы.



Рейтинг: 1059



Цитата(A.Vas @ Сегодня, 13:18)

Не понял условие "3 кратных элемента массива", поэтому выкладываю текст только второй программы:
*


исправил первый пост чуток.
Цитата(lavmen @ Сегодня, 13:19)

Помоему все просто.

s:=0;
for i=0 to 12 do
if D[i] mod 3 == 0 then s:=s+D[i];
*


спасибо огромное у меня ошибка была тут
Цитата
if D[i] mod 3 == 0

у нас было в примерах mod k=0 ,ну я подумал что 0 это число на которое будет делиться и пожтому сделал так
if D[i] mod k=3 .... и тут ошибка.
Зачем ставить два знака ==?


Всем спасиба!
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Summe
сообщение 28.4.2009, 13:29


Summe
****

Группа: Пользователи
Сообщений: 211
Регистрация: 10.2.2007
Пользователь №: 121 658
Модель телефона: _

Рейтинг: 237.5



Цитата
Зачем ставить два знака ==?

И в самом деле, непонятно, но с одним, гнида, ругается laugh.gif
Пользователю запрещено создавать сообщения до17-12-2668 05:37:34
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Fenja
сообщение 28.4.2009, 13:29


Авторитет
********

Группа: Модераторы
Сообщений: 5 564
Регистрация: 25.8.2008
Из: г. Пенза
Пользователь №: 179 851
Модель телефона: MotoRazr v3i
Прошивка: MotoUpdate v1.1

Рейтинг: 1756



Цитата(lavmen @ Сегодня, 17:19)

f D[i] mod 3 == 0 then s:=s+D[i];
*


lavmen,
== эт ты с С взял, в паскале просто = будет smile.gif

Цитата(lavmen @ Сегодня, 17:19)

После С этот язык действительно кажется убогим с его малыми возможностями
*


Ну все с чего то начинали.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Genius of the Fall
сообщение 28.4.2009, 13:54


Ветеран
*****

Группа: Пользователи
Сообщений: 532
Регистрация: 30.7.2008
Пользователь №: 178 185
Модель телефона: Aquaris U Plus
Прошивка: HZ

Рейтинг: 101



Цитата(A.Vas @ 28.4.2009, 19:18) *

каким же убогим кажется этот язык после плюсов и решетки...

Кто-то признал решетку ЯП?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
T3D
сообщение 28.4.2009, 17:13


Ветеран
*****

Группа: Пользователи
Сообщений: 573
Регистрация: 25.4.2006
Из: Омск
Пользователь №: 80 474
Модель телефона: E2, ZN5 T-Mobile

Рейтинг: 258



A.Vas, а почему массив от 1 до 12, а цикл от 0 до 11? smile.gif
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Andrei449
сообщение 28.4.2009, 18:06


Мастер
****

Группа: Пользователи
Сообщений: 174
Регистрация: 26.9.2007
Из: удмуртия, Игра-Ижевск
Пользователь №: 149 082
Модель телефона: бывший L6 и e398
Прошивка: R3443H1_Juix и 49r

Рейтинг: 31.5



для меня непонятнейший язык
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
syberside
сообщение 29.4.2009, 2:07


Ветеран
*****

Группа: Пользователи
Сообщений: 422
Регистрация: 30.6.2008
Из: Новоуральск
Пользователь №: 176 082
Модель телефона: Motorola RAZR XT910
Прошивка: ICS 4.0.4


Настроение:
Теперь я с бритвой в кармане)))



Рейтинг: 47.5



Цитата(Bogd@n @ 28.4.2009, 19:27) *

if D[i] mod k=3 .... и тут ошибка.

В скобки d[i] mod k возьми!
Не такой уж и убогий паскаль! Вот мы с бейсика в щколе начинали- вот это убогость!! thumbdown.gif
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
A.Vas
сообщение 29.4.2009, 5:03


Гуру
******

Группа: Пользователи
Сообщений: 1 016
Регистрация: 2.12.2005
Из: г. Томск
Пользователь №: 60 511
Модель телефона: HTC One X
Прошивка: CyanogenMod 11

Рейтинг: 435



Цитата(T3D @ Сегодня, 0:13)

A.Vas, а почему массив от 1 до 12, а цикл от 0 до 11?
*


А это я просто ошибся - привык, что номера элементов в массивах/списках/коллекциях/... идут от нуля. Ошибка исправлена smile.gif

poster_offtopic.gif
Цитата(Genius of the Fall @ Вчера, 20:54)

Кто-то признал решетку ЯП?
*


Разве нет? Да, можно до сих пор кодить на ANSI C и добиваться отличных результатов, но некоторые вещи пишутся проще, быстрее и удобнее на C#. В любом случае, я не страдаю компл^Wпредрассудками по отношению к дотнету в целом и решетке в частности smile.gif


Сообщение отредактировал A.Vas - 29.4.2009, 5:04
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Bogd@n
сообщение 11.6.2009, 14:01


Авторитет
********

Группа: Пользователи
Сообщений: 2 492
Регистрация: 3.11.2007
Из: Украина,Артёмовск
Пользователь №: 152 746
Модель телефона: XT1060
Прошивка: 4.4 root


Настроение:
Качай разум, а не мышцы.



Рейтинг: 1059



нужно еще помочь решить одну задачу:
найти площадь двух равнобедренных триугольников по формуле Герона.
Тут нужно делать через процедуру,вот я сделал,но при вводе сторон,например 15 и основания 18,выдает ошибку 207.вот текст программы:



Код
program z1;
uses crt;
var q,e,z,c:real;
r,l,v,b:real;
procedure T(a,c,p:real;var S:real);
begin
p:=(a+b+c)/3;
s:=SQRT(P*(p-a)*(p-a)*(p-c));
end;
begin
writeln('vvedite bokovuu storonu i osnovanie');
readln(q,e,z,c);
T(q,e,r,l);
T(z,c,v,B);
writeln ('ploshd pervogo triugolnika=',l:3:3);
writeln('vtorogo=',b:3:3);
readln;
end.

все,ошибку арейметическую нашол,полупериметр не так считаетсяsmile.gif p:=(a+b+c)/3; ,а так p:=(a+b+c)/2;
з.ы.,все там связано.

Сообщение отредактировал Bogd@n - 11.6.2009, 14:25
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
alex208210
сообщение 11.6.2009, 14:22


Интересующийся
**

Группа: Пользователи
Сообщений: 80
Регистрация: 28.3.2007
Пользователь №: 128 739
Модель телефона: MOTOMING A1200e
Прошивка: Iris

Рейтинг: 10



Bogd@n такое чувство как будто ты туда просто так строчки кода накидал ничем и никем не связанные.. то что там написано. .не может считать, поправил код.. а правильность формулы герона твоя задача...
Код

program z1;
uses crt;
var a,b,c,p,s:real;
procedure T;
begin
p:=(a+b+c)/3;
s:=SQRT(P*(p-a)*(p-B)*(p-c));
end;
begin
writeln('vvedite bokovuu storonu i osnovanie');
readln(a,b,c);
T;
writeln('ploshad=',s:3:3);
readln;
end.


здесь считается площадь одного треугольника.. для второго надо вводить новые значения..

Сообщение отредактировал alex208210 - 11.6.2009, 14:28
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Bogd@n
сообщение 11.6.2009, 14:37


Авторитет
********

Группа: Пользователи
Сообщений: 2 492
Регистрация: 3.11.2007
Из: Украина,Артёмовск
Пользователь №: 152 746
Модель телефона: XT1060
Прошивка: 4.4 root


Настроение:
Качай разум, а не мышцы.



Рейтинг: 1059



вот полностью рабочая прога,исправил
program z1;
uses crt;
var q,e,z,c:real;
r,l,v,b:real;
procedure T(a,c,p:real;var S:real);
begin
p:=(a+a+c)/2;
s:=SQRT(P*(p-a)*(p-a)*(p-c));
end;
begin
writeln('vvedite bokovuu storonu i osnovanie');
readln(q,e,z,c);
T(q,e,r,l);
T(z,c,v,cool.gif;
writeln ('ploshd pervogo triugolnika=',l:3:3);
writeln('vtorogo=',b:3:3);
readln;
end.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
grs93
сообщение 24.6.2009, 12:12


Интересующийся
**

Группа: Пользователи
Сообщений: 91
Регистрация: 19.6.2007
Из: Охотск
Пользователь №: 138 655
Модель телефона: Мото Е8
Прошивка: Пока не знаю


Настроение:
Heavy New Year!



Рейтинг: 3



Цитата(Bogd@n @ 12.6.2009, 1:37)

var q,e,z,c:real;
r,l,v,b:real;
*


а для чего ты числа одного типа разбил на 2 группы? их же можно записать
Цитата
var q,e,z,c, r,l,v,b:real;
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Bogd@n
сообщение 24.6.2009, 13:34


Авторитет
********

Группа: Пользователи
Сообщений: 2 492
Регистрация: 3.11.2007
Из: Украина,Артёмовск
Пользователь №: 152 746
Модель телефона: XT1060
Прошивка: 4.4 root


Настроение:
Качай разум, а не мышцы.



Рейтинг: 1059



Цитата(grs93 @ Сегодня, 12:12)

а для чего ты числа одного типа разбил на 2 группы? их же можно записать
*


ну первая группа ,типо, вводим с клавиатуры,а вторая-искомые.Нам так в примерах давали,вот я так теперь и делаю...
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
A.Vas
сообщение 24.6.2009, 14:33


Гуру
******

Группа: Пользователи
Сообщений: 1 016
Регистрация: 2.12.2005
Из: г. Томск
Пользователь №: 60 511
Модель телефона: HTC One X
Прошивка: CyanogenMod 11

Рейтинг: 435



Bogd@n,
а зачем вообще давать переменным такие дикие односимвольные имена? Для Pascal, С и прочих структурных языков, насколько я помню, принята венгерская нотация, которая ставит вполне определенные правила именования переменных. Таким образом, код станет значительно читабельнее и понятнее smile.gif

Сообщение отредактировал A.Vas - 24.6.2009, 14:33
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
grs93
сообщение 24.6.2009, 21:35


Интересующийся
**

Группа: Пользователи
Сообщений: 91
Регистрация: 19.6.2007
Из: Охотск
Пользователь №: 138 655
Модель телефона: Мото Е8
Прошивка: Пока не знаю


Настроение:
Heavy New Year!



Рейтинг: 3



Bogd@n,
ааа, понял. Эт типа чтобы отлаживать при случае было удобнее, и читалось проще.
A.Vas,
проще то проще, но вот каждый раз прописывать одно и тоже название..... сложновато как-то. Я тоже предпочитаю ввести односимвольное имя, и запомнить что оно значит smile.gif
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
motoprogger
сообщение 25.6.2009, 5:48


Гуру
******

Группа: Разработчики
Сообщений: 1 327
Регистрация: 20.7.2006
Из: Г. Омск
Пользователь №: 92 049
Модель телефона: C380 и Talkabout
Прошивка: разные

Рейтинг: 510



Представляю, я бы в проекте на 12000 строк (Delphi) давал переменным, классам и так далее одно- и двухсимвольные имена... и что бы я понял там, вернувшись через 2 месяца?
А так - название функции MakeMatWord говорит само за себя - сгенерировать слово, обозначающее материал )
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Bogd@n
сообщение 20.2.2010, 16:23


Авторитет
********

Группа: Пользователи
Сообщений: 2 492
Регистрация: 3.11.2007
Из: Украина,Артёмовск
Пользователь №: 152 746
Модель телефона: XT1060
Прошивка: 4.4 root


Настроение:
Качай разум, а не мышцы.



Рейтинг: 1059



так,новый вопрос.Нужно начертить схему в Паскале и подписать элементы на схеме.Я это сделал.Но подписал только горизонтальным текстом .А нужно еще написать текст вертикальный(с верху в низ,буквы перевернуты на 90 градусов,думаю поняли)) ).Так вот вопрос,если обычный текст задается
OutTextXy (x,y,'text'); ,то как задать чтобы текст стал вертикальным?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
2 задачи на паскале, помогите решить · Обо всём · Forum
 

Ответ в темуСоздание новой темы
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 28.7.2025, 6:13

Форум живёт: