ВСЕМ ПОЛЬЗОВАТЕЛЯМ И ПРОГРАММИСТАМ СЮДА!
- РадиоЛоматель
- Мудрый кот
- Сообщения: 1733
- Зарегистрирован: Чт авг 21, 2008 22:03:30
- Откуда: Одесса(Украина)
- Контактная информация:
Re: ВСЕМ ПОЛЬЗОВАТЕЛЯМ И ПРОГРАММИСТАМ СЮДА!
Пикачу, вам еще учится и учится...
Особенно радуют строки типа:
int n1,n2,n3,n4,n5,n6,n7,n8,n9,n10,n11,n12,n13,n14,n15,n16,n17,n18,n19,n20,n21,n22,n23,n24;
Заменяется простейшим массивом:
int n[25];
Можно задать начальные значения:
int n[25]={7,32755,9,10,-125,итд};
бращатся к каждой ячейке так:
int a=7;
int b=8;
n[a]=b;
или так:
n[3]=4;
варианты можно комбинировать как угодно. Возможно делать многомерные массивы.
И конечно же, бессмысленно спрашивать Пикачу про указатели... Ваш калькулятор можно сократить раз в 15 по размеру исходного кода да и вообще...
К тому же его можно сделать далеко не консольным, а по типу виндовсовского (Читаем про MFC). Зачем с консолью вообще извращатся..
Особенно радуют строки типа:
int n1,n2,n3,n4,n5,n6,n7,n8,n9,n10,n11,n12,n13,n14,n15,n16,n17,n18,n19,n20,n21,n22,n23,n24;
Заменяется простейшим массивом:
int n[25];
Можно задать начальные значения:
int n[25]={7,32755,9,10,-125,итд};
бращатся к каждой ячейке так:
int a=7;
int b=8;
n[a]=b;
или так:
n[3]=4;
варианты можно комбинировать как угодно. Возможно делать многомерные массивы.
И конечно же, бессмысленно спрашивать Пикачу про указатели... Ваш калькулятор можно сократить раз в 15 по размеру исходного кода да и вообще...
К тому же его можно сделать далеко не консольным, а по типу виндовсовского (Читаем про MFC). Зачем с консолью вообще извращатся..
(*tmp) &= ~( ( (param1 & (1<<PARAM1_BIT6)) || ((param2==PARAM2_TRUE)&&(--param3)) ) ? (param1 & (~param2)) : (Func1() | FUNC1_FLAGS) );
Люблю Си...
Люблю Си...
- Pika4u
- Поставщик валерьянки для Кота
- Сообщения: 2064
- Зарегистрирован: Пт апр 24, 2009 11:39:16
- Откуда: г.Оренбург
Re: ВСЕМ ПОЛЬЗОВАТЕЛЯМ И ПРОГРАММИСТАМ СЮДА!
Циклы я изучил, просто не применил))Применял for, когда пароль ставил на программу))
Steve Jobs. 1955-2011. Мы помним, как ты преобразовал наш мир....
Re: ВСЕМ ПОЛЬЗОВАТЕЛЯМ И ПРОГРАММИСТАМ СЮДА!
Не я пас)))))) я великобританию ниасилил 
Спасибо за внимание.
- РадиоЛоматель
- Мудрый кот
- Сообщения: 1733
- Зарегистрирован: Чт авг 21, 2008 22:03:30
- Откуда: Одесса(Украина)
- Контактная информация:
Re: ВСЕМ ПОЛЬЗОВАТЕЛЯМ И ПРОГРАММИСТАМ СЮДА!
Дам подсказку: Для того, чтобы нарисовать такой флаг, нужно уметь рисовать линии и полигоны залитые. Можно обойтись просто линиями. Вот, если нарисуете произвольную линию, получите мое большое одобрение. В принципе, это просто.
(*tmp) &= ~( ( (param1 & (1<<PARAM1_BIT6)) || ((param2==PARAM2_TRUE)&&(--param3)) ) ? (param1 & (~param2)) : (Func1() | FUNC1_FLAGS) );
Люблю Си...
Люблю Си...
Re: ВСЕМ ПОЛЬЗОВАТЕЛЯМ И ПРОГРАММИСТАМ СЮДА!
РадиоЛоматель писал(а):Пикачу, вам еще учится и учится...
...
Ваш калькулятор можно сократить раз в 15 по размеру исходного кода да и вообще...
Зачем столько писанины? Ссылка на умную книжку в виде надписи "RTFM" несет столько же смысла, но короче во много раз
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18544
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: ВСЕМ ПОЛЬЗОВАТЕЛЯМ И ПРОГРАММИСТАМ СЮДА!
А.Андрей писал(а):Не я пас)))))) я великобританию ниасилил
в том и преимущество языков высокого уровня, что их осилить проще...
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- РадиоЛоматель
- Мудрый кот
- Сообщения: 1733
- Зарегистрирован: Чт авг 21, 2008 22:03:30
- Откуда: Одесса(Украина)
- Контактная информация:
Re: ВСЕМ ПОЛЬЗОВАТЕЛЯМ И ПРОГРАММИСТАМ СЮДА!
(*tmp) &= ~( ( (param1 & (1<<PARAM1_BIT6)) || ((param2==PARAM2_TRUE)&&(--param3)) ) ? (param1 & (~param2)) : (Func1() | FUNC1_FLAGS) );
Люблю Си...
Люблю Си...
Re: ВСЕМ ПОЛЬЗОВАТЕЛЯМ И ПРОГРАММИСТАМ СЮДА!
кто нибудь Visual Basic'ком обмазывается?
(\_(\
(=' :') радиоКотЭ
(,('')('')
(=' :') радиоКотЭ
(,('')('')
Re: ВСЕМ ПОЛЬЗОВАТЕЛЯМ И ПРОГРАММИСТАМ СЮДА!
ARV писал(а):в том и преимущество языков высокого уровня, что их осилить проще...
Я с вами не собирался спорить. Их осилить проще чем ассемблер, но вот тот же ассемблер необходим для понимания тех процессов которые происходят в языках высокого уровня. Да и как - то привычно программить на нем)))))
Спасибо за внимание.
Re: ВСЕМ ПОЛЬЗОВАТЕЛЯМ И ПРОГРАММИСТАМ СЮДА!
FRIM@N писал(а):кто нибудь Visual Basic'ком обмазывается?
Изучаю паскаль и визуальный чайник.
Спасибо за внимание.
- Pika4u
- Поставщик валерьянки для Кота
- Сообщения: 2064
- Зарегистрирован: Пт апр 24, 2009 11:39:16
- Откуда: г.Оренбург
Re: ВСЕМ ПОЛЬЗОВАТЕЛЯМ И ПРОГРАММИСТАМ СЮДА!
Подредактировал прогу, теперь она выглядит так
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <stdlib.h>
void to2(int binary)
{
int n[25];
n[0]=binary/2;
n[1]=binary%2;
n[2]=n[0]/2;
n[3]=n[0]%2;
n[4]=n[2]/2;
n[5]=n[2]%2;
n[6]=n[4]/2;
n[7]=n[4]%2;
n[8]=n[6]/2;
n[9]=n[6]%2;
n[10]=n[8]/2;
n[11]=n[8]%2;
n[12]=n[10]/2;
n[13]=n[10]%2;
n[14]=n[12]/2;
n[15]=n[12]%2;
n[16]=n[14]/2;
n[17]=n[14]%2;
n[18]=n[16]/2;
n[19]=n[16]%2;
n[20]=n[18]/2;
n[21]=n[18]%2;
n[22]=n[20]/2;
n[23]=n[20]%2;
printf("%d%d%d%d%d%d%d%d%d%d%d%d",n[23],n[21],n[19],n[17],n[15],n[13],n[11],n[9],n[7],n[5],n[3],n[1]);
}
int to10(int binary)
{
int n[21];
n[0]=binary%10;
n[1]=binary/10;
n[2]=n[1]%10;
n[3]=n[1]/10;
n[4]=n[3]%10;
n[5]=n[3]/10;
n[6]=n[5]%10;
n[7]=n[5]/10;
n[8]=n[7]%10;
n[9]=n[7]/10;
n[10]=n[9]%10;
n[11]=n[9]/10;
n[12]=n[11]%10;
n[13]=n[11]/10;
n[14]=n[13]%10;
n[15]=n[13]/10;
n[16]=n[15]%10;
n[17]=n[15]/10;
n[18]=n[17]%10;
n[19]=n[17]/10;
n[20]=n[18]*512+n[16]*256+n[14]*128+n[12]*64+n[10]*32+n[8]*16+n[6]*8+n[4]*4+n[2]*2+n[0]*1;
return n[20];
}
main()
{
int sys,binary[3],r[4],par,sq1,de,eng;
float xd,xd1,yrol[3],i[5],sq[3],g4;
printf("Программа для перевода чисел между системами счисления.v1.0.1.2\nНаписал прогу Diman56");
while(1)
{
printf("\nВыберите систему счисления(10-десятичная,2-двоичная)\nИли наберите -1 для выхода: ");
scanf("%d",&sys);
if(sys==-1)
exit(1);
else
{
printf("Введите действие\nДействия:\n1-сложение\n2-вычитание\n3-умножение\n4-деление\n5-перевод из указанной системы счисления в противоположную\n6-извлечение квадратного корня\n7-тригонометрические функции(только для десятичной системы).\nДействие: ");
scanf("%d",&de);
switch (sys)
{
case 10:
switch(de)
{
case 1:
printf("Введите чиcло 1: ");
scanf ("%f", &i[1]);
printf("Введите число 2: ");
scanf ("%f", &i[2]);
i[3]=i[1]+i[2];
printf("Сумма равна %f",i[3]);break;
case 2:
printf("Введите чиcло 1: ");
scanf ("%f", &i[1]);
printf("Введите число 2: ");
scanf ("%f", &i[2]);
i[3]=i[1]-i[2];
printf("Разность равна %f\n",i[3]);break;
case 3:
printf("Введите чиcло 1: ");
scanf ("%f", &i[1]);
printf("Введите число 2: ");
scanf ("%f", &i[2]);
i[3]=i[1]*i[2];
printf("Произведение равно %f\n",i[3]);break;
case 4:
printf("Введите чиcло 1: ");
scanf ("%f", &i[1]);
printf("Введите число 2: ");
scanf ("%f", &i[2]);
i[3]=i[1]/i[2];
printf("Частное равно %f\n",i[3]);break;
case 5:
printf("Введите число для перевода: ");
scanf("%d", &binary[0]);
printf("Число в двоичной системе счисления:");
to2(binary[0]);
break;
case 6:
printf("Введите число: ");
scanf("%f",&sq[0]);
if(sq[0]<0.0)
{
printf("Ошибка!!ВЫ ВВЕЛИ ОТРИЦАТЕЛЬНОЕ ЧИСЛО!!!\n");
}
else
{
sq[1]=sqrt(sq[0]);
printf("Квадратный корень из %f равен %f",sq[0],sq[1]);
}
break;
case 7:
printf("Введите параметр:\n1-синус\n2-косинус\n3-тангенс\n4-угол из синуса\n5-угол из косинуса\n6-угол из тангенса\nПараметр: ");
scanf("%d", &par);
switch(par)
{
case 1:
printf("Введите значение угла: ");
scanf("%f", &yrol[0]);
yrol[1]=yrol[0]*3.14/180;
xd=sin(yrol[1]);
printf("Синус угла %f равен %f",yrol[0],xd);
break;
case 2:
printf("Введите значение угла: ");
scanf("%f", &yrol[0]);
yrol[1]=yrol[0]*3.14/180;
xd=cos(yrol[1]);
printf("Косинус угла %f равен %f",yrol[0],xd);
break;
case 3:
printf("Введите значение угла: ");
scanf("%f", &yrol[0]);
yrol[1]=yrol[0]*3.1415/180;
xd=tan(yrol[1]);
printf("Тангенс угла %f равен %f",yrol[0],xd);
break;
case 4:
printf("Введите значение cинуса: ");
scanf("%f", &yrol[0]);
xd=asin(yrol[0]);
xd1=180*xd/3.14;
printf("Угол равен %f",xd1);
break;
case 5:
printf("Введите значение коcинуса: ");
scanf("%f", &yrol[0]);
xd=acos(yrol[0]);
xd1=180*xd/3.14;
printf("Угол равен %f",xd1);
break;
case 6:
printf("Введите значение тангенса: ");
scanf("%f", &yrol[0]);
xd=atan(yrol[0]);
xd1=180*xd/3.14;
printf("Угол равен %f",xd1);
break;
}
}break;
case 2:
switch (de)
{
case 1:
printf("Введите число 1: ");
scanf("%d",&binary[0]);
printf("Введите число 2: ");
scanf("%d", &binary[1]);
r[1]=to10(binary[0]);
r[2]=to10(binary[1]);
r[3]=r[1]+r[2];
printf("Сумма равна %d или в двоичной системе:",r[3]);
to2(r[3]);
break;
case 2:
printf("Введите уменьшаемое: ");
scanf("%d",&binary[0]);
printf("Введите вычитаемое: ");
scanf("%d", &binary[1]);
r[1]=to10(binary[0]);
r[2]=to10(binary[1]);
r[3]=r[1]-r[2];
printf("Разность равна %d или в двоичной системе:", r[3]);
to2(r[3]);
break;
case 3:
printf("Введите первый множитель: ");
scanf("%d",&binary[0]);
printf("Введите второй множитель: ");
scanf("%d", &binary[1]);
r[1]=to10(binary[0]);
r[2]=to10(binary[1]);
r[3]=r[1]*r[2];
printf("Произведение равно %d или в двоичной системе:",r[3]);
to2(r[3]);
break;
case 4:
printf("Введите делимое: ");
scanf("%d",&binary[0]);
printf("Введите делитель: ");
scanf("%d", &binary[1]);
r[1]=to10(binary[0]);
r[2]=to10(binary[1]);
r[3]=r[1]/r[2];
printf("Частное равно %d или в двоичной системе:",r[3]);
to2(r[3]);
break;
case 5:
printf("Введите число: ");
scanf ("%d", &binary[0]);
r[3]=to10(binary[0]);
printf("Число в десятичной системе счисления:%d",r[3]);
break;
case 6:
printf("Введите число: ");
scanf("%d", &eng);
g4=to10(eng);
if(g4<0.0)
{
printf("Ошибка!!ВЫ ВВЕЛИ ОТРИЦАТЕЛЬНОЕ ЧИСЛО!!!\n");
}
else
{
sq[0]=sqrt(g4);
printf("Квадратный корень из %d равен %f", eng,sq[0]);
}
break;
}
break;
}
getch();
}
}
}
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <stdlib.h>
void to2(int binary)
{
int n[25];
n[0]=binary/2;
n[1]=binary%2;
n[2]=n[0]/2;
n[3]=n[0]%2;
n[4]=n[2]/2;
n[5]=n[2]%2;
n[6]=n[4]/2;
n[7]=n[4]%2;
n[8]=n[6]/2;
n[9]=n[6]%2;
n[10]=n[8]/2;
n[11]=n[8]%2;
n[12]=n[10]/2;
n[13]=n[10]%2;
n[14]=n[12]/2;
n[15]=n[12]%2;
n[16]=n[14]/2;
n[17]=n[14]%2;
n[18]=n[16]/2;
n[19]=n[16]%2;
n[20]=n[18]/2;
n[21]=n[18]%2;
n[22]=n[20]/2;
n[23]=n[20]%2;
printf("%d%d%d%d%d%d%d%d%d%d%d%d",n[23],n[21],n[19],n[17],n[15],n[13],n[11],n[9],n[7],n[5],n[3],n[1]);
}
int to10(int binary)
{
int n[21];
n[0]=binary%10;
n[1]=binary/10;
n[2]=n[1]%10;
n[3]=n[1]/10;
n[4]=n[3]%10;
n[5]=n[3]/10;
n[6]=n[5]%10;
n[7]=n[5]/10;
n[8]=n[7]%10;
n[9]=n[7]/10;
n[10]=n[9]%10;
n[11]=n[9]/10;
n[12]=n[11]%10;
n[13]=n[11]/10;
n[14]=n[13]%10;
n[15]=n[13]/10;
n[16]=n[15]%10;
n[17]=n[15]/10;
n[18]=n[17]%10;
n[19]=n[17]/10;
n[20]=n[18]*512+n[16]*256+n[14]*128+n[12]*64+n[10]*32+n[8]*16+n[6]*8+n[4]*4+n[2]*2+n[0]*1;
return n[20];
}
main()
{
int sys,binary[3],r[4],par,sq1,de,eng;
float xd,xd1,yrol[3],i[5],sq[3],g4;
printf("Программа для перевода чисел между системами счисления.v1.0.1.2\nНаписал прогу Diman56");
while(1)
{
printf("\nВыберите систему счисления(10-десятичная,2-двоичная)\nИли наберите -1 для выхода: ");
scanf("%d",&sys);
if(sys==-1)
exit(1);
else
{
printf("Введите действие\nДействия:\n1-сложение\n2-вычитание\n3-умножение\n4-деление\n5-перевод из указанной системы счисления в противоположную\n6-извлечение квадратного корня\n7-тригонометрические функции(только для десятичной системы).\nДействие: ");
scanf("%d",&de);
switch (sys)
{
case 10:
switch(de)
{
case 1:
printf("Введите чиcло 1: ");
scanf ("%f", &i[1]);
printf("Введите число 2: ");
scanf ("%f", &i[2]);
i[3]=i[1]+i[2];
printf("Сумма равна %f",i[3]);break;
case 2:
printf("Введите чиcло 1: ");
scanf ("%f", &i[1]);
printf("Введите число 2: ");
scanf ("%f", &i[2]);
i[3]=i[1]-i[2];
printf("Разность равна %f\n",i[3]);break;
case 3:
printf("Введите чиcло 1: ");
scanf ("%f", &i[1]);
printf("Введите число 2: ");
scanf ("%f", &i[2]);
i[3]=i[1]*i[2];
printf("Произведение равно %f\n",i[3]);break;
case 4:
printf("Введите чиcло 1: ");
scanf ("%f", &i[1]);
printf("Введите число 2: ");
scanf ("%f", &i[2]);
i[3]=i[1]/i[2];
printf("Частное равно %f\n",i[3]);break;
case 5:
printf("Введите число для перевода: ");
scanf("%d", &binary[0]);
printf("Число в двоичной системе счисления:");
to2(binary[0]);
break;
case 6:
printf("Введите число: ");
scanf("%f",&sq[0]);
if(sq[0]<0.0)
{
printf("Ошибка!!ВЫ ВВЕЛИ ОТРИЦАТЕЛЬНОЕ ЧИСЛО!!!\n");
}
else
{
sq[1]=sqrt(sq[0]);
printf("Квадратный корень из %f равен %f",sq[0],sq[1]);
}
break;
case 7:
printf("Введите параметр:\n1-синус\n2-косинус\n3-тангенс\n4-угол из синуса\n5-угол из косинуса\n6-угол из тангенса\nПараметр: ");
scanf("%d", &par);
switch(par)
{
case 1:
printf("Введите значение угла: ");
scanf("%f", &yrol[0]);
yrol[1]=yrol[0]*3.14/180;
xd=sin(yrol[1]);
printf("Синус угла %f равен %f",yrol[0],xd);
break;
case 2:
printf("Введите значение угла: ");
scanf("%f", &yrol[0]);
yrol[1]=yrol[0]*3.14/180;
xd=cos(yrol[1]);
printf("Косинус угла %f равен %f",yrol[0],xd);
break;
case 3:
printf("Введите значение угла: ");
scanf("%f", &yrol[0]);
yrol[1]=yrol[0]*3.1415/180;
xd=tan(yrol[1]);
printf("Тангенс угла %f равен %f",yrol[0],xd);
break;
case 4:
printf("Введите значение cинуса: ");
scanf("%f", &yrol[0]);
xd=asin(yrol[0]);
xd1=180*xd/3.14;
printf("Угол равен %f",xd1);
break;
case 5:
printf("Введите значение коcинуса: ");
scanf("%f", &yrol[0]);
xd=acos(yrol[0]);
xd1=180*xd/3.14;
printf("Угол равен %f",xd1);
break;
case 6:
printf("Введите значение тангенса: ");
scanf("%f", &yrol[0]);
xd=atan(yrol[0]);
xd1=180*xd/3.14;
printf("Угол равен %f",xd1);
break;
}
}break;
case 2:
switch (de)
{
case 1:
printf("Введите число 1: ");
scanf("%d",&binary[0]);
printf("Введите число 2: ");
scanf("%d", &binary[1]);
r[1]=to10(binary[0]);
r[2]=to10(binary[1]);
r[3]=r[1]+r[2];
printf("Сумма равна %d или в двоичной системе:",r[3]);
to2(r[3]);
break;
case 2:
printf("Введите уменьшаемое: ");
scanf("%d",&binary[0]);
printf("Введите вычитаемое: ");
scanf("%d", &binary[1]);
r[1]=to10(binary[0]);
r[2]=to10(binary[1]);
r[3]=r[1]-r[2];
printf("Разность равна %d или в двоичной системе:", r[3]);
to2(r[3]);
break;
case 3:
printf("Введите первый множитель: ");
scanf("%d",&binary[0]);
printf("Введите второй множитель: ");
scanf("%d", &binary[1]);
r[1]=to10(binary[0]);
r[2]=to10(binary[1]);
r[3]=r[1]*r[2];
printf("Произведение равно %d или в двоичной системе:",r[3]);
to2(r[3]);
break;
case 4:
printf("Введите делимое: ");
scanf("%d",&binary[0]);
printf("Введите делитель: ");
scanf("%d", &binary[1]);
r[1]=to10(binary[0]);
r[2]=to10(binary[1]);
r[3]=r[1]/r[2];
printf("Частное равно %d или в двоичной системе:",r[3]);
to2(r[3]);
break;
case 5:
printf("Введите число: ");
scanf ("%d", &binary[0]);
r[3]=to10(binary[0]);
printf("Число в десятичной системе счисления:%d",r[3]);
break;
case 6:
printf("Введите число: ");
scanf("%d", &eng);
g4=to10(eng);
if(g4<0.0)
{
printf("Ошибка!!ВЫ ВВЕЛИ ОТРИЦАТЕЛЬНОЕ ЧИСЛО!!!\n");
}
else
{
sq[0]=sqrt(g4);
printf("Квадратный корень из %d равен %f", eng,sq[0]);
}
break;
}
break;
}
getch();
}
}
}
Steve Jobs. 1955-2011. Мы помним, как ты преобразовал наш мир....
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18544
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: ВСЕМ ПОЛЬЗОВАТЕЛЯМ И ПРОГРАММИСТАМ СЮДА!
А.Андрей писал(а):ARV писал(а):в том и преимущество языков высокого уровня, что их осилить проще...
Я с вами не собирался спорить. Их осилить проще чем ассемблер, но вот тот же ассемблер необходим для понимания тех процессов которые происходят в языках высокого уровня. Да и как - то привычно программить на нем)))))
вы не совсем правы. современное ПО находится в таком состоянии, что попытка понимать его, изучая на уровне регистров и ячеек озу, повергает вас в такую прорву подробностей, что вы просто там увязнете, не добившись чего-то конкретного. наоборот, чтобы понять процессы в ОС и т.п., надо максимально абстрагироваться от конкретики процессора, регистров, портов и т.п. Вещи, требующие супер-детального понимания - это либо вирусы, либо отладка драйверов, а в остальном оно только мешает.
помните про сороконожку? пока ее не спросили, как она управляет своими 40 ногами, она бегала себе и не жужжала, а после вопроса не смогла сделать и шагу... так и здесь: когда для рисования флага вы используете что-то типа
SetFillColor(Red);
DrawBox(0,0,MaxX,MaxY/3);
SetFillColor(White);
DrawBox(0,MaxY/3,MaxX,MaxY*2/3);
SetFillColor(Blue);
DrawBox(0,MaxY*2/3,MaxX,MaxY);
- вам все понятно (и не только вам), а когда то же самое вы делаете на ассемблере, усилий для понимания приходится тратить существенно больше. а для рисования флага британии у вас на данном этапе сил вообще не хватило. я не сомневаюсь, что алгоритм брезенхама вы с успехом реализуете на ассемблере, но ваши конкуренты к тому моменту будут рисовать уже в 3D
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
Re: ВСЕМ ПОЛЬЗОВАТЕЛЯМ И ПРОГРАММИСТАМ СЮДА!
Ну да)))))
Я вообще не против языков высокого уровня
и никогда не был
просто когда начал интересоваться
программированием под рукой оказалась только книга по асму
а про си я тогда не подумал
кстати, вот код последней проги:
извините

Я вообще не против языков высокого уровня
и никогда не был
просто когда начал интересоваться
программированием под рукой оказалась только книга по асму
а про си я тогда не подумал
кстати, вот код последней проги:
Код: Выделить всё
format MZ
xor ax,ax
add al,10h
int 10h
start111:
and cx,0
and dx,0
mov bp,0h
mov al,0fh
call a1
mov bp,1h
mov al,9h
call a1
mov bp,2h
mov al,0ch
call a1
AND dx,0
call wx1
mov bp,3h
mov al, 9h
call a1
mov bp,4h
mov al, 0eh
call a1
call wx1
and dx,0
mov bp,0h
mov al,0h
call a1
mov bp,1h
mov al,0ch
call a1
mov bp,2h
mov al,0eh
call a1
call wx1
and dx,0
mov bp,0h
mov al,0fh
call a1
mov bp,1h
mov al,0ah
call a1
mov bp,2h
mov al,0ch
call a1
call wx1
and dx,0
mov bp,0h
mov al,0ch
call a1
mov bp,1h
mov al,0fh
call a1
mov bp,2h
mov al,0ch
call a1
call wx1
jmp start111
a1:
mov ah,0ch
push cx
push dx
int 10h
pop dx
pop cx
cmp cx,258h
jz a2
inc cx
jmp a1
a2:
cmp bp,4
jz aa5
jmp a3
a3:
cmp bp,3
jz aa4
jmp a4
a4:
cmp bp,2
jz aa3
jmp a5
a5:
cmp bp,1
jz aa2
jmp aa1
aa1:
xor cx,cx
cmp dx,73h
jz s4
inc dx
jmp a1
aa2:
xor cx,cx
cmp dx,0e6h
jz s4
inc dx
jmp a1
aa3:
xor cx,cx
cmp dx,159h
jz s4
inc dx
jmp a1
aa4:
xor cx,cx
cmp dx,0afh
jz s4
inc dx
jmp a1
aa5:
xor cx,cx
cmp dx,15eh
jz s4
inc dx
jmp a1
s4:
ret
wx1:
mov cx, 0ffffh
ww1:
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
loop ww1
retизвините

Спасибо за внимание.
Re: ВСЕМ ПОЛЬЗОВАТЕЛЯМ И ПРОГРАММИСТАМ СЮДА!
ARV писал(а):будут рисовать уже в 3D
Вот здесь я ТОЧНО ниасилю
про рисование я узнал из:
Код: Выделить всё
Программирование видеоадаптеров CGA, EGA и VGA
© Александр Фролов, Григорий Фролов
Том 3, М.: Диалог-МИФИ, 1992, 287 стр.а про 3д там нет
Спасибо за внимание.
- Pika4u
- Поставщик валерьянки для Кота
- Сообщения: 2064
- Зарегистрирован: Пт апр 24, 2009 11:39:16
- Откуда: г.Оренбург
Re: ВСЕМ ПОЛЬЗОВАТЕЛЯМ И ПРОГРАММИСТАМ СЮДА!
Учи С++ ,пока не поздно!! 
Steve Jobs. 1955-2011. Мы помним, как ты преобразовал наш мир....
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18544
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: ВСЕМ ПОЛЬЗОВАТЕЛЯМ И ПРОГРАММИСТАМ СЮДА!
вы на дату издания книги посмотрите... если учесть, что книга издается за пару лет, то сведения там еще древнее... а EGA-адаптеры, не говоря про CGA - это вообще нонсенс на современном этапе, и тратить время на его изучение лично мне просто было бы жалко... а вот про регистры какого-нибудь GeForce GX**** что-то книжки не пишут 
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
Re: ВСЕМ ПОЛЬЗОВАТЕЛЯМ И ПРОГРАММИСТАМ СЮДА!
да ясное дело))))))
но впринцпе там говорится про вга а вот оно.......
мне турбо паскаля достаточно
но впринцпе там говорится про вга а вот оно.......
Учи С++ ,пока не поздно!!
мне турбо паскаля достаточно
Спасибо за внимание.
- Pika4u
- Поставщик валерьянки для Кота
- Сообщения: 2064
- Зарегистрирован: Пт апр 24, 2009 11:39:16
- Откуда: г.Оренбург
Re: ВСЕМ ПОЛЬЗОВАТЕЛЯМ И ПРОГРАММИСТАМ СЮДА!
Я пробовал паскаль выучить, вроде че-то понял, но среда турбо паскаль своими особенностями мне мозг окончательно з@еб@ла, так что паскаль я забросил))
Steve Jobs. 1955-2011. Мы помним, как ты преобразовал наш мир....
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18544
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: ВСЕМ ПОЛЬЗОВАТЕЛЯМ И ПРОГРАММИСТАМ СЮДА!
турбопаскаль это тот же труп, что и CGA-EGA. Очень рекомендую Delphi - тот же паскаль, но с ООП и вполне современно. если вы не намерены стать профессиональным программистом, С++ изучать так же нет особоых причин, во всяком случае, глубоко изучать, ибо там можно мозг сломать запросто, если он неокрепший 
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- Pika4u
- Поставщик валерьянки для Кота
- Сообщения: 2064
- Зарегистрирован: Пт апр 24, 2009 11:39:16
- Откуда: г.Оренбург
Re: ВСЕМ ПОЛЬЗОВАТЕЛЯМ И ПРОГРАММИСТАМ СЮДА!
Про неокрепший мозг улыбнуло=))но я сейчас штутдирую работу с файлами, сортировка, итд.... Скоро, наверное, к классам перейду))
Steve Jobs. 1955-2011. Мы помним, как ты преобразовал наш мир....