Necromancer IT
30 subscribers
196 photos
1 video
38 files
18 links
Библиотека из набросков кода разных тематик.

Админ: @KostRs

Сайт-визитка Palma - https://palmaluv.github.io/palma.github.io

Чат - https://t.me/+U8YZeTKdpnKxEG8t
Download Telegram
PS
Извините что не делаю информативные и полезные посты. Я очень сожалею но почти не учу ничего из личных причин. Надеюсь вы поймете. Но когда пойдет жара вы будете в курсе событий😉
Пока буду делать подобные посты или давать что-то важное из больших книжек

Спасибо за понимание☺️
Necromancer IT pinned «И так. Хоть я не начинал учить Java, но думаю буду потом, я решил не мучить вас HTML и JS и сделать небольшой пост по этому поводу. Знаю одни курсы на которых вас могут обучить ему. Они буквально с полного нуля. Возможно без палочки) Пытался когда-то но не…»
Итак. Первая заметка по поводу Java. В принципе из общих объяснений строения и малого объема информации понятно что он схож по строению с JS. Но и не совсем. Как минимум для меня разные длины команд. Ведь в JS я не использовал настолько "длинные"...🎓

Что же. Знакомство на теоретическом уровне окончено и я этому очень рад. Постараюсь продолжать изучать дальше. Жаль только что желания сейчас не хватает на практику🙍‍♂
Нашел еще одни курсы по Java. Постараюсь максимально это изучить и самое важное постараюсь дать вам. Курсы на сайте есть еще по php, python, js(заинтересовало) и bash. Они бесплатные и есть 13 курсов. И есть платные курсы по 24 доллара в месяц, Но их более 60.
Вроде бы все что я хотел сказать о них🤔
Буду смотреть что это такое)

Вот ссылка

👉https://ru.hexlet.io/pricing👈
Все же джава был отложен мной для более точного раскрытия сути и разборчивого изучения JS. На том же хекслете я нашел курсы по нему и понемногу старался изучать. Постов не было Т.К. все то что я смотрел уже проходил и оно тут есть. Даже если и были нововведения то они были нереально малыми. И несколько уроков (там это шаги) занимало объяснение как пользоваться специальной программой на подобии сублайма, что мы будем делать, какие типы заданий будут и т.д. и сейчас был можно сказать прорыв, хоть и маленький... но я расскажу об этом в следующем посте
Было сказано что "var" менее эффективен чем даная вещь и что он вообще используется преимущественно в циклах. малое, но ранее я использовал лишь "var"
Вот текст который обосновывал это. В дальнейших уроках буду разбирать почему константа а не переменная.

&Слова преподавателя&

"Вероятно у вас возник вопрос: "почему константы, а не переменные?". Дело в том, что константы гораздо проще, чем переменные. Они всегда однозначно определены и никогда не меняются. Более того, в школе и в ВУЗе на математике и физике мы имели дело только с константами, хотя многими этот факт позабыт.

Если мы говорим, что A это 5, то на протяжении текущих вычислений A не поменяется. Само выражение A это 5 является ничем иным, как логическим утверждением. Убедитесь сами: Допустим A это 5, а B это 3, тогда A + B это 8. Ничего не напоминает?

В будущих уроках мы, конечно же, разберем переменные, и вы увидите, что единственное место, где они требуются — это циклы. Почти во всех остальных случаях они не нужны, и их присутствие усложняет код (это будет объясняться по ходу дела)."

&Слова преподавателя&
Necromancer IT pinned «Все же джава был отложен мной для более точного раскрытия сути и разборчивого изучения JS. На том же хекслете я нашел курсы по нему и понемногу старался изучать. Постов не было Т.К. все то что я смотрел уже проходил и оно тут есть. Даже если и были нововведения…»
Итак. Как и говорил, я занялся функциями. В данном скрине показано основное строение, какое показывает преподаватель и какое используется часто по его словам. Как я понял там создали константу, которая была ответом на какие-то преобразования с цифрами. В ней находится переменная, которая держит в себе функцию и в скобках сразу после нее идут возможные значения. Чтобы было проще объяснить я сделаю схему.

Константа > Функция без характерного моим прежним постам var (потому и непривычно) > "Равно" и в скобках находятся переменные. какие захотите ( как и до этого, только можно и массивом(через точку с запятой вроде бы. В уроке этого не было)) > специальная стрелочка "=>" (не знаю зачем. Просто надо) > фигурные скобки заключающие в себе функцию > функция. то есть те действия которые мы хотим выполнить и собственно переменные.

У этого всего есть вторая половина. то есть вызов функции. Без него смысла в ней нет так как она не выполнится и не даст результат. Там переменные которые хотим подставить расставляем в таком порядке в котором задали функцию.
Соответственно если у нас в константе задаются значения например x;y;z, то если хотим на месть x единицу то пишем ее первой, на место y пишем второй, и т.д.

Вот такой пост на сегодня. спасибо за внимание😊
И небольшое задание для наиактивнейших.😎 Кто может сделать благодаря функциям рабочий код вычисляющий формулу?
(a^2+2ab+b^2)
Если хотите отправьте свой результат мне в личку. Я постараюсь помочь с решением в случае неудач и смогу подтвердить рабочий ли код. Решать желать это или нет вам
Вот моя личка @KostRs
Итак. Снова привет)
Решил сделать небольшой пост для тех кого лень часто берёт что-то учить или открывать справочник по HTML/CSS. Я нашел конструктор для сайтов. Есть платные и бесплатные версии. Естественно что бесплатная не оч то крутая но работу и ее объём уменьшить должна. "А благодаря этой штуке можно заработать?" Спросит кто-то. Да, должно получиться. Но не забывайте что все ваши желания даже самый навороченный и дорогой конструктор выполнить не сможет. Думаю самое то для дизайнеров у которых от кучи тегов голова болит. Вот ссылочка😉

https://ru.wordpress.com
Всем хай спустя почти год.. Я поступил на нужную специальность и все же начал учиться. ВУЗ конечно не из лучших но и не нереально плохой. Но есть но. Мы учим СИ. Он по сути умер но мы обязаны его изучать и использование некоторого функционала оттуда обязательно. Я время от времени буду присылать сюда свой код. Недавно изучал массивы и пытался выполнять некоторые действия с ними. Все вроде бы проучилось. Потому я и решил это сделать. Да и неудобно что пропал настолько😅
Потому такие дела. Постараюсь проявлять хоть какой-то актив, и видя то что я делаю, думаю смогу помочь всм в вопросах касающихся того что я знаю, если таковы будут. А на повестке дня, как я уже говорил массивы. В коде будет их создание, вывод, сортировка пузырьком, нахождение четных элементов массива, их количества и рандомный выбор чисел. Все действия которые выполняются описалы в функции вывода(printf). Код рабочий и проверить его работу запросто можно при помощи Visual Studio или других компиляторов. Когда пытаюсь что-то сделать на телефоне использую Dcoder, вполне калссное приложение. Итак, вот код:

#include <cmath>
#include <math.h>
#include <iostream>
#include <stdio.h>
#include <time.h>
#include <cstdlib>
const int N = 11; //постоянная переменная которая =11
using namespace std; // языки ON

int main(){
int i, j, a, b, min = N, max = 0, remn_t = 0, remn = 0, mass[11] = {0}, mass_j[11] = {0}; //введение глобальных переменных
setlocale(LC_ALL, "Russian"); //русский on
srand(time(NULL)); // +рандом

printf("Элементы массива:\t");
for (i = 0; i < N; i = i + 1) {
mass[i] = rand()%N;
printf("%i\t", mass[i]);
} //создал массив благодаря рандому. Числа от 0 до 10, их всего 10


for (j = 0; j < N; j = j + 1) {
mass_j[j] = j;
} //массив для перебора. Числа от 1 до 10, тоесть все возможные в нашем массиве

printf("\n\nМассив без повторений:\t");
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++) {
if (mass_j[i] == mass[j]) {
printf("%i\t", mass_j[i]);
break;
}
}
} //провера на повторение

printf("\n\nЧетные элементы:\t");
for (i = 0; i < N; i = i++) {
if (mass[i] % 2 == 0 && mass[i] != 0) { //проверка на четность каждого числа и вывод в конце
remn = remn + 1; //кол-во
printf("%i\t", mass[i]);
}
}
printf("\n\nКоличество четных элементов: %i\t", remn);

printf("\n\nЭлементы кратные 3:\t");
for (i = 0; i < N; i = i + 1) {

if (mass[i]%3 == 0 && mass[i] != 0) {
remn_t = remn_t + 1;
printf("%i\t", mass[i]);
}
}
printf("\n\nКоличество элементов кратных 3: %i\t", remn_t); //цикл подобный проверке на четность

printf("\n\nСортировка массива: \t");
for (int i = N - 1; i >= 0; i--) {
b = 1;
for (int j = 0; j < i; j++) {
if (mass[j + 1] < mass[j]) {
a = mass[j];
mass[j] = mass[j + 1];
mass[j + 1] = a;
b = 0;
}
}
if (b == 1) {
break;
} //сортировка пузырьком путем проверки того больше ли след элемент массива. Если нет то номер первого элемента на 1 больше. Сам не до конца пока понял как работает

}
for (int i = 0; i < N; i++) {
printf("%i\t", mass[i]);
} //вывод результата сортировки

printf("\n\nсортировка массива без повторений:\t");
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++) {
if (mass_j[i] == mass[j]) {
printf("%i\t", mass_j[i]);
break;
}
}
} //убираем повторения чисел

printf("\n\nРазность наибольшего и наименьшего элемента: "); //если бы не было сортировки
for (i = 0; i < N; i++) {
if (mass[i] < min) {
min = mass[i];
}
if (mass[i] > max) {
max = mass[i];
}
} //тут собственно проверяется каждый элемент и если какой-то другой меньше или больше его то он становится, соответственно миримумом или максимумом
int res = max - min;
printf("\t%i - наибольший, \t%i - наименьший, \t%i - разница \n", max, min, res); //сам вывод
return(0);
}


Благодарствую за внимания, вот то что я хотел сказать сегодня. Пока что буду изучать все по программе,
позже думаю удариться в С# потому что желаю занться геймдевом. Но это пока отложено. И на последок скажу что буду рад если кому-то это информация будет полезна, хороших суток всем)
Немного дискретной математики в студию.

#include<iostream>
#include<time.h>
#include<stdio.h>
#include<cstdlib>
#include<string.h>

using namespace std;

int main() {
srand(time(NULL));
int a, b, c, d, e, num, len;
char str[100];
num = 0;
while (num < 20) {
for (int i = 0; i < 8; i++) {
a = 97 + rand() % 4;
str[i] = a;
}
b = 3 + rand() % 8;
str[b] = '\0';
c = 0;
d = 0;
e = 0;
len = strlen(str);
if (*(str + len - 1) == 'c' && *(str + (len - 2)) == 'b') {
for (int i = 0; i < len; i++) {
if (*(str + i) == 'a') {
c++;
}
if (*(str + i) == 'a'){
d++;
if (*(str + i + 1) != 'b') {
d--;
}
}
if (*(str + i) == 'b') {
e++;
if (*(str + i + 1) != 'a') {
e--;
}
}
}
}
if (c == 2 && d == 0 && e == 0) {
printf("%s\n", str);
num++;
}
}
}

Этот код был нужен мне для создания букв в определенном количестве для нахождения возможных комбинаций букв по заданным правилам(Содержит ровно два символа «а», заканчивается на
«bс» и символы «а» и «b» не стоят рядом).
Состоит он из:
1) Создание переменных и символьного массива. Число 100 появилось из-за формата юникод, который Дает символам номера. Например a = 97, b = 98, c = 99. Именно эти символы и соответствующие им цифры я взял в пример ТК в коде используются они. При этом рандомное количество символов будет пустым.
2) Проверка условия через перебор всех элементов массива. Точно не пойму зачем нужны звездочки. Точно знаю что если использовать 2 "тела" кода(Н: int main) то переменные никак не могут взаимодействовать. Но если использовать * то с определенными переменными это сделать можно.
Тут я проверяю два ли а в массиве, не стоят ли рядом а и b. При этом я постарался сделать малое количество переменных и если соответствий с тем что не надо нет то переменная будет 0.
3) Проверяю выполнились ли необходимые для меня условия и вывожу массив.

Цикл повторится столько раз сколько нужно и все работает правильно. Но тут нет уборки повторений и мне это не очень нравится. Но в принципе можно было создать динамический массив из имеющихся массивов и добавлять к нему все полученные, удовлетворяющие условия массивы и каждый раз находя необходимый массив проверять нет ли такого же. В теории думаю это возможно но в данный момент на это нет времени. если знаете зачем тут была необходима * скажите пожалуйста. И будет интересно посмотреть если кто-то сделает код в котором не будет повторов. Такие дела на данный момент. В ближайшее время буду делать графики и я откровенно был в шоке что в консоли можно что-то нарисовать попиксельно. Вы его здесь увидите как только я его осилю
(PS: ничего не понял, разберусь потом)
Небольшой пост по функциям в С++

#include<cmath>
#include<iostream>

double a(double x) {
double a1 = 3 * x - 2 * pow(cos(x), 3);
printf("%f\n", a1);
return a1;
}

double b(double x) {
double b1 = log10(x) + 2 * exp(x);
printf("%f\n", b1);
return b1;
}

double c(double x) {
double c1 = pow(x, 1 / 3) + 4 * x - 1;
printf("%f\n", c1);
return c1;
}

double h(double a1, double b1) {
double h1 = 3 * pow(a1, 2) + 4 * b1 - 8;
printf("%f\n", h1);
return h1;
}

int main() {
double a1, b1, c1, h1, x = 0.3;
printf("a = ");
a1 = a(x);
printf("\nb = ");
b1 = b(x);
printf("\nc = ");
c1 = c(x);
printf("\nh = ");
h1 = h(a1, b1);
}

Итак, не смотрите в начале ни на что кроме main, это самое важное. Функции не выполняются до тех пор пока мы не вызовем их через него. Что мы видим? Для начала создаются переменные которые примут значения функций и, собственно, икс, значение которого неизменно, можно это изменить при помощи cin/scanf. Позже мы вызываем функцию и выбираем какие значения мы в нее передаем. То есть у меня для a1 b1 и c1 это х, для h1 это значения из предыдущих функций. По условию.
В самих же функциях мы должны в скобках указать тип аргумента. В моем случае это double x/a1,b1 и ту переменную которую функция возвращает(return).
Но что мы видим в конце? То есть почему я создал переменные a1, b1, c1 и h1? Дело в том что те a1, b1, c1 и h1 которые возвращаются с функций являются локальными, фактически у нас есть по две каждой из этих переменных. Те которые есть в мейн, передались и использовались и те, которые возвратились. Нам обязательно нужно присваивать переменным результаты функции. Результат если мы просто их вызовем будет, но он будет не правильным, почему точно не скажу.
За последнее время я начал учиться писать максимально компактный код, результат которого должен определенно, как минимум меня удовлетворять. При этом стоит не терпеть ни одного восклицательного знака. Часто, хоть програма и работает, но результат получается не правильным, потому стоит придираться к себе, не подключать лишние библиотеки, не создавать лишние переменные, писать красивый и понятный код и, конечно же писать комментарии к своему коду.
Позже разберу небольшой код по указателям. Не уверен когда это будет но это точно будет.
Всем всего хорошего)