За последние 24 часа нас посетили 16822 программиста и 1647 роботов. Сейчас ищут 1084 программиста ...

Ребята, помогите, пожалуйста!

Тема в разделе "Вопросы от блондинок", создана пользователем Asselka, 16 апр 2011.

  1. Asselka

    Asselka Активный пользователь

    С нами с:
    16 апр 2011
    Сообщения:
    2
    Симпатии:
    0
    Заранее прошу прощения, если такое уже есть на форуме (правда, я прогуглила - нашла лишь просто задания на паскале и просьбы на с++)
    С PHP знакома буквально 2 недели (пришлось поизучать). Но вот эти задания никак не могу одолеть, ибо не знаю как это сделать (кодово). А сдавать уже в понедельник. Заранее благодарю!!!!!!!!!!!!!

    1. Описать функцию getInt(Name,k) целого типа, возвращающую k-й элемент файла целых чисел с именем Name (элементы нумеруются от 0). Если файл не существует или не содержит k-го элемента, то функция возвращает 0. С помощью этой функции вывести пять элементов данного файла с указанными номерами.

    2. (Аналогичная) Описать функцию getLine(Name,k) строкового типа, возвращаю-щую k-ю строку текстового файла с именем Name (строки нумеруются от 0). Если файл не существует или не содержит k-й строки, то функция возвращает пустую строку. С помощью этой функции вывести пять строк данного файла с указанными номерами.

    3. Описать функцию IntFileSize(Name) целого типа, возвращающую размер файла целых чисел с именем Name. Если файл не существует, то функция возвращает –1. С помощью этой функции определить размер трех файлов с данными именами.

    4. Описать функцию TextSize(Name) целого типа, возвращающую число строк в текстовом файле с именем Name. Если файл не существует, то функция возвращает –1. С помощью этой функции определить размер трех файлов с данными именами.

    5. Описать процедуру InvertIntFile(Name), меняющую порядок следования элементов файла целого типа с именем Name на противополож-ный. Если файл не существует или содержит менее двух элементов, то процедура не выполняет никаких действий. Обработать с помощью этой процедуры три файла с данными именами.
     
  2. Gromo

    Gromo Активный пользователь

    С нами с:
    24 май 2010
    Сообщения:
    2.786
    Симпатии:
    2
    Адрес:
    Ташкент
    Asselka
    ты уверен(а), что это нужно делать именно на пхп? потому что больше смахивает на с++
     
  3. Apple

    Apple Активный пользователь

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
    PHP:
    1. <?php
    2.  
    3. function getLine($name, $k)
    4. {
    5.   if(is_file($name)) {
    6.     $lines = file($name);
    7.    
    8.     if(isset($lines[$k])) {
    9.       return $lines[$k];
    10.     } else return '';
    11.   } else return '';
    12. }
    13.  
    14. ?>
    Остальные (кроме первого ибо не понятно как структурированы числа) щас напишу.
     
  4. Apple

    Apple Активный пользователь

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
    PHP:
    1. <?php
    2.  
    3. function intFileSize($name)
    4. {
    5.   if(is_file($name)) {
    6.     return filesize($name);
    7.   } else return -1;
    8. }
    9.  
    10. ?>
     
  5. Apple

    Apple Активный пользователь

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
    PHP:
    1. <?php
    2.  
    3. function TextSize($name)
    4. {
    5.   if(is_file($name)) {
    6.     return sizeof(file($name));
    7.   } else return -1;
    8. }
    9.  
    10. ?>
     
  6. Apple

    Apple Активный пользователь

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
    Asselka
    Первого и последнего я не понял. Походу тот, кто писал пятое задание, развалившийся ассексуальный геронтофил с сухими жмаными яйцами и хорошо подмоченной репутацией. Умных слов много, а сути НЕТ.
    Уточни задание до понятного мне уровня.
     
  7. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Asselka
    вобще-то за это деньги платят... или ставят бутылку преподу :D

    PHP:
    1. <?php
    2.  
    3. /*
    4.  * Описать функцию getInt(Name,k) целого типа,
    5.  *  возвращающую k-й элемент файла целых чисел с именем Name
    6.  *  (элементы нумеруются от 0).
    7.  * Если файл не существует или не содержит k-го элемента,
    8.  *  то функция возвращает 0.
    9.  * С помощью этой функции вывести пять элементов данного файла с указанными номерами.
    10.  *
    11.  */
    12.  
    13. // лезем на php.net за примером к функции file() - эта функция читает файл и пихает его в массив, где каждый элемент - строка из файла.
    14. function getInt($name, $k) {
    15.   $lines = file($name);
    16.  
    17.   //в описании функции file() сказано, что если файл открыть не удастся - она вернет false. Пустой массив тоже будет считаться за false и условие не выполнится.
    18.   if ($lines) {
    19.     //в задаче сказано, что элемент номер $k может не существовать, надо проверить, присутствует ли он в массиве с помощью функции isset()
    20.     if (isset($lines[$k])) {
    21.       //элемент есть, можем вернуть его целочисленное значение
    22.       return intval($lines[$k]); //функция intval() применяется для получения целочисленного значения из строки. например "7ляля12ля" вернет 7 =)
    23.     }
    24.   }
    25.   //если хоть одно условие не прошло, мы оказываемся тут и возвращаем ноль.
    26.   return 0;
    27. }
    28.  
    29. echo getInt('имя файла', 5);
    30. echo getInt('имя файла', 12);
    31.  
    32. //и так далее.
    33.  
    34.  
    35. /*
    36.  * Описать функцию getLine(Name,k) строкового типа,
    37.  *  возвращаю-щую k-ю строку текстового файла с именем Name
    38.  *  (строки нумеруются от 0).
    39.  * Если файл не существует или не содержит k-й строки,
    40.  *  то функция возвращает пустую строку.
    41.  *  С помощью этой функции вывести пять строк данного файла с указанными номерами.
    42.  *
    43.  */
    44. function getLine($name, $k) {
    45.   $lines = file($name);
    46.   return (isset($lines[$k]) ? $lines[$k] : '');
    47. }
    48.  
    49. //=) хехехе
    50.  
    51.  
    52. /*
    53.  * Описать функцию IntFileSize(Name) целого типа,
    54.  *  возвращающую размер файла целых чисел с именем Name.
    55.  * Если файл не существует, то функция возвращает –1.
    56.  * С помощью этой функции определить размер трех файлов с данными именами.
    57.  *
    58.  */
    59. function IntFileSize($name) {
    60.   return (file_exists($name) ? filesize($name) : -1);
    61. }
    62.  
    63. /*
    64.  * Описать функцию TextSize(Name) целого типа,
    65.  *  возвращающую число строк в текстовом файле с именем Name.
    66.  * Если файл не существует, то функция возвращает –1.
    67.  * С помощью этой функции определить размер трех файлов с данными именами.
    68.  *
    69.  */
    70.  
    71. function TextSize($name, $k) {
    72.   $lines = file($name);
    73.   return ($lines !== false ? count($lines) : -1);
    74. }
    75.  
    76. /*
    77.  * Описать процедуру InvertIntFile(Name),
    78.  *  меняющую порядок следования элементов файла целого типа с именем Name на противополож-ный.
    79.  * Если файл не существует или содержит менее двух элементов,
    80.  *  то процедура не выполняет никаких действий.
    81.  * Обработать с помощью этой процедуры три файла с данными именами.
    82.  *
    83.  */
    84.  
    85. function InvertIntFile($name, $k) {
    86.   $lines = file($name); //грузим файл
    87.   //проверяем, что файл прочитался и нужного размера
    88.   if (count($lines) > 1) {
    89.     //переворачиваем
    90.     return array_reverse($lines);
    91.   } else {
    92.     //а тут мы ничего не делаем.
    93.   }
    94. }
    95.  
    96. //Победа!
     
  8. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Apple
    Слабак :p

    Asselka
    не обязательно прикидываться девочкой.
     
  9. Asselka

    Asselka Активный пользователь

    С нами с:
    16 апр 2011
    Сообщения:
    2
    Симпатии:
    0
    Странное у вас отношение, однако! Я девушка. Мне кажется если бы я была б парнем (как вы думаете), у меня хватило б больше усидчивости добить эти задачки.Во всяком случае большое вам спасибо! Выручили!
     
  10. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Asselka
    обычно как раз девочки усидчивее.


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