Zobrazit příspěvky

Tato sekce Vám umožňuje zobrazit všechny příspěvky tohoto uživatele. Prosím uvědomte si, že můžete vidět příspěvky pouze z oblastí Vám přístupných.


Témata - novomente

Stran: [1]
1
Vývoj / Jak lingvisticky číst zdrojový program?
« kdy: 14. 07. 2020, 16:27:08 »
Narazil jsem na dost "triviální problém", který mi znemožňuje dobře chápat zdrojový kód programu. Tento problém je, jak bych měl lingvisticky číst zdroják. Tak např. v jazyce C mám následující program:

Kód: [Vybrat]
int main()
{
#define MAX 1000

int i;
int a, b;
int pole[MAX];

for(i = 0; i < MAX; i++) {
pole[i] = a + b;
}
}

Zdroják je sice neúplný a tudíž funkčně neužitečný, ale jde mi jen o způsob čtení.
Takže takový to zdrojový kód čtu následovně:

"intýdžr mein

difajn MAX tisíc
intýdžr i
intýdžr a a b
intýdžr pole pole o velikosti MAX

for i rovná se 0, dokud i je menší než MAX, i plus plus
   pole i rovná se a plus b
"

Takhle nějak to čtu, a vím, že to není moc dobré. Chtěl jsem se zeptat, jestli někde existuje nějaký popis, jak lingvisticky číst zdroják? Vím, že je to vysoce individuální záležitost, jak to kdo čte. A tak by mě také zajímalo, jak to čtete vy?

2
Vývoj / Preferovaný zápis jména pole jako ukazatele
« kdy: 12. 07. 2020, 11:21:39 »
V knize "Programovací jazyk C" od K&R jsem se dověděl, že pokud je definováno pole:
Kód: [Vybrat]
char a[10]pak následující výrazy jsou ekvivalentní:
Kód: [Vybrat]
a[i]
*(a+i)

Dále se tam píše, že výraz
Kód: [Vybrat]
a[i] je jazykem C okamžitě převeden na výraz
Kód: [Vybrat]
*(a+i) Je tedy jedno, jakou formu zápisu použijeme. Zajímalo by mě, v jakých případech je vhodné použít ten či onen typ zápisu?

P.S. Když jsem si prohlížel přeložený program do strojového kódu, pak skutečně oba dva zápisy jsou naprosto totožné.

3
Studium a uplatnění / Co děláte, když není na čem dělat?
« kdy: 02. 02. 2020, 07:29:34 »
Stává se vám, že není v zaměstnání na čem dělat? Že není, jak se říká, kšeft?

Co v takovém případě děláte a co dělá váš zaměstnavatel?


4
Odkladiště / Jaký film o IT na večer?
« kdy: 25. 01. 2020, 13:24:44 »
Mohl by jste mi někdo, prosím, poradit, jaký film s IT tématikou na večer? Mám chuť se na něco podívat, ale nemám o filmech moc přehled.

Předem děkuji za zajímavé odpovědi.


5
/dev/null / Rozdíl mezi herními vývojáři v ČR a SR
« kdy: 26. 11. 2019, 12:29:41 »
Zdravím,

trochu jsem zabrousil do herního průmyslu a chtěl bych se zeptat na jednu věc:

Jaký je rozdíl mezi herními vývojáři v České republice a na Slovensku?

6
Hardware / Funkčnost tiskárny Brother na Linuxu
« kdy: 12. 11. 2019, 11:01:23 »
Zdravim. Chtěl bych koupit tuto tiskárnu Brother DCP-T510W. Ale potřeboval bych mít jistotu, jestli tiskárna pojede i se skenerem dobře na Linuxu a jestli bude komunikovat v češtině.

Má s ní někdo zkušenosti?

7
Vývoj / Zdroje informací o algoritmizaci
« kdy: 18. 09. 2019, 08:56:41 »
Základem programování je algoritmizace. Rozložit problém a vytvořit algoritmus. Zde mám trochu mezery. A tak jsem se chtěl zeptat, jestli někdo nevíte o nějakých výborných zdrojích informací o algoritmizaci - knihy, články, webové stránky etc. pokud možno v češtině.

8
Vývoj / Inkrementace ne levé i pravé straně přiřazení
« kdy: 05. 09. 2019, 11:57:52 »
Zdravím.

Mohl by mi někdo vysvětlit vyhodnocení tohoto příkazu? Prosím o vysvětlení krok za krokem. Co se vyhodnotí nejprve a co potom a co nakonec. Vím, že je to šílenost, která se nedoporučuje, ale přeci jen jsem na tento problém narazil.

Příkaz je:
Kód: [Vybrat]
i = 0;
pole[i++] = ++i; /* JAK SE VYHODNOTI TENTO PRIKAZ? */

a zde ještě přikládám celý zdroják (pro vyzkoušení):

Kód: [Vybrat]
#include <stdio.h>
#include "test.h"

#define MAX 5

int main()
{
int pole[MAX];
int i, k;

/* vynuluj pole[] */
for(k = 0; k < MAX; ++k)
pole[k] = 0;

i = 0;
pole[i++] = ++i; /* JAK SE VYHODNOTI TENTO PRIKAZ? */

/* vypis vysledek */
printf("i = %d\n", i);
for(k = 0; k < MAX; ++k)
printf("pole[%d] = %d\n", k, pole[k]);
}

a výsledek výpisu je:

i = 2
pole[0] = 0
pole[1] = 2
pole[2] = 0
pole[3] = 0
pole[4] = 0


9
Bazar / Prodám knihu: Mistrovství v PHP 5
« kdy: 27. 08. 2019, 15:43:25 »
Zdravím,

prodám knihu "Mistrovství v PHP 5" vydanou Computer press 2007.

Koupil jsem jí novou, přečetl úvod a první kapitolu a odložil jsem jí do knihovny, kde je do dnes. Je v podstatě úplně nová.

Cena orientačně kolem 400kč.

10
Vývoj / Použití příkazu GOTO v jazyku C
« kdy: 18. 08. 2019, 09:57:48 »
Zdravím,

použil jste někdy někdo příkaz "goto" v jazyku C v programátorské praxi?

11
Bazar / Kopím knihu Mistrovství v Linuxu
« kdy: 17. 08. 2019, 16:06:07 »
Zdravím,

koupím knihu Mistrovství v Linuxu od Mark G. Sobell vydanou COMPUTER PRESS 2007

https://www.albatrosmedia.cz/tituly/8486630/mistrovstvi-v-linuxu/

jen ve velmi dobrém stavu. Cena orientačně 600kč včetně poštovného.

12
Vývoj / Cvičení Bitových operátorů z knihy o jazyku C
« kdy: 05. 08. 2019, 12:36:53 »
Zdravím,

právě se učím jazyk C z knihy "Programovací jazyk C" od K&R (B. W. Kernihgan & D. M. Ritchie) vydáno Computer Press 2013.

V druhé kapitole, která pojednává mimo jiné o bitových operátorech jsou tato cvičení:


Cvičení 2.6: Napište funkci   nastavbity(x,p,n,y)    , která vrátí X s N bity začínajícími na pozici P nastavenými podle N nejpravějších bitů v Y a ostatní ponechá beze změny.


Cvičení 2.7: Napište funkci    invertuj(x,p,n)    , která vrátí X s N invertovanými bity (to znamená s 1 změněnými na 0 a naopak) začínajícími na pozici P a ostatní ponechá beze změny.


Pozn.: Předpokládá se, že bitová pozice začíná číslem 0 a je na pravé straně. Použil jsem kapitálky proměnných (X,P,N,Y) pro odlišení od ostatního textu. Jinak jsou proměnné samozřejmě psány malými písmeny. Předpokládá se že proměnné mají smysluplné hodnoty.

Ve cvičeních je překladatelská chyba, protože v knize jsou uvedeny funkce:


nastavbity(x,p,n)    a    invertuj(x,p,n,y)


jsou tedy prohozeny parametry mezi oběma cvičeními. Ve výše zmíněných Cvičeních jsem chybu opravil.

Trochu jsem se s tím potrápil, ale nakonec jsem vše vyřešil takto:

Cvičení 2.6:

Kód: [Vybrat]
#include <stdio.h>

int nastavbity(unsigned x, unsigned p, unsigned n, unsigned y);

int main()
{
unsigned x = 150, p = 5, n = 3, y = 11;
unsigned vysledek = nastavbity(x,p,n,y);

printf("%d\n", vysledek);
}



int nastavbity(unsigned x, unsigned p, unsigned n, unsigned y)
{
return x | (y & ~(~0 << (p+1-n))) << (p+1-n);
}


a Cvičení 2.7:

Kód: [Vybrat]
#include <stdio.h>

int invertuj(unsigned x, unsigned p, unsigned n);

int main()
{
unsigned x = 173, p = 5, n = 4;
unsigned vysledek = invertuj(x,p,n);

printf("%d\n", vysledek);
}



int invertuj(unsigned x, unsigned p, unsigned n)
{
unsigned mask; /* maska pro vypocet */

mask = ~(~0 << n) << (p+1-n);

return (x | mask) & ~(x & mask);
}


Chtěl bych se zeptat, jestli máte někdo jiné a lepší řešení. Případně, jestli někdo máte řešení zmíněných cvičení z výše jmenované knihy ke stažení (protože to nikde nemohu najít).

novomente

13
Vývoj / Má smysl učit se Pascal (Delphi)?
« kdy: 11. 06. 2019, 13:15:03 »
Dnes je programovací jazyk Pascal již dávno překonaný jazyky JAVA, C# etc. Ale, má smysl zabývat se Pascalem za účelem, pro který byl vymyšlen? Tedy pro výuku programování?

Stran: [1]