Помогите решить программы на паскале

Тема в разделе "Pascal and Delphi", создана пользователем SeReGa48, 17 дек 2009.

  1. SeReGa48

    SeReGa48 Гость

    1.Определить число членов ряда, необходимых для расчета с заданной погрешностью суммы членов ряда:
    1- 1 / 22 + 1 / 32 - 1 / 42 + . . . ; (-1)^(N-1) / N2 ; S= Pi^2 / 12 ; N= 1, 2, 3, . .
    Погрешность вводиться с клавиатуры

    2.Подсчитать число гласных и согласных букв в тексте и определить, каких букв больше. Учесть, что в строке могут быть другие символы, кроме букв.

    3.Разделить экран по вертикали на две части. В первой части создать окно и вывести все символы от 0 до 255 с указанием номеров, во втором окне в двух колонках вывести два символа, бегающих в противоположных направлениях.
     
  2. SeReGa48

    SeReGa48 Гость

    Порбывал не получается
     
  3. SeReGa48

    SeReGa48 Гость

    это к первой
    Код (Text):
    program _lab_3_var_1;
    var m,summ,c,s1:integer;
    n,s:integer;
    begin
    s:=(pi*pi)/12;
    summ:=0;
    n:=1;
    c:=1;
    m:=1;
    repeat
    c:=n/2;
    m:=n div(2);
    if c=m then s1:=1/(n*n) else s1:=(-1)/n*n;
    summ:=summ+s1;
    n:=n+1;
    until summ=s;
    writeln(n);
    end.
    А остальные я незнаю как делать
     
  4. vital

    vital Больной Компом Детектед

    Регистрация:
    29 янв 2006
    Сообщения:
    2.468
    Симпатии:
    27
    sax_ol Ну зачем так строго-то?=)
     
  5. SeReGa48

    SeReGa48 Гость

    Первая не работает
    Не понял по какому принципу отделять во второй задаче
    Третья задача на модуль CRT
     
  6. SeReGa48

    SeReGa48 Гость

    По какому принципу их сравнивать

    В первой задачи пишет типо деление на ноль
     
  7. hosm

    hosm * so what *

    Регистрация:
    18 май 2009
    Сообщения:
    2.450
    Симпатии:
    7
    Ессно :)
    А зачем там описывать ВСЕ переменные как integer?
    С каких пор этот тип поддерживает вещественную арифметику?


    Добавлено: и, кстати, где ввод с клавиатуры погрешности? реадлн (погрешность), так ведь? ;)
    и проверка на то, что вычислено с заданной точностью )))


    Добавлено:
    по вхождению в множество гласных и согласных нужного языка :(
    знаете, у меня 9-летняя дочь находит в инете то, что ей надо... Вам лет сколько? не стыдно?
    хотя бы как пример:
    Пример1: Дан текст. Определить каких букв больше - гласных или согласных.
    по-английски с.113-114 :)
     
  8. SeReGa48

    SeReGa48 Гость

    Если вам сложно помочь так и скажите

    А так тут делать нечего
     
  9. SeReGa48

    SeReGa48 Гость

    Полностью переписал задачу, но все пишет деление на 0 помогите найти ошибку
    Код (Text):
    var
    s:real;
    t:real;
    n:integer;
    elem:real;
    l:real;
    m:real;
    summ:real;
    x:real;

    begin
    s:=(pi*pi)/12;
    n:=1;
    elem:=1;
    summ:=0;
    readln(t);

    repeat
    l:=n/2;
    m:=n div(2);
    if l=m then elem:=1/n*n else elem:=(-1)/n*n;
    begin
    summ:=summ+elem;
    x:=summ+t;
    n:=n+1;
    end;
    until s=x;
    n:=n-1;
    writeln(n);
    end.
     
  10. hosm

    hosm * so what *

    Регистрация:
    18 май 2009
    Сообщения:
    2.450
    Симпатии:
    7
    Гм, даже не знаю, в чем-то первый вариант был даже ближе к истине, надо было только правильно описать переменные, добавить ввод нужных данных и правильные проверки. Ну, и исправить ошибки.
    Ну, посмотрим второй и попытаемся понять, что же Вы хотели этим сказать...
    1.
    :RTFM:
    Запомните: вещественные числа не сравниваются на точное равенство. s=x - некорректное условие...
    Вычисление с заданной точностью t означает, что нужна проверка abs(summ-s) < t, где t>0.

    2.
    это убрать нафиг вместе с лишним begin-end внутри цикла и подкорректировать условие выхода из цикла (until), как описано в п.1.

    3.
    Зачем эти извраты, 2 лишних переменных, если есть функция odd?
    Код (Text):
    elem:=1/(n*n);
    if odd(n) then elem:=-elem;
    Если испытываете особую неприязнь к функции odd, можете проверить иначе:
    Код (Text):
    if (n mod 2) <>0 then elem:=-elem;
    И обратите внимание на скобочки.
    выражения у нас вычисляются слева направа, если нет скобок. Кстати, есть еще такая функция как sqr.

    4.
    В общем, no comments - и да простят меня остальные модераторы за игнорирование великого и могучего.
    Я вообще уже больше 4 лет под лотус работаю и давно нет у меня ни паскаля, ни даже делфи, чтоб писать и проверять за Вас всю задачу, уж простите ;) я указала только ошибки и пути их преодоления...

    Если вам сложно понять - так и скажите
    А так тут делать нечего:

    я Вам для Вашей задачи дала ссылку на блок-схему, поясняющую решение, практически готовое решение Вашей задачи, да еще и описание множеств, чтоб не надо было вспоминать 1-й класс (какие у нас гласные, какие - согласные).
    Вы считаете, что в Вашем возрасте трудно было найти это самому в интернете, попытаться разобраться и нормально задать вопрос, если Вы чего-то не поняли?

    По 3-й задаче мне влом смотреть, я не помню - "думайте сами, решайте сами"
     
  11. vital

    vital Больной Компом Детектед

    Регистрация:
    29 янв 2006
    Сообщения:
    2.468
    Симпатии:
    27
    И вот нечего тебе делать в 3 утра..
    <table valign="top" style='margin:0;width:100%;border:1px dashed red;'>[tr]<td align='middle' bgcolor='#ff6060' valign='top' width='1%'>
    <FONT color='#ffffff' size='+3'> ! </font>
    </td><td align="midle" valign='top' style='background:#fff;'>а тебе в 5 часов писать такое? лучше б по делу на вопрос мой ответил... :RTFM:</td>[/tr]</table>
     
  12. isqoff

    isqoff Гость

    по третьей задаче : сделал только часть(первую с выводом таблицы символов),а со второй не много не понятно...поподробнее или рисунок...
     
  13. ZeroFami

    ZeroFami Гость

    пиши в аську 432232715, поможем:)
     
  14. isqoff

    isqoff Гость

    вот вторая :
    Код (Text):
    uses crt;
    const
    glasn = ('AaEeIiOoUuАаЕеЁёИиОоУуЫыЭэЮюЯя');
    soglasn = ('BbCcDdFfGgHhJjKkLlMmNnPpQqRrSsTtVvWwXxYyZz'+
    'БбВвГгДдЖжЗзЙйКкЛлМмНнПпРрСсТтФфХхЦцЧчШшЩщ');

    var i,j,sum_glasn,sum_soglasn:integer;
    s:string;

    BEGIN
    write('Введите строку :');
    readln(s);

    {---------------- подсчитаем сколько у нас гласных букв ----------------------}
    for i:=1 to length(s) do
    for j:=1 to length(glasn) do
    if s[i] = glasn[j]
    then sum_glasn:=sum_glasn+1;

    {--------------- подсчитаем сколько у нас согласных букв ---------------------}

    for i:=1 to length(s) do
    for j:=1 to length(soglasn) do
    if s[i] = soglasn[j]
    then sum_soglasn:=sum_soglasn+1;

    {-------------- Выводим подсчитанное количество на экран -------------------- }

    writeln;
    writeln('гласных в слове :',sum_glasn);
    writeln;
    writeln('согласных в слове :',sum_soglasn);
    writeln;

    if sum_glasn = sum_soglasn
    then write('количество гласных и согласных одинаково!')
    else if sum_glasn > sum_soglasn
    then write('количество гласных преобладает!')
    else write('количество согласных преобладает!')

    {-------------------------- THE END. ----------------------------------------}
    END.
    тока с англ алфавитом надо разобраться вроде w и j - неотносяться ни к гласным ни к согласным...я их в согласные определил...
    и ь и ъ знаки тоже "промежуточные".короче с алфавитом разбирайся сам(уж хоть с этим то разберёшься???)
     
  15. hosm

    hosm * so what *

    Регистрация:
    18 май 2009
    Сообщения:
    2.450
    Симпатии:
    7
    SeReGa48 а что с первой - сами разобрались или все же народ "помог"?
    isqoff
    "гласных" с одним "с" при выводе количества...
    во второй - два двойных цикла...
    Какой смысл делать два цикла, внутри каждого проходить весь цикл по строке гласных, а потом - по строке согласных? Лично я вижу смысл лишь в том, чтобы написать красивый комментарий (даже два).
    Вы боитесь, что человек не поймет?
    Символ не может быть одновременно гласным и согласным.
    Какой смысл просматривать всю строку гласных/согласных после того, как мы уже определили тип символа?
    Имхо, проще через множества. Надеюсь, с русскими символами проблем не будет :)
    Код (Text):
    uses crt;
    const
    glasn = ['A','a','E','e','I','i','O','o','U','u','А','а','Е','е',
    'Ё','ё','И','и','О','о','У','у','Ы','ы','Э','э','Ю','ю','Я','я'];
    soglasn = ['B','b','C','c','D','d','F','f','G','g','H','h','J','j','K','k','L','l','M','m','N','n','P','p','Q','q',
    'R','r','S','s','T','t','V','v','W','w','X','x','Y','y','Z','z',
    'Б','б','В','в','Г','г','Д','д','Ж','ж','З','з','Й','й','К','к','Л','л','М','м','Н','н','П','п','Р','р',
    'С','с','Т','т','Ф','ф','Х','х','Ц','ц','Ч','ч','Ш','ш','Щ','щ'];

    var i,j,sum_glasn,sum_soglasn:integer;
    s:string;

    BEGIN
    write('Введите строку :');
    readln(s);
    for i:=1 to length(s) do
    if s[i] in glasn
    then inc(sum_glasn)
    else
    if s[i] in soglasn
    then inc(sum_soglasn);
    {-------------- Выводим подсчитанное количество на экран -------------------- }
    и т.д.
     
  16. isqoff

    isqoff Гость

    ну во первых это вам для поднятия вашего грамматического уровня http://advego.ru/text/
    а во вторых : задача решена(а сколько людей - столько мнений).
    в третьих : в условии не указано каким методом нужно было решать(я посчитал что мой проще...(честно - не подумал про множества :D ))

    Добавлено: пардон на первое высказывание, не заметил два "с" ,уже исправил (опечатка с каждым бывает...)
     
Загрузка...
Похожие Темы - Помогите решить программы
  1. mrx13
    Ответов:
    8
    Просмотров:
    257
  2. kuklofon
    Ответов:
    9
    Просмотров:
    573
  3. GREED
    Ответов:
    1
    Просмотров:
    533
  4. vovanabali
    Ответов:
    0
    Просмотров:
    531
  5. zarina
    Ответов:
    0
    Просмотров:
    673

Поделиться этой страницей