POMOC s programami do skoly, SURNE (visual c++)

Programovacie jazyky, rady, poradňa...
savi
Expert
Expert
Používateľov profilový obrázok
Príspevky: 189
Registrovaný: 21 aug 2009, 19:15
Bydlisko: Šaštín-Stráže/TT

POMOC s programami do skoly, SURNE (visual c++)

Príspevok od používateľa savi »

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!
BX
Addict
Addict
Používateľov profilový obrázok
Príspevky: 4572
Registrovaný: 10 jan 2008, 15:30

Re: POMOC s programami do skoly, SURNE (visual c++)

Príspevok od používateľa BX »

Ked do skoly, tak by si sa to mal asi naucit, vsak? :)
http://www.hojko.com/citajte-pred-zaloz ... 23064.html
savi
Expert
Expert
Používateľov profilový obrázok
Príspevky: 189
Registrovaný: 21 aug 2009, 19:15
Bydlisko: Šaštín-Stráže/TT

Re: POMOC s programami do skoly, SURNE (visual c++)

Príspevok od používateľa savi »

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.
c-ice
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 475
Registrovaný: 04 mar 2008, 15:18
Kontaktovať používateľa:

Re: POMOC s programami do skoly, SURNE (visual c++)

Príspevok od používateľa c-ice »

ja napr. nechapem preco aplikovana informatika sa musi ucit fyziku :censored:
sharky-no
King
King
Používateľov profilový obrázok
Príspevky: 1681
Registrovaný: 31 okt 2006, 19:53

Re: POMOC s programami do skoly, SURNE (visual c++)

Príspevok od používateľa sharky-no »

:lol: <ot>
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>
juho
Star
Star
Používateľov profilový obrázok
Príspevky: 551
Registrovaný: 11 máj 2007, 21:16

Re: POMOC s programami do skoly, SURNE (visual c++)

Príspevok od používateľa juho »

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.
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
Expert
Expert
Používateľov profilový obrázok
Príspevky: 189
Registrovaný: 21 aug 2009, 19:15
Bydlisko: Šaštín-Stráže/TT

Re: POMOC s programami do skoly, SURNE (visual c++)

Príspevok od používateľa savi »

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
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: POMOC s programami do skoly, SURNE (visual c++)

Príspevok od používateľa audiotrack »

:D 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é
c-ice
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 475
Registrovaný: 04 mar 2008, 15:18
Kontaktovať používateľa:

Re: POMOC s programami do skoly, SURNE (visual c++)

Príspevok od používateľa c-ice »

audiotrack napísal::D 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é
FAIL :smt033 (precitaj si co napisal este raz :) napisal "nešiel")
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: POMOC s programami do skoly, SURNE (visual c++)

Príspevok od používateľa audiotrack »

no a čo, ja mám dnes odprogramovaných 14 hodín, to sa ospravedlňuje že zle vidím
c-ice
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 475
Registrovaný: 04 mar 2008, 15:18
Kontaktovať používateľa:

Re: POMOC s programami do skoly, SURNE (visual c++)

Príspevok od používateľa c-ice »

audiotrack napísal:no a čo, ja mám dnes odprogramovaných 14 hodín, to sa ospravedlňuje že zle vidím
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 ... :wink:

//audiotrack: tak to nemáš ešte za sebou takú prax ako ja ;) Už mám aj vyššie rekordy, ale na dnes mi fakt stačí
savi
Expert
Expert
Používateľov profilový obrázok
Príspevky: 189
Registrovaný: 21 aug 2009, 19:15
Bydlisko: Šaštín-Stráže/TT

Re: POMOC s programami do skoly, SURNE (visual c++)

Príspevok od používateľa savi »

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 :roll: .
BX
Addict
Addict
Používateľov profilový obrázok
Príspevky: 4572
Registrovaný: 10 jan 2008, 15:30

Re: POMOC s programami do skoly, SURNE (visual c++)

Príspevok od používateľa BX »

Ak opraviť, tak nie je problém :) Len to poriadne popíš...
savi
Expert
Expert
Používateľov profilový obrázok
Príspevky: 189
Registrovaný: 21 aug 2009, 19:15
Bydlisko: Šaštín-Stráže/TT

Re: POMOC s programami do skoly, SURNE (visual c++)

Príspevok od používateľa savi »

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.

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;
}
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!

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;
}
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 :!:

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;
}
Mám tu este toto, ale neviem ku nemu priradit zadanie lebo neviem xo to robí lebo pise jeden error ze nevie nieco nacitat:

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;
}
:? :? Chalani aká kolvek pomoc je vitana, naozaj by ssom bol vdacny za kazdu vasu pomoc :smt006 :smt006
Napísať odpoveď