Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на языке Pascal


Хостинг Портала RusFAQ.ru:
MosHoster.ru - Профессиональный хостинг на Windows 2008

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

Чемпионы рейтинга экспертов в этой рассылке

Полтев Станислав Михайлович
Статус: Практикант
Рейтинг: 335
∙ повысить рейтинг >>
Шичко Игорь
Статус: Студент
Рейтинг: 274
∙ повысить рейтинг >>
Зенченко Константин Николаевич
Статус: Профессор
Рейтинг: 163
∙ повысить рейтинг >>

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Pascal

Выпуск № 720
от 08.11.2008, 04:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 210, Экспертов: 41
В номере:Вопросов: 6, Ответов: 7

Нам важно Ваше мнение об этой рассылке.
Оценить этот выпуск рассылки >>

Вопрос № 149262: Здравствуйте, умнейшие... помогите пожалуйта еще разок... заполнить двумерный массив по правилам 1) "Бордюры" 1 1 1 1 1 1 2 2 2 1 1 2 3 2 1 1 2 2 2 1 1 1 1 1 1 2)"Змейки" 1 2 3 4 5 14 15 16 17 6 13 29 19 18 7 12 11 10 9 8<...


Вопрос № 149282: Здравствуйте! У меня вопрос: почему у меня на строке b:=i mod 2; выдается ошибка (код 41) ? Вот программа: Program chisla; uses crt; var s,p,q:string; a,b,i:real; g:integer; code,o:integer; begin clrscr; write...
Вопрос № 149283: Треугольник на плоскости задан координатами своих вершин.Найти величины его углов....
Вопрос № 149299: Здравствуйте!!! Помогите пожалуйста сделать задания: 1. Рассчитайте объем используемой статической области для переменных и констант программы, сортирующей одномерный массив целых чисел. Программа должна при лагаться. 2. Укажите способ описания...
Вопрос № 149304: Решить задачу на Паскале: "Дано число х. Напечатать в порядке возрастания числа Sin(x), Cos(x), Ln(x). Если при каком-либо х некоторые из выражений не имеют смысла, вывести об этом сообщение и сравнивать значения только тех, которые имеют см...
Вопрос № 149311: Уважаемые эксперты....помогите ПОЖАЛУЙСТА!!!!очень срочно надо...желательно сегодня!!!Дана задача: Найти семиугольник с координатами вершин (x1,y1), (x2,y2),...,(x7,y7). Вывести на печать координаты треугольника с максимальной площадью. Определени...

Вопрос № 149.262
Здравствуйте, умнейшие... помогите пожалуйта еще разок...
заполнить двумерный массив по правилам 1) "Бордюры" 1 1 1 1 1 1 2 2 2 1 1 2 3 2 1 1 2 2 2 1 1 1 1 1 1
2)"Змейки" 1 2 3 4 5 14 15 16 17 6 13 29 19 18 7 12 11 10 9 8
буду непомерно благодарна...
Отправлен: 02.11.2008, 08:43
Вопрос задала: Vampi (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 3)

Отвечает: Зенченко Константин Николаевич
Здравствуйте, Vampi!

В приложении программа которая решает обе задачи последовательно. Размер массива определяете в константах. Результат работы программы не зависит от указанной размерности массива. Для первой задачи массив определять можно не определять, программа построит необходимый вывод на экране.
Во второй задаче использован конечный автомат, т.к. есть строго определенная последовательность переключения направления увеличения чисел в матрице. При каждом изменении координаты Х или У проверяется условие пепеключения автомата. При достижении нужного условия, происходит переход для работы с очередной координатой.
Вопросы задавайте в мини-форум.
Удачи!

Приложение:

---------
Итерация от человека, рекурсия — от Бога (Питер Дойч)

Ответ отправил: Зенченко Константин Николаевич (статус: Профессор)
Украина, Киев
Тел.: +380979536619
Адрес: Украина г.Киев
----
Ответ отправлен: 03.11.2008, 21:01

Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 149262 на номер 1151 (Россия) | Еще номера >>
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!

    Оценка за ответ: 5
    Комментарий оценки:
    Спасибо огромное!!


    Вопрос № 149.282
    Здравствуйте!
    У меня вопрос: почему у меня на строке b:=i mod 2; выдается ошибка (код 41) ?

    Вот программа:

    Program chisla;
    uses crt;
    var s,p,q:string;
    a,b,i:real;
    g:integer;
    code,o:integer;
    begin
    clrscr;
    write ('Vvedite chislo: '); readln (i);
    i:=int(i);
    while i / 2>=2 do
    begin
    b:=i mod 2;
    i:=i/2;
    str(b,s);
    p:=concat(p,s);
    end;
    val(s,o,code);
    textcolor(yellow);
    writeln; writeln('Rezultat: ',o);
    readln;
    end.

    Она должна переводить целые числа из 10-тичной системы в двоичную.
    Спасибо!
    Отправлен: 02.11.2008, 11:30
    Вопрос задал: AkaProc (статус: 4-й класс)
    Всего ответов: 1
    Мини-форум вопроса >>> (сообщений: 2)

    Отвечает: Шичко Игорь
    Здравствуйте, AkaProc!
    Сначала отвечу на ваш вопрос. операция mod производится над целыми числами.
    А у Вас
    b:=i mod 2
    b - real
    i - integer
    примерный код для перевода целых чисел в двоичную в приложении.

    Приложение:

    Ответ отправил: Шичко Игорь (статус: Студент)
    Ответ отправлен: 02.11.2008, 17:28

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 149282 на номер 1151 (Россия) | Еще номера >>
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!

    Оценка за ответ: 5
    Комментарий оценки:
    Благодарю!


    Вопрос № 149.283
    Треугольник на плоскости задан координатами своих вершин.Найти величины его углов.
    Отправлен: 02.11.2008, 11:35
    Вопрос задал: Александр !!! (статус: Посетитель)
    Всего ответов: 2
    Мини-форум вопроса >>> (сообщений: 3)

    Отвечает: µalife
    Здравствуйте, Александр СПб!
    Код:
    program ugol;
    var a,b,c,n1,n2,n3,a1,b1,c1,x1,x2,x3,y1,y2,y3: real;
    begin
    readln(x1,y1,x2,y2,x3,y3); {Ввод координат вершин}
    a:=sqrt(sqr(x2-x1)+sqr(y2-y1)); {Вычисление сторон}
    b:=sqrt(sqr(x2-x3)+sqr(y2-y3));
    c:=sqrt(sqr(x3-x1)+sqr(y3-y1));
    if (a+b>c) and (a+c>b) and (b+c>a) then {Проверка: является ли данная фигура треугольников}
    begin
    n1:=(b*b+c*c-a*a)/(2*b*c); {Вычисление углов}
    n2:=(a*a+c*c-b*b)/(2*a*c);
    n3:=(a*a+b*b-c*c)/(2*a*b);
    a1:=(Pi/2-arctan(n1/(sqrt(1-n1*n1))))*(180/Pi); {Умножение на (180/Pi) нужно чтобы перевести величину угла из радиан в градусы}
    b1:=(Pi/2-arctan(n2/(sqrt(1-n2*n2))))*(180/Pi);
    c1:=(Pi/2-arctan(n3/(sqrt(1-n3*n3))))*(180/Pi);
    writeln(a1:4:2,' ',b1:4:2,' ',c1:4:2) {Вывод величин углов}
    end
    else writeln('Фигура с заданными координатами не является треугольником');
    readln;
    end.

    ---------
    Я ничего не знаю. Я знаю только где можно найти ответы на мои вопросы.
    Ответ отправил: µalife (статус: Практикант)
    Ответ отправлен: 02.11.2008, 17:40

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 149283 на номер 1151 (Россия) | Еще номера >>
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!

    Оценка за ответ: 5
    Комментарий оценки:
    Все доходчиво описано!


    Отвечает: Шичко Игорь
    Здравствуйте, Александр !!!!
    Предлагаю Вам следующий вариант решения.
    1. Найти стороны треугольника.
    2. Найти площадь
    3. т.к. S= 1/2 * b * c * sin(a) половина произведения двух сторон на синус угла между ними
    то a = arcsin(2*s /(b*c)) - в радианах
    или a = arcsin(2*s /(b*c)) * 180 / pi - в градусах
    для вычисления arcsin(a) в Паскале воспользуемся формулой:
    arcsin(x):= ARCTAN(x/SQRT(1-SQR(x)))
    Примерный код в приложении.
    x1, y1 - точка А
    x2, y2 - точка В
    x3, y3 - точка С
    a - сторона ВС
    b - сторона АС
    c - сторона АВ
    a1 - угол ВАС
    b1 - угол АВС
    c1 - угол ВСА

    Приложение:

    Ответ отправил: Шичко Игорь (статус: Студент)
    Ответ отправлен: 02.11.2008, 20:41

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 149283 на номер 1151 (Россия) | Еще номера >>
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!


    Вопрос № 149.299
    Здравствуйте!!! Помогите пожалуйста сделать задания:
    1. Рассчитайте объем используемой статической области для переменных и констант программы, сортирующей одномерный массив целых чисел. Программа должна прилагаться.
    2. Укажите способ описания данных перечислимого типа, привести пример. Можно ли вывести на экран значения перечислимого типа?
    3. На предприятии существуют различные подразделения (отдел кадров, отдел качества, производственный цех, упаковочный цех ит.д.). Опишите тип данных, упрощающий работу с подразделе¬ниями.
    4. Какой тип данных позволяет задать для величин ограничения на хранимые значения? Приведите 2-3 примера.
    5. Какая существует форма представления множеств в памяти ЭВМ?
    6. Пусть перечислены города трех различных туристических маршрутов (от 4-хдо 6-тигородов).
    При помощи какой операции над множествами можно определить список городов, посещаемых туристами в любом случае, вне зависимости от выбранного маршрута?
    Какая операция п озволит построить список городов, в которых необходимо туристической фирме забронировать места в гостинице?
    7. Опишите основные этапы решения задач на ЭВМ.
    8. Опишите структуру типовой программы, составленной на языке Pascal.
    9. Укажите основные принципы структурной методологии.
    10. Составьте программу определения площади треугольника,
    Четырехугольника по длинам сторон и углам. Известные величины задаются студентом произвольно.
    11. Написать программу создающую текстовый файл с данными о пользователе и времени запуска программы. Если такой файл существует, на экран выводится информация о предыдущем запуске программы.

    12. Написать программу проверки наличия комментария и удаления однострочных (многострочных) комментариев из исходного текста программы на языке Pascal, хранящегося в текстовом файле.
    13. Написать программу, использующую подпрограммы:
    Вычислить выражение: y = 5 – min(a, b, -0.5) + max(a, b, c) +kvadr (a, b, c), где фун кция kvadr (x, y, z) — вычисляет квадратный корень суммы квадратов аргументов. Функции min и max возвращают минимальное и максимальное числа из переданных.

    Отправлен: 02.11.2008, 15:16
    Вопрос задала: Водянникова Екатерина Валерьевна (статус: Посетитель)
    Всего ответов: 1
    Мини-форум вопроса >>> (сообщений: 0)

    Отвечает: Зенченко Константин Николаевич
    Здравствуйте, Водянникова Екатерина Валерьевна!

    1)Размер массива в статической области памяти расчитывается как N*2 байта, под каждую переменную отводится 2-а байта, под константы память не отводится, т.к. их значения записываются в коде.
    Код:
    for i:=1 to n do
    for j:=1 to n do
    if a>a[j] then
    begin
    b:=a[i];
    a[i]:=a[j];
    a[j]:=b;
    end;

    для приведенного примера сортировки будет выделено (N+3)*2 байта.
    2)Перечислимый тип данных определяется двумя способами, с помощью создания пользовательского типа в секции type, либо анонимно(без имени типа) в секции var:
    Код:
    type
    tDay=(su,mo,tu,we,th,fr,sa);
    var
    x:Tday;
    y:(su,mo,tu,we,th,fr,sa);

    Оператор вывода write не применяется к этому типу данных, т.е. вывести на экран непосредственно значение переменной этого типа нельзя(см. 3).
    3)
    Код:
    type
    myType=(ok,{отдел кадров}
    otk,{отдел качества}
    po,{производственный отдел}
    op{отдел упаковки}
    );

    Работать с переменными этого типа удобно с помощью оператора case
    Код:
    case y of
    ok:writeln('отдел кадров');
    otk:writeln('отдел качества');
    po:writeln('производственный отдел');
    op:writeln('отдел упаковки');
    end;

    4)Интервальный тип, ещё его называют диапозон:
    [i]a:'A'..'Z';
    b:0..9;

    5)
    © Цитата: из хелпа
    Set (зарезервированное слово) Объявление множества (набора).
    Синтаксис: Set Of тип
    Замечания:Исходный тип набора должен быть порядковым с не более, чем 256 возможными значениями. Порядковые значения верхнего и нижнего пределов исходного типа должны быть между в диапазоне от 0 до 255. Значение множества можно задать с помощью конструктора множества, записав выражения в скобках. Каждое выражение обозначает значение множества. Запись [ ] обозначает пустое множество, которое является совместимым со всеми типами множеств.

    Практически это есть массив с 256-ю элементами и размером одного элемента - байт.
    6)к примеру каждая буква обозначает один город, операции над множествами в коде:
    Код:
    var
    m,m1,m2,m3:set of char;
    i:integer;
    begin
    m1:=['a','b','c','d'];
    m2:=['b','c','d','e'];
    m3:=['c','d','e','f'];
    {заказывать гостиницы в городах}
    m:=m1+m2+m3;
    for i:=1 to 255 do if chr( i)in m then write(chr(i):2);
    writeln;
    {города в которых будут в любом случае}
    m:=m*m1*m2*m3;
    for i:=1 to 255 do if chr(i)in m then write(chr(i):2);
    readln;
    end.

    7)Жизненный цикл любой программы(проэкта):
    © Цитата:
    1. Постановка и формулировка задачи;
    2. Этап проектирования;
    3. Этап кодирования;
    4. Этап отладки и тестирования;
    5. Этап эксплуатации и сопровождения.

    8)
    © Цитата: типовая структура программы
    program zzz;{имя программы}
    uses{подключаемые модули}
    const{раздел определения используемых констант}
    label{раздел определения используемых меток}
    type{раздел описания используемых типов}
    var{раздел описания используемых переменных}
    function{определение функций пользователя}
    procedure{определение подпрограм пользоватея}
    begin{основная программа}
    . . .
    end.

    9)Основные принципы

    Удачи!
    ---------
    Итерация от человека, рекурсия — от Бога (Питер Дойч)
    Ответ отправил: Зенченко Константин Николаевич (статус: Профессор)
    Украина, Киев
    Тел.: +380979536619
    Адрес: Украина г.Киев
    ----
    Ответ отправлен: 07.11.2008, 14:38

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 149299 на номер 1151 (Россия) | Еще номера >>
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!


    Вопрос № 149.304
    Решить задачу на Паскале:
    "Дано число х. Напечатать в порядке возрастания числа Sin(x), Cos(x), Ln(x). Если при каком-либо х некоторые из выражений не имеют смысла, вывести об этом сообщение и сравнивать значения только тех, которые имеют смысл."
    Отправлен: 02.11.2008, 15:51
    Вопрос задал: alter-sl (статус: 1-й класс)
    Всего ответов: 1
    Мини-форум вопроса >>> (сообщений: 0)

    Отвечает: Пупорев Юрий Борисович
    Здравствуйте, alter-sl!
    Привожу один из возможных вариантов решения Вашей задачи, может не самый оптимальный, но самый простой. Комментарии не писал, поскольку текст программы по сути сам и есть комментарий. Если все же что-то непонятно, спрашивайте.

    Приложение:

    Ответ отправил: Пупорев Юрий Борисович (статус: Специалист)
    Ответ отправлен: 03.11.2008, 09:18

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 149304 на номер 1151 (Россия) | Еще номера >>
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!


    Вопрос № 149.311
    Уважаемые эксперты....помогите ПОЖАЛУЙСТА!!!!очень срочно надо...желательно сегодня!!!Дана задача:
    Найти семиугольник с координатами вершин (x1,y1), (x2,y2),...,(x7,y7). Вывести на печать координаты треугольника с максимальной площадью. Определение площади треугольника по формуле Герона оформить в виде функции!!!
    ЗАРАНЕЕ ОГРОМНОЕ СПАСИБО!!!!
    Отправлен: 02.11.2008, 16:38
    Вопрос задал: Андреев Дмитрий Фёдорович (статус: Посетитель)
    Всего ответов: 1
    Мини-форум вопроса >>> (сообщений: 7)

    Отвечает: Шичко Игорь
    Здравствуйте, Андреев Дмитрий Фёдорович!
    Попробуйте код в приложении.
    Пояснений, думаю, достаточно.

    Приложение:

    Ответ отправил: Шичко Игорь (статус: Студент)
    Ответ отправлен: 03.11.2008, 20:38

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 149311 на номер 1151 (Россия) | Еще номера >>
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!


    Вы имеете возможность оценить этот выпуск рассылки.
    Нам очень важно Ваше мнение!
    Оценить этот выпуск рассылки >>

    Отправить вопрос экспертам этой рассылки

    Приложение (если необходимо):

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

    Обратите внимание!
    Вопрос будет отправлен всем экспертам данной рассылки!

    Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
    экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


    Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
    Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.

    Скажите "спасибо" эксперту, который помог Вам!

    Отправьте СМС-сообщение с тестом #thank НОМЕР_ОТВЕТА
    на короткий номер 1151 (Россия)

    Номер ответа и конкретный текст СМС указан внизу каждого ответа.

    Полный список номеров >>

    * Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи. (полный список тарифов)
    ** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
    *** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.


    © 2001-2008, Портал RusFAQ.ru, Россия, Москва.
    Авторское право: ООО "Мастер-Эксперт Про"
    Техподдержка портала, тел.: +7 (926) 535-23-31
    Хостинг: "Московский хостер"
    Поддержка: "Московский дизайнер"
    Авторские права | Реклама на портале

    ∙ Версия системы: 5.10 от 5.11.2008

    Яндекс Rambler's Top100
    RusFAQ.ru | MosHoster.ru | MosDesigner.ru
    RusIRC.ru | Kalashnikoff.ru | RadioLeader.ru

    В избранное