POMOC s programami do skoly, SURNE (visual c++)
POMOC s programami do skoly, SURNE (visual c++)
Caute pomozte so zadaniami do skoly v microsoft visual c++(konkretne 2008).
Moje znalosti z Ccka asi 5 %.
Zadanie:Napíšte program, ktorý zobrazí číslo 45967 a ASCII kód znaku 'A' v dvojkovej, desiatkovej a šestnástkovej sústave.
Tip: Použite čo najmenší počet premenných a využite možnosti pretypovania a formátovacieho reťazca funkcie printf.
Dalsie zadanie:Napíšte program, ktorý bude inkrementovať premennú až kým nepretečie a vypíše na obrazovku takto zistený rozsah hodnôt premenných typu char, unsigned char, int a unsigned int. Demonštrujte príklad pretečenia premennej typu signed int a unsigned int. Úlohu neriešte pre iné typy premenných.
Tip: K prvej časti úlohy si pozrite aj obsah súboru limits.h, poslúži ako kontrola. Limity musíte zistiť, nie opísať z limits.h!
Moje znalosti z Ccka asi 5 %.
Zadanie:Napíšte program, ktorý zobrazí číslo 45967 a ASCII kód znaku 'A' v dvojkovej, desiatkovej a šestnástkovej sústave.
Tip: Použite čo najmenší počet premenných a využite možnosti pretypovania a formátovacieho reťazca funkcie printf.
Dalsie zadanie:Napíšte program, ktorý bude inkrementovať premennú až kým nepretečie a vypíše na obrazovku takto zistený rozsah hodnôt premenných typu char, unsigned char, int a unsigned int. Demonštrujte príklad pretečenia premennej typu signed int a unsigned int. Úlohu neriešte pre iné typy premenných.
Tip: K prvej časti úlohy si pozrite aj obsah súboru limits.h, poslúži ako kontrola. Limity musíte zistiť, nie opísať z limits.h!
Re: POMOC s programami do skoly, SURNE (visual c++)
Ked do skoly, tak by si sa to mal asi naucit, vsak? 
http://www.hojko.com/citajte-pred-zaloz ... 23064.html
http://www.hojko.com/citajte-pred-zaloz ... 23064.html
Re: POMOC s programami do skoly, SURNE (visual c++)
Hm tak dik teda, Tak naucit ako naucit mna programovat absolutne nebavi a ani nemam na to hlavu. Nechapem preco je to vsade a v odbore ktorehosa to vobec netyka.
Re: POMOC s programami do skoly, SURNE (visual c++)
ja napr. nechapem preco aplikovana informatika sa musi ucit fyziku 
Re: POMOC s programami do skoly, SURNE (visual c++)
vies preco? aby z tych ~300studentov co naberu v 1. rocniku preslo na ing ~100
a v podstate valko drzi ako taku uroven, sice je to fakt na nervy ta fyzika, ale po absolvovani toho predmetu ostanu len taki, ktori to so skolou myslia vazne a maju na nu </ot>
Re: POMOC s programami do skoly, SURNE (visual c++)
a co tak kebyze si precitas co si sem postol? ved tam mas nakonci kazdeho zadania aj sposob riesenia opisany.- co viac k tomu chces?savi napísal:Hm tak dik teda, Tak naucit ako naucit mna programovat absolutne nebavi a ani nemam na to hlavu. Nechapem preco je to vsade a v odbore ktorehosa to vobec netyka.
Re: POMOC s programami do skoly, SURNE (visual c++)
Dobre lenže a ja neviem z programka ani prd takže mne nepomoze ani nijaky navod na to, jednoducho na to nemam hlavu. Preto som nešiel na FIIF alebo na odbor aplikovana inf.
Jednoducho niekaždeho to musi bavit.
-
audiotrack
VIP
- Príspevky: 25958
- Registrovaný: 09 sep 2005, 18:39
- Kontaktovať používateľa:
Re: POMOC s programami do skoly, SURNE (visual c++)
Re: POMOC s programami do skoly, SURNE (visual c++)
FAILaudiotrack napísal:tak toto sa musím smiať. Teba nebaví programovanie, preto si išiel na aplikovanú informatiku. Keby ťa zase nebavila matika a teoretická informatika, tak ideš na informu hej? To máš trošku popletené
-
audiotrack
VIP
- Príspevky: 25958
- Registrovaný: 09 sep 2005, 18:39
- Kontaktovať používateľa:
Re: POMOC s programami do skoly, SURNE (visual c++)
no a čo, ja mám dnes odprogramovaných 14 hodín, to sa ospravedlňuje že zle vidím
Re: POMOC s programami do skoly, SURNE (visual c++)
raz som dal 13hodin v kuse pripadal som si ked som skoncil a este dalsie dva dni ak vyhorena sviečka som tie dalsie 2dni uz ani ziadne IDE neotvoril radsej ...audiotrack napísal:no a čo, ja mám dnes odprogramovaných 14 hodín, to sa ospravedlňuje že zle vidím
//audiotrack: tak to nemáš ešte za sebou takú prax ako ja
Re: POMOC s programami do skoly, SURNE (visual c++)
Ano fail lebo som to napisal spravne. Inak chalani keby som sem dal kod ktory roby to co ma len musi byt napisany inym kododm (bol by inak napisany napr. namiesto while by bol for alebo nieco taketo podobne) ani v tom by ste nepomohli ?
?
Strasne by som vám bol vdacny keby ste mi aspom s tymto helfli
.
Strasne by som vám bol vdacny keby ste mi aspom s tymto helfli
Re: POMOC s programami do skoly, SURNE (visual c++)
Ak opraviť, tak nie je problém
Len to poriadne popíš...
Re: POMOC s programami do skoly, SURNE (visual c++)
Tak pisem sem teda ten program so zadanim a treba zmenit kod aby sa co najmenej podobal tomutu kodu.
Ale bolo by dobre aby sa dal dajako pochopiť, keby tam boli komentare co kde co robi to by bolo fajn lebo ze sa aj budu pytat co to kde robí a tak.
ZADANIE:
Napíšte program, ktorý zobrazí číslo 45967 a ASCII kód znaku 'A' v dvojkovej, desiatkovej a šestnástkovej sústave.
Tip: Použite čo najmenší počet premenných a využite možnosti pretypovania a formátovacieho reťazca funkcie printf.
2. ZADANIE:
Napíšte program, ktorý bude inkrementovať premennú až kým nepretečie a vypíše na obrazovku takto zistený rozsah hodnôt premenných typu char, unsigned char, int a unsigned int. Demonštrujte príklad pretečenia premennej typu signed int a unsigned int. Úlohu neriešte pre iné typy premenných.
Tip: K prvej časti úlohy si pozrite aj obsah súboru limits.h, poslúži ako kontrola. Limity musíte zistiť, nie opísať z limits.h!
3. ZADANIE:
Napíšte program na výpočet funkcie sin(x), resp. cos(x) pomocou rozvoja do Taylorovho radu v okolí bodu 0. Funkcia bude mať dva argumenty:
float sinus(float radians,float epsilon);
Koľko členov radu potrebujete na dosiahnutie zastavovacej podmienky?
Tip 1: Samozrejme, že nemôžete počítať súčet nekonečného radu. Vidíte (ak nie, tak si pozrite v programe), že členy sa stále zmenšujú, takže isto raz nastane taká situácia, že keď pripočítate ďalší člen, výsledok to už nijako nezmení (viď úloha 1.3 - strojové epsilon).
Výpočet však môžete výpočet skončiť ešte skôr - keď sa výsledok v dvoch po sebe idúcich iteráciach zmení o menej ako epsilon (vopred zadané, dostatočne malé číslo).
Tip 2: Je dôležité uvedomiť si, že epsilon nevyjadruje presnosť vypočítanej aproximácie.
Tip 3: Uvedomte si, že uvedené rady aproximujú dobre len v okolí nuly (na obrázku vpravo vidíte priebeh funkcie sin a jej aproximácie troma členmi radu). Použite preto výpočet podľa (1), resp. (2) len na intervale <-pi/2,pi/2> alebo ešte lepšie <-pi/4,pi/4>. Pre ostatné argumenty využite teoretické vzťahy medzi sin, cos a periodicitou týchto funkcií.
Uhly treba zadávať v radiánoch. Ak chcete mať argument v stupňoch, zapíšte ho takto (napr. pre vypočet sin(30°): sinus(30 * pi/180, 0.01);
Pise error ze nie je nieco zadeklarovane inak by to malo fungovat
Mám tu este toto, ale neviem ku nemu priradit zadanie lebo neviem xo to robí lebo pise jeden error ze nevie nieco nacitat:
Chalani aká kolvek pomoc je vitana, naozaj by ssom bol vdacny za kazdu vasu pomoc

Ale bolo by dobre aby sa dal dajako pochopiť, keby tam boli komentare co kde co robi to by bolo fajn lebo ze sa aj budu pytat co to kde robí a tak.
ZADANIE:
Napíšte program, ktorý zobrazí číslo 45967 a ASCII kód znaku 'A' v dvojkovej, desiatkovej a šestnástkovej sústave.
Tip: Použite čo najmenší počet premenných a využite možnosti pretypovania a formátovacieho reťazca funkcie printf.
Kód: Vybrať všetko
#include <stdio.h>
#include <stdlib.h>
int binary(int x, int *pole) // x - desiatkove cislo, *pole - adresa prveho prvku pola
{
int i;
int bin; // zvysok po deleni dvoma
for (i = 0; x != 0; i++) {
bin = x % 2;
pole[i] = bin;
x = x / 2;
pole = (int *) realloc(pole, sizeof(int)*(i+2)); // zvecsovanie pola o 1
}
return i;
}
void swapArray(int *pole, int N)
{
int tmp;
int i;
for (i = 0; i < (N - (i + 1) ); i++)
{
tmp = pole[i];
pole[i] = pole[N - (i + 1)];
pole[N - (i + 1)] = tmp;
}
}
int main(void)
{
int cislo = 45967;
char znak = 'A';
int *pole;
int velkostPola;
int i;
pole = (int *) malloc(sizeof(int)*1);
velkostPola = binary(cislo, pole);
swapArray(pole, velkostPola);
printf("%i binarne: ", cislo);
// vypisanie pola po prvkoch
for (i = 0; i < velkostPola; i++)
{
printf("%i", pole[i]);
}
// vymazanie pameti
free(pole);
printf("\n");
pole = (int *) malloc(sizeof(int)*1);
velkostPola = binary(znak, pole);
swapArray(pole, velkostPola);
printf("%c binarne: ", znak);
for (i = 0; i < velkostPola; i++)
{
printf("%i", pole[i]);
}
free(pole);
printf("\n");
printf("%c v desiatkovej sustave: %d\n", znak, znak);
printf("%d v sestnastkovej sustave: %x\n", cislo, cislo);
printf("%c v sestnastkovej sustave: %x\n", znak, znak);
return 0;
}Napíšte program, ktorý bude inkrementovať premennú až kým nepretečie a vypíše na obrazovku takto zistený rozsah hodnôt premenných typu char, unsigned char, int a unsigned int. Demonštrujte príklad pretečenia premennej typu signed int a unsigned int. Úlohu neriešte pre iné typy premenných.
Tip: K prvej časti úlohy si pozrite aj obsah súboru limits.h, poslúži ako kontrola. Limity musíte zistiť, nie opísať z limits.h!
Kód: Vybrať všetko
#include <stdio.h>
#include <limits.h>
#include <float.h>
#include <conio.h>
int main()
{
printf("Rozsahy typu char:\nmin : %i\nmax : %i", SCHAR_MIN,SCHAR_MAX);
printf("\n\nRozsahy typu unsinged char:\nmin : 0\nmax : %i", UCHAR_MAX);
printf("\n\nRozsahy typu int:\nmin : %i\nmax : %i", INT_MIN,INT_MAX);
printf("\n\nRozsahy typu unsigned int:\nmin : 0\nmax : %x",UINT_MAX);
printf("\n\nRozsahy typu short int:\nmin : %i\nmax : %i", SHRT_MIN,SHRT_MAX);
printf("\n\nRozsahy typu long int:\nmin : %i\nmax : %i\n", LONG_MIN,LONG_MAX);
printf("\nPretecenia premennej typu signed int : %i+1= %i",INT_MAX,INT_MAX+1);
printf("\nPretecenia premennej typu unsigned int : %x+1= %x\n\n",UINT_MAX,UINT_MAX+1);
getchar();
return 0;
}
Napíšte program na výpočet funkcie sin(x), resp. cos(x) pomocou rozvoja do Taylorovho radu v okolí bodu 0. Funkcia bude mať dva argumenty:
float sinus(float radians,float epsilon);
Koľko členov radu potrebujete na dosiahnutie zastavovacej podmienky?
Tip 1: Samozrejme, že nemôžete počítať súčet nekonečného radu. Vidíte (ak nie, tak si pozrite v programe), že členy sa stále zmenšujú, takže isto raz nastane taká situácia, že keď pripočítate ďalší člen, výsledok to už nijako nezmení (viď úloha 1.3 - strojové epsilon).
Výpočet však môžete výpočet skončiť ešte skôr - keď sa výsledok v dvoch po sebe idúcich iteráciach zmení o menej ako epsilon (vopred zadané, dostatočne malé číslo).
Tip 2: Je dôležité uvedomiť si, že epsilon nevyjadruje presnosť vypočítanej aproximácie.
Tip 3: Uvedomte si, že uvedené rady aproximujú dobre len v okolí nuly (na obrázku vpravo vidíte priebeh funkcie sin a jej aproximácie troma členmi radu). Použite preto výpočet podľa (1), resp. (2) len na intervale <-pi/2,pi/2> alebo ešte lepšie <-pi/4,pi/4>. Pre ostatné argumenty využite teoretické vzťahy medzi sin, cos a periodicitou týchto funkcií.
Uhly treba zadávať v radiánoch. Ak chcete mať argument v stupňoch, zapíšte ho takto (napr. pre vypočet sin(30°): sinus(30 * pi/180, 0.01);
Kód: Vybrať všetko
#include <math.h>
#include <stdio.h>
#include <conio.h>
double FunkciaSinus(double radians, double epsilon);
double FunkciaCosinus(double radians, double epsilon);
#define M_PI pi
int main()
{
int sinus=1, cosinus=1;
float uhol;
double sin, cos;
double epsilon = 0.001;
while(1)
{
printf("Zadajte uhol : ");
scanf("%f", &uhol);
while(uhol>360)
uhol=uhol-360;
while(uhol<0)
uhol=uhol+360;
while(uhol > 180)
uhol=uhol-180;
if(uhol > 90)
uhol=180-uhol;
if(uhol > 45)
{
uhol = 90 - uhol;
uhol=uhol*M_PI/180;
sin = FunkciaCosinus(uhol,epsilon);
cos = FunkciaSinus(uhol,epsilon);
}
else
{
uhol=uhol*M_PI/180;
sin =FunkciaSinus(uhol,epsilon);
cos =FunkciaCosinus(uhol,epsilon);
}
sin *= sinus;
//cos *= cosinus;
printf("\n\n\tSinus uhla : %Lf\n",sin);
printf("\n\n\tCosinus uhla: %Lf\n\n",cos);
getch();
}
}
double FunkciaSinus(double radians, double epsilon)
{
int n=3, f, citatel, a=0, b=0, mocnitel;
double menovatel, zlomok, vysledok=0, kontrola;
mocnitel=n;
while(1)
{
// podla vzorca
citatel=n;
while(1)
{
n=n-1;
citatel=citatel*(n);
if (n==1)
break;
}
menovatel=powl(radians, mocnitel);
zlomok=(double)menovatel/citatel;
kontrola=zlomok;
if(a==0)
{
vysledok=radians-(zlomok);
}
if(b%2==1 && a==1)
{
vysledok += zlomok;
}
if(b%2==0 && a==1)
{
vysledok -= zlomok;
}
// kontrola presnosti
if(kontrola < epsilon)
return vysledok;
n=mocnitel;
n=n+2;
mocnitel=n;
a=1;
b++;
}
return vysledok;
}
double FunkciaCosinus(double radians,double epsilon)
{
int n=2, f, citatel, a=0, b=0, mocnitel;
double menovatel, zlomok, vysledok=0, kontrola;
mocnitel=n;
while(1)
{
// podla vzorca
citatel=n;
while(1)
{
n=n-1;
citatel=citatel*(n);
if (n==1)
break;
}
menovatel=powl(radians, mocnitel);
zlomok=(double)menovatel/citatel;
kontrola=zlomok;
if(a==0)
{
vysledok=1-(zlomok);
}
if(b==0 && a==1)
{
vysledok += zlomok;
b=1;
}
if(b==1 && a==1)
{
vysledok -= zlomok;
b=0;
}
// kontrola presnosti
if(kontrola < epsilon)
return vysledok;
n=mocnitel;
n=n+2;
mocnitel=n;
a=1;
}
return vysledok;
}Kód: Vybrať všetko
#include <stdafx.h>
#include <math.h>
#include <conio.h>
#define A 0.5
int main()
{
double b=A;
int r;
for (int mantisa=1;mantisa<=4;mantisa++)
{
for (int exponent=-3; exponent<=4;exponent++)
printf("%f\n%f\n",b*pow(2,exponent),-b*pow(2,exponent));
b+=A/4;
}
scanf("%i",&r);
return 0;
}