Nauka programowania bez algorytmiki

Nauka programowania bez algorytmiki
Adam Korin
  • Rejestracja:około rok
  • Ostatnio:około rok
  • Postów:1
0

Mam trochę dziwne pytanie.
Jestem właśnie w technikum na kierunku technik programista. Szczerze nie wiem co robić w mojej sytuacji. Chodzi o to że nie radzę sobie z algorytmiką szeroko
pojętą. Na lekcjach informatyki rozszerzonej jak piszemy jakieś programy dajmy na to szyfrujące tekst szyfrem cezara nie umiem w głowie wyobrazić sobie jak to ma wszystko działać od tej strony matematycznej, na jakiej podstawie wyciągnąć jakieś wnioski, w którą stronę iść. Natomiast gdy robię zadania np. z programowania obiektowego w Javie czy C# idzie mi bardzo dobrze. Uważam również że zasób mojej wiedzy jest dużo większy niż innych osób na moim kierunku. Bardzo często kierują się do mnie po pomoc gdy coś sprawia im problem. Pytanie brzmi: Czy jeśli mam takie trudności z tą algorytmiką, rozwiązywaniem problemów od tej strony matematycznej to
programowanie jest dla mnie? Czy opłaca się robić cokolwiek w tym kierunku? Od razu informuję że matematykę w szkole lubię (nie wiem co będzie na studiach).

edytowany 1x, ostatnio: Adam Korin
DP
  • Rejestracja:około rok
  • Ostatnio:10 miesięcy
  • Postów:5
3

Tak.

When it comes to writing code, the number one most important skill is how to keep a tangle of features from collapsing under the weight of its own complexity.

https://prog21.dadgum.com/177.html

PP
  • Rejestracja:ponad 2 lata
  • Ostatnio:11 miesięcy
  • Postów:146
1

W szeroko pojetym web-dev'ie jak najbardziej. "Pare" lat siedze w tym interesie i do tej pory nie spotkalem sie z najmniejszym zakresem algorytmiki. Gdyby nie prywatne projekty w tej chwili nie mialbym pojecia o podstawowych zagadnieniach zwiazanych z algorytmami.

Natomiast gdy robię zadania np. z programowania obiektowego w Javie czy C# idzie mi bardzo dobrze.

I tego sie trzymaj. Jesli skupisz sie na web-dev'ie to przekonasz sie ze tu najwazniejsza jest struktura i czytelnosc aplikacji, jezyk angielski i umiejetnosc integracji w kodzie gotowych rozwiazan, ktore w wiekszosci wypadkow z powodu fatalnej dokumentacji nie raz stana sie dla Ciebie calkiem sporym wyzwaniem.

Porownujac prace w web-dev'ie do serwisu samochodowego: potrzebny jest lakiernik (front) potrzebny jest mechanik (backend). Ale mechanik sam sobie czesci nie produkuje, od tego jest ktos inny, chociaz na upartego sam moze odczasu do czasu odpalic sobie tokarke.

No i najwazniejsze 😀 w web-dev'ie zarabia sie znacznie lepiej niz gdzie indziej.

woolfik
  • Rejestracja:ponad 17 lat
  • Ostatnio:dzień
  • Postów:1595
4

Ziomek ja już z 15 lat programuję i w życiu żadnego szyfru cezara nie robiłem ... nie przejmuj się tym kompletnie w codziennej pracy raczej nie będzie Ci to potrzebne lub po prostu będziesz korzystał z gotowych bibliotek. Fakt zdarzają się takie firmy jak ta gdzie robiłem dla wojska i tam projekty były mocno algorytmicznie złożone i wykraczały daleko poza sferę do znalezienia na google/SO ale to jest niewielki procent całej branży IT. Rób swoje rozwijaj się w obiektówce, poznawaj narzędzia, biblioteki, a algorytmy ... postaraj się zdać czy to w szkole czy na studiach aby cię nie przyblokowały ale nie przejmuj się tym kompletnie.

CZ
  • Rejestracja:ponad 8 lat
  • Ostatnio:dzień
  • Postów:2287
2

Powiem tak. Jak w tym wieku masz już styczność z takimi rzeczami to masz lepszy start niż 95% branży.

Algorytmika to kwestia wykucia. Skup się, powtarzaj zadania i je przyswoisz, aczkolwiek nie są to problemy na które trafisz w przeciętnej pracy. Jedynie się przydają na niektóre rekrutacje do firm.

edytowany 1x, ostatnio: Czitels
LukeJL
  • Rejestracja:około 11 lat
  • Ostatnio:około 3 godziny
  • Postów:8409
3
Adam Korin napisał(a):

Na lekcjach informatyki rozszerzonej jak piszemy jakieś programy dajmy na to szyfrujące tekst szyfrem cezara nie umiem w głowie wyobrazić sobie jak to ma wszystko działać od tej strony matematycznej

Kartka i długopis/ołówek i jedziesz.
Poza tym czasem nie wyobrazisz sobie, dopóki nie napiszesz programu błędnie i nie zaczniesz go powoli przerabiać tak, żeby robił to, co chcesz.

Czy jeśli mam takie trudności z tą algorytmiką, rozwiązywaniem problemów od tej strony matematycznej to programowanie jest dla mnie?

To jest technikum, ciężko żebyś ogarniał rzeczy na nie wiadomo jakim poziomie (zresztą do większości prac programistycznych nie potrzeba zaawansowanej algorytmiki, z drugiej strony jednak trochę myślenia algorytmicznego jest potrzebne). Też trzeba uważać, żeby się nie porównywać zbytnio z innymi, bo w szkołach średnich i na studiach jest pełno mądrali, którym wszystko dobrze idzie, bo się np. wykuli po nocach albo są zdolni po prostu.

No ale na tym etapie, to przyłożyłbym się przede wszystkim do angielskiego. Im lepszy angielski, tym lepiej. Kiedyś wystarczyło znać tylko na poziomie czytania dokumentacji, teraz płynny angielski jest standardem, programista często musi pracować z ludźmi z innych krajów.

Czy opłaca się robić cokolwiek w tym kierunku? Od razu informuję że matematykę w szkole lubię (nie wiem co będzie na studiach).

Działając powoli ale systematycznie w wybranym kierunku przez lata możesz więcej osiągnąć niż ktoś, komu idzie dobrze na początku.

Natomiast gdy robię zadania np. z programowania obiektowego w Javie czy C# idzie mi bardzo dobrze. Uważam również że zasób mojej wiedzy jest dużo większy niż innych osób na moim kierunku.

No i dobrze, trzeba umieć dostrzec swoją przewagę (chociaż z drugiej strony też jest to pułapka, że się osiądzie na laurach).


edytowany 6x, ostatnio: LukeJL
ledi12
  • Rejestracja:ponad 5 lat
  • Ostatnio:25 dni
  • Lokalizacja:Wrocław
4

Mam wrażenie, że źle pojmujesz pojęcie algorytmu i rozumiesz to jedynie jako jakiś matematyczny wzór. Kawałek kodu, który coś robi jest również algorytmem. Programowanie to rozwiązywanie problemów a "algorytmika" jako taka jednym z narzędzi. Tylko tyle i aż tyle.

Narzędzia dobiera się na podstawie problemu a nigdy nie było tak łatwo to zrobić jak dzisiaj -> Mnóstwo dokumentacji, SO, GPT.


Robię http response status cody w martwych ciągach
mrxormul
  • Rejestracja:około rok
  • Ostatnio:11 miesięcy
  • Postów:248
0

Zechcesz się dostać kiedyś do firmy w której praca nie polega na robieniu crudów, gdzie stawki są o wiele większe i będzie zonk.

Mi znajomość zaawansowanej matematyki wydawała się bez sensu. Natomiast taka wiedza płaci jak chcesz się zająć świadomie choćy machine learningiem.

RJ
  • Rejestracja:ponad 2 lata
  • Ostatnio:około 9 godzin
  • Postów:433
0

Może Ci się przyda na rekrutacji, jak Cię ktoś poprosi o odwrócenie tablicy, albo jakiegoś searcha szybkiego, ale generalnie na co dzień to nie.
Kluczem jest dowiezienie wartości dla biznesu i każdy patrzy na tą wartość dodaną, a nie na time complexity.

lion137
  • Rejestracja:około 8 lat
  • Ostatnio:3 minuty
  • Postów:4891
2

Kluczem jest dowiezienie wartości dla biznesu i każdy patrzy na tą wartość dodaną, a nie na time complexity.

Co? Złożoność czasowa nieważna? Słaba złożoność szybko cię uwali.


RJ
@lion137: zgadzam się, ale jeszcze szybciej Cię uwali niezgodność ze specką od biznesu.
lion137
Ok, słaba złożoność nie zawsze Cię uwali, ale zawsze powinieneć mieć o niej pojęcie.
elwis
  • Rejestracja:ponad 18 lat
  • Ostatnio:16 dni
2

Algorytmika nie jest potrzbna w większości zadań programistów. Duża część programistów nawet nie umie myśleć abstrakcyjnie. Tak więc nie musisz się tym zrażać (tym bardziej, że jesteś jeszcze w technikum). Czy warto rozwijać? Absolutnie, te umiejętności możesz stosować nawet w gównopracy, a nawet w zwykłych problemach życiowych. Nie przejmuj się tym, że nie potrafisz sobie wyobrazić szyfru cezara (byłby problem gdybyś nie rozumiał na jakiej zasadzie działa, bo to banał). W algorytmach kluczowe jest doświadczenie, obserwacja i wyciąganie wniosków. Szczęśliwie, nie musisz robić tego na papierze. Możesz sobie napisać program, który krok po kroku zwizualizuje ci algorytm i łatwiej będziesz mógł go zrozumieć. I wreszcie nie przejmuj się, że masz problem z matematyką, bo w szkole jest wykładana jak dla gamoni (żeby umieć użyć, ale nigdy nie zrozumieć). Pójdziesz na studia, poznasz rachunek różniczkowy i całkowy i wiele rzeczy stanie się jasne. Również to, że to co jest na ogół kojarzone z matematyką to może 1%, zupełnie niereprezentatywny dla tej dziedziny..


CZ
  • Rejestracja:ponad 8 lat
  • Ostatnio:dzień
  • Postów:2287
1
lion137 napisał(a):

Kluczem jest dowiezienie wartości dla biznesu i każdy patrzy na tą wartość dodaną, a nie na time complexity.

Co? Złożoność czasowa nieważna? Słaba złożoność szybko cię uwali.

A w polskich firmach stawia się programistom takie problemy, żeby rozważać złożoność obliczeniowa i szukać specjalnych algorytmów pod to? Raczej bym nie powiedział.

RJ
warto o niej pamiętać, ale tak jak napisałem wcześniej to jednak dowiezienie wartości biznesowi jest dużo ważniejsze. Co z tego, że napiszesz temat O(N) albo O(logN), skoro nie spełnia to podstawowych założeń :P
lion137
@Czitels: Jak wystawisz logikę z O(n^3) to prawie na pewno będzie dramat, i troszkę obciachu też ;)
CZ
@lion137: nigdy nie miałem okazji do tej pory w pracy rozwiązywać problemu gdzie by miała znaczenie złożoność obliczeniowa ;-) ale dlatego właśnie zmieniłem pracę, może w końcu się uda porobić coś ciekawego.
Xarviel
  • Rejestracja:ponad 3 lata
  • Ostatnio:około 16 godzin
  • Postów:847
1
Adam Korin napisał(a):

Na lekcjach informatyki rozszerzonej jak piszemy jakieś programy dajmy na to szyfrujące tekst szyfrem cezara nie umiem w głowie wyobrazić sobie jak to ma wszystko działać od tej strony matematycznej, na jakiej podstawie wyciągnąć jakieś wnioski, w którą stronę iść.

Można też się zastanowić, czy znaliście wszystkie potrzebne zagadnienia do stworzenia algorytmu, czyli

  • jakiś wstępny opis jak działa szyfr cezara
  • wyjaśnienie czym jest kod ascii
  • jak korzystać z kodu ascii w technologii X
  • podstawowa znajomość pętli i warunków
    itd

Tak, żeby nie "walczyć" ze składnią języka, a zająć się samą implementacją algorytmu

edytowany 1x, ostatnio: Xarviel
loza_prowizoryczna
  • Rejestracja:ponad 2 lata
  • Ostatnio:dzień
  • Postów:1606
1
Adam Korin napisał(a):

Pytanie brzmi: Czy jeśli mam takie trudności z tą algorytmiką, rozwiązywaniem problemów od tej strony matematycznej to programowanie jest dla mnie? Czy opłaca się robić cokolwiek w tym kierunku? Od razu informuję że matematykę w szkole lubię (nie wiem co będzie na studiach).

Tym bardziej jest dla ciebie? Widziałeś kiedyś języki programowania pisane przez algorytmików? Albo matematyków (Haskell ekhm)? Algorytmy i matematyka jest dla tych co zależy im na czasie i szybkości.

Normalni myślą wolno i żyją powoli - jeśli wszystko byśmy zalgorytmizowali to kto by kupował nowe produkty? Dlatego Java i C# wyglądają jak projektowane przez grafomana dla grafomanów. Dzięki temu generują zajęcie dla milionów leworęcznych i dają im poczucie spełnienia w pracy. To jest dobre w gospodarce dobrobytu. Ci ludzie później generują popyt.

Tak więc ucz się programowania a nie algorytmów. Zresztą, pośmiejmy się dalej - na algorytmach będą cię pewnie katować notacją duże O. Wiesz jaką złożoność ma najpowszechniej używany w optymalizacji różnego rodzaju procesów Simplex? No właśnie... A działa!


Przetrzyma wszystko
T3
  • Rejestracja:ponad 4 lata
  • Ostatnio:6 miesięcy
  • Postów:687
0

Algorytmy to kwestia ćwiczeń, może warto będzie kupić jakąś książkę z przykładami i rozwiązaniami, żebyś nauczył się w "ten" sposób myśleć (powinny wystarczyć filmiki na YT, tego jest tam pełno razem z przykładami na tablicy i w kodzie).

Jeśli nie ogarniesz takich rzeczy, to będzie ci ciężko znaleźć pierwszą pracę, bo praktycznie zawsze trafiają się pytania o jakieś algorytmy. Trudno mi sobie wyobrazić, żeby przeszedł rekrutację na juniora ktoś, kto się na nim wyłoży, żeby chociaż o takim rozwiązaniu opowiedzieć słownie - tam wystarczy pętla, nie ma żadnej filozofii.

Pewnie nie będzie ci to przeszkadzało w robieniu swoich projektów do szuflady, ale będziesz sobie pluł w brodę po każdej uwalonej rekrutacji na takich głupotach

AK
  • Rejestracja:ponad 6 lat
  • Ostatnio:8 dni
  • Postów:3561
3

Podiósł bym fakt, że CHYBA przedmiot algorytmika zawiera sporo o strukturach danych, bo trudno tego razem nie poruszyć.

O ile 90% klepaczy nie będzie zawowodo robić finezyjnych algorytmów, to bez solidnych podstaw nt struktur danych to tylko klikanie w Delphi zostaje


Bo C to najlepszy język, każdy uczeń ci to powie
Miang
ale Delphi to Ty szanuj
KamilAdam
  • Rejestracja:ponad 6 lat
  • Ostatnio:3 dni
  • Lokalizacja:Silesia/Marki
  • Postów:5505
0
AnyKtokolwiek napisał(a):

Podiósł bym fakt, że CHYBA przedmiot algorytmika zawiera sporo o strukturach danych, bo trudno tego razem nie poruszyć.

O ile 90% klepaczy nie będzie zawowodo robić finezyjnych algorytmów, to bez solidnych podstaw nt struktur danych to tylko klikanie w Delphi zostaje

Jeszcze w C można pisać bo tam wszystko jest tablicą charów. Chociaż w JSie chyba też wszystko tablicą jest tylko bardziej fikuśną? Kiedyś to potrafili zaprojektować prosty język. Np W takim TCLu to wszystko było stringiem. I komu to przeszkadzało?


Mama called me disappointment, Papa called me fat
Każdego eksperta można zastąpić backendowcem który ma się douczyć po godzinach. Tak zostałem ekspertem AI, Neo4j i Nest.js . Przez mianowanie
edytowany 1x, ostatnio: KamilAdam
Miang
ale w C mamy dodatkowo inty
LukeJL
  • Rejestracja:około 11 lat
  • Ostatnio:około 3 godziny
  • Postów:8409
0
KamilAdam napisał(a):

Chociaż w JSie chyba też wszystko tablicą jest tylko bardziej fikuśną?

Nie wiem skąd ten pogląd. Dlaczego akurat tablicą miałoby być wszystko w JS.


somekind
Myślę, że chodzi o to, że do właściwości obiektów możesz odwoływać się przez indekser.
LukeJL
Ale to nie są i tak tablice, bo są nie po kolei. Prędzej słowniki.
somekind
No, ale ludzie tak gadają. :-)
Potat0x
  • Rejestracja:ponad 8 lat
  • Ostatnio:20 dni
  • Postów:370
0

Jak już wcześniej było wspomniane, warto sobie na kartce rozrysować kolejne kroki działania algorytmu. Możesz też zacząć rozwiązywać proste zadania typu Hackerrank. Po jakimś czasie to się staje nawet wciągające :) Tym bardziej, że w pracy zazwyczaj rzadko się robi tego typu rzeczy.

Uważam również że zasób mojej wiedzy jest dużo większy niż innych osób na moim kierunku. Bardzo często kierują się do mnie po pomoc gdy coś sprawia im problem. Pytanie brzmi: Czy jeśli mam takie trudności z tą algorytmiką, rozwiązywaniem problemów od tej strony matematycznej to
programowanie jest dla mnie? Czy opłaca się robić cokolwiek w tym kierunku?

Miałem podobnie na początku studiów. Jeśli lubisz programować - to tak.

edytowany 1x, ostatnio: Potat0x
AN
AN
  • Rejestracja:ponad rok
  • Ostatnio:8 miesięcy
  • Postów:30
1
KamilAdam napisał(a):

Jeszcze w C można pisać bo tam wszystko jest tablicą charów. Chociaż w JSie chyba też wszystko tablicą jest tylko bardziej fikuśną? Kiedyś to potrafili zaprojektować prosty język. Np W takim TCLu to wszystko było stringiem. I komu to przeszkadzało?

W lua się tworzy własne typy w oparciu o tablice. Tak przy okazji to mam telewizor marki TCL.

forsberg
  • Rejestracja:prawie 18 lat
  • Ostatnio:około rok
  • Lokalizacja:Trójmiasto
1

Na wszystkich rozmowach rekrutacyjnych, na których byłem, pytali o wiedzę z zakresu stacku, nie o algorytmy. Na 2 z tych wszystkich natomiast dodatkowo pytali o algorytmikę. Skup się na wiedzy stacku, np. frameworku, narzędziach itp., których wymagają. Programistom płaci się głównie za wiedzę i doświadczenie, i to jest punkt odniesienia zazwyczaj osób rekrutujących. Bardzo niewiele jest firm jak Google, które dają jakieś tam intelektualne, sztuczne problemy do rozwiązania, mając nadzieję na to, że taki w sumie test IQ coś im powie na temat kandydata. :)

edytowany 1x, ostatnio: forsberg
AU
  • Rejestracja:ponad rok
  • Ostatnio:11 miesięcy
  • Postów:175
0
Adam Korin napisał(a):

Na lekcjach informatyki rozszerzonej jak piszemy jakieś programy dajmy na to szyfrujące tekst szyfrem cezara nie umiem w głowie wyobrazić sobie jak to ma wszystko działać od tej strony matematycznej, na jakiej podstawie wyciągnąć jakieś wnioski, w którą stronę iść. Natomiast gdy robię zadania np. z programowania obiektowego w Javie czy C# idzie mi bardzo dobrze. Uważam również że zasób mojej wiedzy jest dużo większy niż innych osób na moim kierunku. Bardzo często kierują się do mnie po pomoc gdy coś sprawia im problem. Pytanie brzmi: Czy jeśli mam takie trudności z tą algorytmiką, rozwiązywaniem problemów od tej strony matematycznej to

W głowie zwykle umie się wszystko wyobrazić jak się przerobi sporo problemów na kartce papieru i też od czysto matematycznej strony nie uda ci się zrozumieć dlaczego?
Bo problemy najprościej w pseudokodzie rozwiązywać, a matematyka pozwala dosyć abstrakcjynie opisywać problem, po którym jeszcze gorsze jest zrozumienie.
Da się zrobić odwrotnie zrozumieć jeszcze lepiej niż w pseudokodzie czy po prostu kodzie programu, ale wtedy musisz zdefiniować wszystko, nawet byś musiał logikę boola do rejestrów, żeby móc na tej podstawie resztę elementów.
Mniejsza o to bo to po prostu zajmie mnóstwo czasu tak pure matematyka.

Szyfr cezara jest prosty, musisz po prostu przysiąść chwilę.
Masz tam 3 zmienne kluczowe.
Wiadomość - 'abc'
Klucz - 3
Alfabet - 'abcdefghijklmnopqrstwz'

I teraz chcemy obliczyć zaszyfrowaną wiadomość to bierzemy pierwszą literę z wiadomości czyli a
znajdujemy indeks w alfabecie jest to pierwszy element czyli w programowaniu 0. zero jest pierwszym.
Dodajemy klucz 3, czyli a 0, b 1, c 2, d 3, e 4, f 5, g 6 itp.
dostajemy literę d, potem do b dostajemy e i do c dostajemy f
Dostajemy zaszyfrowaną wiadomość def z wiadomości abc.
A teraz żeby odszyfrować to znajdujemy d literę w alfabecie i przesuwamy index o 3 miejsca do tyłu.

Kolejny problem to co jak wyjdziemy po za alfabet np. z to było 24 litera, a my damy 25, można zrobić modulo z wielkości alfabetu.

Jak ręcznie na kartce papieru wykonasz takie szyfrowanie to na 100% będziesz wiedział jak masz napisać kod, żeby wykonać to samo w języku programowania.
Jak będziesz zaawansowany to leżąc w łóżku będziesz w wyobraźni rozwiązywał problemy i tylko na końcu wstaniesz i napiszesz kod.
A tak musisz dużo ćwiczyć, bo nikt się nie rodzi z wiedzą, każdy nabywa ją poprzez tworzenie i rozwiązywanie różnych problemów.
I każdy się tego może nauczyć, stymulujesz neurony danymi czynnościami i nawet nie wiesz kiedy staniesz się dobry w tym.

MA
  • Rejestracja:ponad rok
  • Ostatnio:około 19 godzin
  • Postów:48
0

Algorytmika to narzędzie. Dzięki niemu, problemy które napotkasz zostaną rozwiązane albo łatwiej rozwiązane. Nie da się na nowo rozwiązywać podobnych problemów na nowe sposoby w nieskończony sposób, z czasem każdy problem można rozwiązać stosując jakiś zbiór optymalnych podejść do tego problemu. I tak, dzięki temu praca programisty chcąc nie chcąc nauczy Ciebie w ten sposób myśleć, chociaż nikomu bym nie polecał bez faktycznego rozwiązywania zadań choćby na leetcode, bo będzie ona zwyczajnie trudna i męcząca.

Zobacz sobie kurs 'The Last Algorithms Course You'll Need' książka i kurs są całkiem spoko

obscurity
  • Rejestracja:około 6 lat
  • Ostatnio:dzień
1
Adam Korin napisał(a):

jak piszemy jakieś programy dajmy na to szyfrujące tekst szyfrem cezara nie umiem w głowie wyobrazić sobie jak to ma wszystko działać od tej strony matematycznej, na jakiej podstawie wyciągnąć jakieś wnioski, w którą stronę iść.

Algorytmy takie jak na rozmowach kwalifikacyjnych mogą nie być potrzebne do pracy, ale jeśli masz problem ze zrozumieniem jak działa szyfr cezara mając go przed sobą to może być problem. W pracy oprócz pisania swojego kodu będziesz musiał analizować kod innych a jeśli dodawanie 3 jest ciężkie do wyobrażenia to ja nie wiem.


"A car won't take your job, another horse driving a car will." - Horse influencer, 1910
forsberg
Jak się uczysz na początku algorytmów, matmy czy czegokolowiek w nieopdowiedni sposób - a nauczyciele informy często nie są dobrymi nauczycielami - to niekoniecznie wynika to z problemów ucznia, zwłaszcza jeśli inne elementy programowania, które także są abstrakcyjne, rozumie bardzo dobrze
LukeJL
  • Rejestracja:około 11 lat
  • Ostatnio:około 3 godziny
  • Postów:8409
1

Jak znasz angielski to możesz oglądać filmiki na youtube tłumaczące dane zagadnienie np. algorytmiki

Nauczyciel w szkole statystycznie będzie gorzej tłumaczyć niż ludzie z Youtube (a w szkole są zwykle gorsze warunki do zrozumienia niż przy nauce samodzielnej z netu) więc jeśli nauczyciela nie rozumiesz, to może znaczyć, że niewłaściwie tłumaczy.


edytowany 5x, ostatnio: LukeJL
Kliknij, aby dodać treść...

Pomoc 1.18.8

Typografia

Edytor obsługuje składnie Markdown, w której pojedynczy akcent *kursywa* oraz _kursywa_ to pochylenie. Z kolei podwójny akcent **pogrubienie** oraz __pogrubienie__ to pogrubienie. Dodanie znaczników ~~strike~~ to przekreślenie.

Możesz dodać formatowanie komendami , , oraz .

Ponieważ dekoracja podkreślenia jest przeznaczona na linki, markdown nie zawiera specjalnej składni dla podkreślenia. Dlatego by dodać podkreślenie, użyj <u>underline</u>.

Komendy formatujące reagują na skróty klawiszowe: Ctrl+B, Ctrl+I, Ctrl+U oraz Ctrl+S.

Linki

By dodać link w edytorze użyj komendy lub użyj składni [title](link). URL umieszczony w linku lub nawet URL umieszczony bezpośrednio w tekście będzie aktywny i klikalny.

Jeżeli chcesz, możesz samodzielnie dodać link: <a href="link">title</a>.

Wewnętrzne odnośniki

Możesz umieścić odnośnik do wewnętrznej podstrony, używając następującej składni: [[Delphi/Kompendium]] lub [[Delphi/Kompendium|kliknij, aby przejść do kompendium]]. Odnośniki mogą prowadzić do Forum 4programmers.net lub np. do Kompendium.

Wspomnienia użytkowników

By wspomnieć użytkownika forum, wpisz w formularzu znak @. Zobaczysz okienko samouzupełniające nazwy użytkowników. Samouzupełnienie dobierze odpowiedni format wspomnienia, zależnie od tego czy w nazwie użytkownika znajduje się spacja.

Znaczniki HTML

Dozwolone jest używanie niektórych znaczników HTML: <a>, <b>, <i>, <kbd>, <del>, <strong>, <dfn>, <pre>, <blockquote>, <hr/>, <sub>, <sup> oraz <img/>.

Skróty klawiszowe

Dodaj kombinację klawiszy komendą notacji klawiszy lub skrótem klawiszowym Alt+K.

Reprezentuj kombinacje klawiszowe używając taga <kbd>. Oddziel od siebie klawisze znakiem plus, np <kbd>Alt+Tab</kbd>.

Indeks górny oraz dolny

Przykład: wpisując H<sub>2</sub>O i m<sup>2</sup> otrzymasz: H2O i m2.

Składnia Tex

By precyzyjnie wyrazić działanie matematyczne, użyj składni Tex.

<tex>arcctg(x) = argtan(\frac{1}{x}) = arcsin(\frac{1}{\sqrt{1+x^2}})</tex>

Kod źródłowy

Krótkie fragmenty kodu

Wszelkie jednolinijkowe instrukcje języka programowania powinny być zawarte pomiędzy obróconymi apostrofami: `kod instrukcji` lub ``console.log(`string`);``.

Kod wielolinijkowy

Dodaj fragment kodu komendą . Fragmenty kodu zajmujące całą lub więcej linijek powinny być umieszczone w wielolinijkowym fragmencie kodu. Znaczniki ``` lub ~~~ umożliwiają kolorowanie różnych języków programowania. Możemy nadać nazwę języka programowania używając auto-uzupełnienia, kod został pokolorowany używając konkretnych ustawień kolorowania składni:

```javascript
document.write('Hello World');
```

Możesz zaznaczyć również już wklejony kod w edytorze, i użyć komendy  by zamienić go w kod. Użyj kombinacji Ctrl+`, by dodać fragment kodu bez oznaczników języka.

Tabelki

Dodaj przykładową tabelkę używając komendy . Przykładowa tabelka składa się z dwóch kolumn, nagłówka i jednego wiersza.

Wygeneruj tabelkę na podstawie szablonu. Oddziel komórki separatorem ; lub |, a następnie zaznacz szablonu.

nazwisko;dziedzina;odkrycie
Pitagoras;mathematics;Pythagorean Theorem
Albert Einstein;physics;General Relativity
Marie Curie, Pierre Curie;chemistry;Radium, Polonium

Użyj komendy by zamienić zaznaczony szablon na tabelkę Markdown.

Lista uporządkowana i nieuporządkowana

Możliwe jest tworzenie listy numerowanych oraz wypunktowanych. Wystarczy, że pierwszym znakiem linii będzie * lub - dla listy nieuporządkowanej oraz 1. dla listy uporządkowanej.

Użyj komendy by dodać listę uporządkowaną.

1. Lista numerowana
2. Lista numerowana

Użyj komendy by dodać listę nieuporządkowaną.

* Lista wypunktowana
* Lista wypunktowana
** Lista wypunktowana (drugi poziom)

Składnia Markdown

Edytor obsługuje składnię Markdown, która składa się ze znaków specjalnych. Dostępne komendy, jak formatowanie , dodanie tabelki lub fragmentu kodu są w pewnym sensie świadome otaczającej jej składni, i postarają się unikać uszkodzenia jej.

Dla przykładu, używając tylko dostępnych komend, nie możemy dodać formatowania pogrubienia do kodu wielolinijkowego, albo dodać listy do tabelki - mogłoby to doprowadzić do uszkodzenia składni.

W pewnych odosobnionych przypadkach brak nowej linii przed elementami markdown również mógłby uszkodzić składnie, dlatego edytor dodaje brakujące nowe linie. Dla przykładu, dodanie formatowania pochylenia zaraz po tabelce, mogłoby zostać błędne zinterpretowane, więc edytor doda oddzielającą nową linię pomiędzy tabelką, a pochyleniem.

Skróty klawiszowe

Skróty formatujące, kiedy w edytorze znajduje się pojedynczy kursor, wstawiają sformatowany tekst przykładowy. Jeśli w edytorze znajduje się zaznaczenie (słowo, linijka, paragraf), wtedy zaznaczenie zostaje sformatowane.

  • Ctrl+B - dodaj pogrubienie lub pogrub zaznaczenie
  • Ctrl+I - dodaj pochylenie lub pochyl zaznaczenie
  • Ctrl+U - dodaj podkreślenie lub podkreśl zaznaczenie
  • Ctrl+S - dodaj przekreślenie lub przekreśl zaznaczenie

Notacja Klawiszy

  • Alt+K - dodaj notację klawiszy

Fragment kodu bez oznacznika

  • Alt+C - dodaj pusty fragment kodu

Skróty operujące na kodzie i linijkach:

  • Alt+L - zaznaczenie całej linii
  • Alt+, Alt+ - przeniesienie linijki w której znajduje się kursor w górę/dół.
  • Tab/⌘+] - dodaj wcięcie (wcięcie w prawo)
  • Shit+Tab/⌘+[ - usunięcie wcięcia (wycięcie w lewo)

Dodawanie postów:

  • Ctrl+Enter - dodaj post
  • ⌘+Enter - dodaj post (MacOS)