По заказу 582
? Информатика
? Репетиторство
? 10.02 16:35 T
? Строки и записи
Матрицы
-------------------------------------
Предложение от исполнителя №14
? 400₽
? : Без комментариев
Сергей Тяпкин
S:00:00:00 00.00
R:12:17:19 23.03
#command
Сергей Тяпкин
S:00:00:00 00.00
R:12:17:19 23.03
Собеседник прикрепил 0 вложений, надеемся они не потерялись по пути)
Сергей Тяпкин
S:00:00:00 00.00
R:12:17:19 23.03
⭐:
Евгений Сыроегин
S:00:00:00 00.00
R:12:17:19 23.03
?:Все подключились. Не забудь поздороваться)
Евгений Сыроегин
S:00:00:00 00.00
R:12:17:19 23.03
Прошу прощения за задержку. Ещё актуально?
Сергей Тяпкин
S:00:00:00 00.00
R:12:17:19 23.03
Здравствуйте
Сергей Тяпкин
S:00:00:00 00.00
R:12:17:19 23.03
Если только в 21:00-21:30 начать
Евгений Сыроегин
S:00:00:00 00.00
R:12:17:19 23.03
А позже будет удобно?
Евгений Сыроегин
S:00:00:00 00.00
R:12:17:19 23.03
И да, сначала хотелось бы уточнить язык программирования)
Сергей Тяпкин
S:00:00:00 00.00
R:12:17:19 23.03
Паскаль
Сергей Тяпкин
S:00:00:00 00.00
R:12:17:19 23.03
Позже?
Да, до 22-23
Сергей Тяпкин
S:00:00:00 00.00
R:12:17:19 23.03
?
Евгений Сыроегин
S:00:00:00 00.00
R:12:17:19 23.03
У меня сейчас определённые проблемы возникли - может быть, получится завтра?
Евгений Сыроегин
S:00:00:00 00.00
R:12:17:19 23.03
В любое время дня - я завтра свободен весь день
Сергей Тяпкин
S:00:00:00 00.00
R:12:17:19 23.03
Нет, завтра уже поздно будет
Ничего страшного, я ещё кого-нибудь найду
Евгений Сыроегин
S:00:00:00 00.00
R:12:17:19 23.03
Собеседник прикрепил 1 вложений, надеемся они не потерялись по пути)
Сергей Тяпкин
S:00:00:00 00.00
R:12:17:19 23.03
Здравствуйте
Сергей Тяпкин
S:00:00:00 00.00
R:12:17:19 23.03
Модем провести занятие сегодня?
Евгений Сыроегин
S:00:00:00 00.00
R:12:17:19 23.03
Так и не получилось найти никого?)
Сергей Тяпкин
S:00:00:00 00.00
R:12:17:19 23.03
Да)
Евгений Сыроегин
S:00:00:00 00.00
R:12:17:19 23.03
Это грустно, на самом деле. Я вот тоже перед одним экзаменом пытался найти кого-то, кто мог бы помочь по разным группам. В итоге даже предложений не было.
Евгений Сыроегин
S:00:00:00 00.00
R:12:17:19 23.03
Давай часов в 9 вечера попробуем?
Евгений Сыроегин
S:00:00:00 00.00
R:12:17:19 23.03
Или позже
Сергей Тяпкин
S:00:00:00 00.00
R:12:17:19 23.03
Хорошо
Евгений Сыроегин
S:00:00:00 00.00
R:12:17:19 23.03
Так, я вот домой пришёл, в общем-то
Евгений Сыроегин
S:00:00:00 00.00
R:12:17:19 23.03
Готов(а)?
Сергей Тяпкин
S:00:00:00 00.00
R:12:17:19 23.03
Через полчаса норм будет?
Евгений Сыроегин
S:00:00:00 00.00
R:12:17:19 23.03
Да, хорошо
Сергей Тяпкин
S:00:00:00 00.00
R:12:17:19 23.03
#command
Сергей Тяпкин
S:00:00:00 00.00
R:12:17:19 23.03
Куда оплатить?
Евгений Сыроегин
S:00:00:00 00.00
R:12:17:19 23.03
4276 6300 1404 0839
Сбер
Сергей Александрович Ш.
По оплате пришлите чек, пожалуйста
400руб
Евгений Сыроегин
S:00:00:00 00.00
R:12:17:19 23.03
Вот сюда
Евгений Сыроегин
S:00:00:00 00.00
R:12:17:19 23.03
Serg_T#0130
Евгений Сыроегин
S:00:00:00 00.00
R:12:17:19 23.03
Вот дискорд
Сергей Тяпкин
S:00:00:00 00.00
R:12:17:19 23.03
Собеседник прикрепил 1 вложений, надеемся они не потерялись по пути)
Евгений Сыроегин
S:00:00:00 00.00
R:12:17:19 23.03
Супер, добавляй в друзья тогда в дискорде
Сергей Тяпкин
S:00:00:00 00.00
R:12:17:19 23.03
У меня компьютер залагал, сейчас перезагружу
Сергей Тяпкин
S:00:00:00 00.00
R:12:17:19 23.03
Привет
А откуда берется count?Собеседник прикрепил 3 вложений, надеемся они не потерялись по пути)
Евгений Сыроегин
S:00:00:00 00.00
R:12:17:19 23.03
При начале работы программы нас просят ввести количество спортсменов, оно записывается в переменную size
Евгений Сыроегин
S:00:00:00 00.00
R:12:17:19 23.03
Дальше мы вводим данные спортсменов, но сейчас на это не смотрим
Евгений Сыроегин
S:00:00:00 00.00
R:12:17:19 23.03
А дальше есть строчка out(sps, size)
Евгений Сыроегин
S:00:00:00 00.00
R:12:17:19 23.03
Она вызывает функцию out, передавая в неё 2 параметра
Евгений Сыроегин
S:00:00:00 00.00
R:12:17:19 23.03
Теперь идем в функцию. Там первый параметр назван sps, а второй - count.
Сергей Тяпкин
S:00:00:00 00.00
R:12:17:19 23.03
Count это счётчик?
Евгений Сыроегин
S:00:00:00 00.00
R:12:17:19 23.03
Значит внутри функции будут изначально определены две переменные - sps и count, и равны они будут первому и второму параметрам соответственно
Евгений Сыроегин
S:00:00:00 00.00
R:12:17:19 23.03
И мы пишем код внутри функции, используя эти переменные
Сергей Тяпкин
S:00:00:00 00.00
R:12:17:19 23.03
А high(str) что обозначает?
И следующая строка?Собеседник прикрепил 1 вложений, надеемся они не потерялись по пути)
Евгений Сыроегин
S:00:00:00 00.00
R:12:17:19 23.03
> Count это счётчик?
Нет, внутри функции параметр count используется в качестве обозначения кол-ва элементов в массиве, который в неё передали. Счётчик в ней - это i
Евгений Сыроегин
S:00:00:00 00.00
R:12:17:19 23.03
Насчёт high(str).
Помнишь, мы говорили вчера про таблицу Ascii, и что у каждого символа есть свой код?
Так вот каждая строка в паскале и в Си заканчивается символом с номером 0.
Это нужно, чтобы функции вывода строк знали, до какого символа её надо выводить
Евгений Сыроегин
S:00:00:00 00.00
R:12:17:19 23.03
То есть можешь написать
var
str: string[30];
begin
str := *three hundred bucks*;
// сейчас в конце строки стоит нулевой символ. Давай поставим его в другое место и посмотрим на вывод строки
str[8] := #0;
writeln(str) ;
Евгений Сыроегин
S:00:00:00 00.00
R:12:17:19 23.03
Вот проверь. Должны вывестись первые 7 символом строки
Евгений Сыроегин
S:00:00:00 00.00
R:12:17:19 23.03
То есть
three h
Сергей Тяпкин
S:00:00:00 00.00
R:12:17:19 23.03
Собеседник прикрепил 1 вложений, надеемся они не потерялись по пути)
Сергей Тяпкин
S:00:00:00 00.00
R:12:17:19 23.03
Тогда count обозначается только в локальном var
Сергей Тяпкин
S:00:00:00 00.00
R:12:17:19 23.03
Основное различие между ними заключается в том, что функции всегда возвращают значение, а процедуры могут или не могут.
Возвращают в каком смысле?
Сергей Тяпкин
S:00:00:00 00.00
R:12:17:19 23.03
А что обозначает тогда этот high?
Количество символов до 0?
Евгений Сыроегин
S:00:00:00 00.00
R:12:17:19 23.03
Да, по сути, это функция, которая внутри себя делает for по элементам строки, и когда находит 0 - останавливается и возвращает кол-во символов в строке
Евгений Сыроегин
S:00:00:00 00.00
R:12:17:19 23.03
(Я вот не знаю, пересылаются ли сообщения, потому копирую их заодно со значком *>*. Они пересылаются?)
> Тогда count обозначается только в локальном var
Да, всё так. Область видимости этой переменной - тело функции
Евгений Сыроегин
S:00:00:00 00.00
R:12:17:19 23.03
> Основное различие между ними заключается в том, что функции всегда возвращают значение, а процедуры могут или не могут.
Возвращают в каком смысле?
В том, что ты можешь присвоить переменной значение вызванной функции.
ну вот есть
funtion foo(a, b: integer): integer;
Евгений Сыроегин
S:00:00:00 00.00
R:12:17:19 23.03
ты можешь вызвать функцию foo и значение, которое она возвращает, присвоить какой-нибудь переменной. То есть написать
var a: integer;
Евгений Сыроегин
S:00:00:00 00.00
R:12:17:19 23.03
...
var a: integer;
begin a = foo(4, 5); end;
Сергей Тяпкин
S:00:00:00 00.00
R:12:17:19 23.03
И тогда возвращая а в основную программу, а поменяется на а из функции?
Евгений Сыроегин
S:00:00:00 00.00
R:12:17:19 23.03
Да, а станет равно возвращенному из функции значению
Евгений Сыроегин
S:00:00:00 00.00
R:12:17:19 23.03
Если ничего не вернуть, то по умолчанию 0 будет
Евгений Сыроегин
S:00:00:00 00.00
R:12:17:19 23.03
Ну то есть если в теле функции было написано, что foo := 5;
, то вернется 5, и а станет равно 5
Сергей Тяпкин
S:00:00:00 00.00
R:12:17:19 23.03
А в процедуре получается можно а как угодно менять, но в основной проге а не поменяется?
Евгений Сыроегин
S:00:00:00 00.00
R:12:17:19 23.03
Если не было присвоения переменной foo, то по умолчанию foo = 0 будет
Евгений Сыроегин
S:00:00:00 00.00
R:12:17:19 23.03
Да, всё верно говоришь
Евгений Сыроегин
S:00:00:00 00.00
R:12:17:19 23.03
Локальные переменные не влияют на глобальные
Евгений Сыроегин
S:00:00:00 00.00
R:12:17:19 23.03
Нооооо, есть приколы всякие
Евгений Сыроегин
S:00:00:00 00.00
R:12:17:19 23.03
например когда мы передаёт в функцию указатель, или принимаем переменную по ссылке (ну вот эти @ и ^, про которые мы вчера говорили), то мы можем по этому указателю изменять переменную, а т.к. указатель указывает на место в памяти, где лежит переменная из основной проги - поменяется эта переменная
Евгений Сыроегин
S:00:00:00 00.00
R:12:17:19 23.03
или если, например, мы передаём в функцию массив
Евгений Сыроегин
S:00:00:00 00.00
R:12:17:19 23.03
вот если мы простую переменную передаём, то получается, что создаётся новая, локальная переменная внутри функции. И кол-во этой памяти изначально известно, потому что мы написали, какого типа эта переменная.
Евгений Сыроегин
S:00:00:00 00.00
R:12:17:19 23.03
Так что эта память может выделиться перед запуском проги и всё будет ок
Евгений Сыроегин
S:00:00:00 00.00
R:12:17:19 23.03
а вот если мы передаём массив, то мы не пишем, сколько конкретно элементов в принятом массиве должно быть
Евгений Сыроегин
S:00:00:00 00.00
R:12:17:19 23.03
мы пишем просто array of integer, например
Евгений Сыроегин
S:00:00:00 00.00
R:12:17:19 23.03
И потому копия переданного массива для локального использования в функции не может быть создана. Ну память не может быть выделена для этого перед запуском проги
Евгений Сыроегин
S:00:00:00 00.00
R:12:17:19 23.03
И вообще-то сама переменная, которая является массивом, на самом деле является указателем на его начало
Евгений Сыроегин
S:00:00:00 00.00
R:12:17:19 23.03
и когда мы пишем
array[6], то он именно отсчитывает 6-ой элемент от начала массива в памяти, и берет оттуда значение
Евгений Сыроегин
S:00:00:00 00.00
R:12:17:19 23.03
То есть сама операция a[b] преобразует указатель a в значение, основываясь на числе b
Евгений Сыроегин
S:00:00:00 00.00
R:12:17:19 23.03
ну [] - это тоже оператор какой-то
Евгений Сыроегин
S:00:00:00 00.00
R:12:17:19 23.03
И короче если создать массив в проге, потом передать его в функцию и поменять какой-то элемент внутри функции, то массив изменится и в глобальной области видимости
Сергей Тяпкин
S:00:00:00 00.00
R:12:17:19 23.03
То есть с {1,2,3,4,5,6,7,8}
Меняем 2 элемент например на 8
И получаем {0,8,0,0,0,0,0,0}
Евгений Сыроегин
S:00:00:00 00.00
R:12:17:19 23.03
не, если мы второй на 8 поменяем, то будет
[1, 8, 3, 4, 5, 6, 7, 8]
Сергей Тяпкин
S:00:00:00 00.00
R:12:17:19 23.03
То есть в данном случае не обновляются другие элементы
Евгений Сыроегин
S:00:00:00 00.00
R:12:17:19 23.03
Да
Евгений Сыроегин
S:00:00:00 00.00
R:12:17:19 23.03
ну если мы написали arr[2] := 8, то не обновятся
Евгений Сыроегин
S:00:00:00 00.00
R:12:17:19 23.03
присвоится только второй
Сергей Тяпкин
S:00:00:00 00.00
R:12:17:19 23.03
А count отсчитывается автоматически?Собеседник прикрепил 1 вложений, надеемся они не потерялись по пути)
Сергей Тяпкин
S:00:00:00 00.00
R:12:17:19 23.03
Он тут только в var
Евгений Сыроегин
S:00:00:00 00.00
R:12:17:19 23.03
В смысле - автоматически? Мы же его передаём в функцию, как длину массива
Евгений Сыроегин
S:00:00:00 00.00
R:12:17:19 23.03
нам её пользователь ввыёл
Сергей Тяпкин
S:00:00:00 00.00
R:12:17:19 23.03
Ну то есть он сам отсчитывает длину*
Сергей Тяпкин
S:00:00:00 00.00
R:12:17:19 23.03
Или там ниже есть ввод count:=...
Евгений Сыроегин
S:00:00:00 00.00
R:12:17:19 23.03
ну функция при её вызове знает длину массива
Евгений Сыроегин
S:00:00:00 00.00
R:12:17:19 23.03
она ей передаетс
Евгений Сыроегин
S:00:00:00 00.00
R:12:17:19 23.03
я не совсем понимаю, в чем проблема....
Сергей Тяпкин
S:00:00:00 00.00
R:12:17:19 23.03
Да просто пока отвечали другие, я слушал и немного запутался
Сергей Тяпкин
S:00:00:00 00.00
R:12:17:19 23.03
⭐:День добрый
Работа по данному заказу продолжится?
Или закрываем?
Сергей Тяпкин
S:00:00:00 00.00
R:12:17:19 23.03
Привет
Продолжится
В последнее время просто нет особо свободного времени
Евгений Сыроегин
S:00:00:00 00.00
R:12:17:19 23.03
Я свободен, если что, так что пиши в любое время)
Сергей Тяпкин
S:00:00:00 00.00
R:12:17:19 23.03
Привет
Сегодня удобно?
Евгений Сыроегин
S:00:00:00 00.00
R:12:17:19 23.03
Привет. Нет, сегодня вообще никак
Евгений Сыроегин
S:00:00:00 00.00
R:12:17:19 23.03
И завтра тоже, к сожалению
Евгений Сыроегин
S:00:00:00 00.00
R:12:17:19 23.03
Только пятницу могу предожить
Сергей Тяпкин
S:00:00:00 00.00
R:12:17:19 23.03
Собеседник прикрепил 1 вложений, надеемся они не потерялись по пути)
Евгений Сыроегин
S:00:00:00 00.00
R:12:17:19 23.03
Вложения потерялись
Евгений Сыроегин
S:00:00:00 00.00
R:12:17:19 23.03
По пути...
Евгений Сыроегин
S:00:00:00 00.00
R:12:17:19 23.03
Надежды не оправдались
Сергей Тяпкин
S:00:00:00 00.00
R:12:17:19 23.03
⭐:Это был стикер)
Сергей Тяпкин
S:00:00:00 00.00
R:12:17:19 23.03
⭐:Стикеры/пересланные и видео не доходят пока что
Сергей Тяпкин
S:00:00:00 00.00
R:12:17:19 23.03
Кстати, а можно посоветоваться?
Как думаешь, к кому идти?Собеседник прикрепил 1 вложений, надеемся они не потерялись по пути)
Евгений Сыроегин
S:00:00:00 00.00
R:12:17:19 23.03
Ну лично я этих фамилий вообще не знаю)
Евгений Сыроегин
S:00:00:00 00.00
R:12:17:19 23.03
У меня в универе толком проги никакой не было.
Зато вот преподов по инже я уже хорошо знаю, и в большом количестве)
Сергей Тяпкин
S:00:00:00 00.00
R:12:17:19 23.03
А по начерту?)
Евгений Сыроегин
S:00:00:00 00.00
R:12:17:19 23.03
Ну надо смотреть)
Евгений Сыроегин
S:00:00:00 00.00
R:12:17:19 23.03
Я не вспомню прям всех так. Но из списка смогу сказать, к кому точно не надо идти
Сергей Тяпкин
S:00:00:00 00.00
R:12:17:19 23.03
Собеседник прикрепил 1 вложений, надеемся они не потерялись по пути)
Евгений Сыроегин
S:00:00:00 00.00
R:12:17:19 23.03
Тебе какие-то ноунеймы попадаются
Евгений Сыроегин
S:00:00:00 00.00
R:12:17:19 23.03
Вообще ни разу про них не слышал
Сергей Тяпкин
S:00:00:00 00.00
R:12:17:19 23.03
Эххх
Не сносить мне головы...
А ведь надо 2 комиссии до 12 сдать, причем -3 дня сразу из за праздников...
Сергей Тяпкин
S:00:00:00 00.00
R:12:17:19 23.03
Может кто-то из твоих знакомых знает, что да как на этих комиссиях и к кому лучше идти?
Евгений Сыроегин
S:00:00:00 00.00
R:12:17:19 23.03
Увы, я таких не знаю
Сергей Тяпкин
S:12:06:28 23.03
R:12:17:19 23.03
⭐:День добрый
Работа по заказу завершена?
Закрываемся?