Компьютерный сленг

Вот список часто используемых и общепринятых слов компьютерного сленга. Нужно обратить внимание, что большинство слов взято из английского языка и пишется так, как произносится.

Админ - администратор.
Аська - прграмма общения ICQ.
Апгрейдить - улучшить что-либо. Сделать Апгрейд.
Батон - клавиша на клавиатуре. Отсюда выражение "топтать батоны."
Баг - ошибка в программе.
Белая сборка - компьютер, собранный на территории Европы или Северной Америки, то есть качественный компьютер.
Бета-тестер - человек, на котором испытывают новую программу для того, чтобы выявить ошибки и узнать мнение пользователя.
Брякпойнт - точка прерывания, то есть место, где может быть прервано выполнение программы.
Бэд-сектор - некачественный поврежденный сектор, куда нельзя записать информацию.
Винда - OS Windows.
Вир, Вирь - компьютерный вирус.
Вирмэйкер - человек, создающий вирусы.
Всосать - принять полностью что-либо по модему.
Вырубить - выключить.
Варез - нелицензионная программа (от англ. Warez).
Винт - винчестер, жесткий диск.
Видюха - видеокарта.
Висельник - системный программист.
Вес - размер файла, папки, программы.
Гестбук - гостевая книга (от англ. Guestbook).
Глюк - сбой в программе.
Глючить - работать со сбоями.
Глюкало - удобная программа, имеющая красивый внешний вид и развернутую панель с прекрасными кнопочками, но ничего полезного не делающая. Дерьмо, одним словом.
Гиг, Гига - гигабайт (примерно миллиард байтов).
Глюкодром - сбойное аппаратное обеспечение.
Дедик - выделенный сервер (dedicate).
Дельфин - язык программирования Borland Delphi.
Дельфинист - программист на Borland Delphi.
Док, Дока - документация.
Доска - клавиатура.
Домен - членораздельный адрес в интернете. Например www.narod.ru. Здесь ".ru" - домен 1-го уровня, ".narod" - домен 2-го уровня, "www" - домен 3-го уровня.
Директория - папка (directory).
Дебаггер, Долбаггер - программа для поиска, исправления глюков, а так же для взлома.
Дрова - драйвер.
Жертва - компьютер в руках у чайника.
Железо - материнская, звуковая и прочие платы. "Начинка" компьютера.
Живность - вирусы.
ЗЫ - буквы "З" и "Ы" расположены на клаве там же, где латинские "P" и "S", то есть PS.
Захачить - взламывать, переделывать прогу.
Зверь - вирус.
Зухель - модем фирмы Zyxel.
Интерпретатор, Интертрепатор - программа, выполняющая определенные действия на команды, записанные в текстовом файле.
Исходники - исходные тексты прграмм, для некоторых - исходящая почта.
Инет - интернет.
Клава - клавиатура, Клавка.
Коннект - связь с интернетом.
Комп - компьютер.
Кебарда, Кеборда - клавиатура.
Клацнуть педалью - нажать на клавишу Кебарды.
Компилятор - программа, переводящая текстовые файлы в двоичные исполняемые.
Компильнуть - провести компиляцию.
Крэк - программа взломщик.
Ламер - чайник, возомнивший себя крутым.
Лист - список рассылки, используется для оповещения широких масс одним простым письмом (от англ. Mailing List).
Левый - купленный у черта на рогах, без гарантии.
Лич - выкачивание файлов.
Личер - человек, который подсел с потрохами на скачивание варезов. Такие люди могут с легкостью заработать Клизму.
Ломиться в сеть - настойчиво дозваниваться до провайдера.
Лузер - юзер, дела которого оставляют желать лучшего. Дай такому человеку комп - он его по четырем задницам пустит.
Ляп - сбой, баг.
Мессага - сообщение, письмо (от англ. Message).
Мыло - e-mail, адрес электронной почты, почтовый ящик.
Метр - мегабайт.
Мазерборд - мать.
Маздай - OS Windows (от англ. "Must Die!" - должен умереть).
Мелкософт - фирма Microsoft.
Набить текст - создать текстовый файл.
Обои - бэкграунд, фоновый рисунок на рабочем столе.
ОЗУ - Оперативное Запоминающее Устройство, озушка, оперативная память.
Окна - винды.
Ось, Оса - операционная система OS/2.
Отлаживать - приводить программу в рабочее состояние.
Отпачить - исправить.
Отформатировать - разметить диск.
Оффтопик - брякнуть что-то мимо кассы.
Пень - Pentium.
Прога - программа.
Пассворд - пароль.
Повиснуть - зависнуть.
Полуось - OS/2.
Полетел - испортился.
Порезать диск - разделить физический диск на несколько логических.
Портабильный - переносной компьютер.
Похерить - сделать ксерокопию.
Поюзанный - бывший в употреблении
Пофиксить баги - исправить ошибки.
Приаттачить - присоединить файл к письму.
Привинтить - установить что-нибудь на компьютер.
Прикрутить - привинтить.
Проц - процессор.
Релиз - окончательная версия программы.
Ругается - выдает сообщения. Вроде ничего такого не говорит, а злит как х... моржовый! Имеются в виду сообщения об ошибках.
Русь'инфицировать - перевести на русский язык, русифицировать.
Сдохнуть - прекратить работать.
Спам - непрошенная рекламная почта.
Сервак - сервер.
Слить - скачать файло с сервака.
Сбросить на диск - переписать на носитель информацию.
Сетка - сеть Internet.
Сисадмин - системный администратор.
Слот - разъем для контроллеров.
Смайлик - динамичный рисунок, совершенно бесполезный, кстати.
Софт - прога.
Сорец - исходник.
Тоссировать - готовить почту к отправке.
Тулза - утилита.
Тюкнуть файл - удалить файл.
Убить - удалить файл.
Унитаз - виндовозная Корзина.
Упал - сервер, прекративший отвечать на запросы пользователей.
Утоптать - заархивировать.
Флудить - порождать бессмысленные потоки информации. Например, в ЧАТах, если повторяете одну и ту же фразу несколько раз. Обычно это слегка бесит. Забава для безголовых ламеров.
Флоп, Флоповод - дисковод.
Фонт - шрифт.
Фиксить - исправлять ошибки.
Форточки - OS Windows.
FAQ - ответы на часто задаваемые вопросы (от англ. Frequently Asked Questions).
Хакер - взломщик, преступник. Обычно с хорошими знаниями и соответствующим оборудованием
Хачить - взламывать, портить людям жизнь, заниматься хакерством
Хак - взломанная прога.
Халява - Freeware.
Хард - винчестер.
ЧАВО - обрусевший FAQ.
Чайник - 1. Человек, ничего не понимающий в компах. 2. Металлическая посуда с вытянутым горлышком и чрезвычайно удобной ручкой. Служит для повышения температуры воды в связи с ее нагреванием.
Чатить - безвылазно тусоваться в ЧАТах.
Шаровары - программы ShareWare.
Шуршать - искать что-либо на дисках.
Эвент - событие.
Экзешник - файл с расширением .ехе.
Юзер, Юзверь, Юзверг - пользователь, user.
Юниксоид - пользователь операционной системы Unix.
Юзать - пользоваться.
Яха - компьютер Yamaha.

Задача: Интересное число

Для заданного числа    N  найти наименьшее положительное число с суммой цифр равной  N, которое делится на  N.

Входные данные

Входные данные состоят из нескольких тестов. Для каждого теста в одной строке  записано одно число  N (1< N<109). Тесты заканчиваются строкой с единственным числом  0.

Выходные данные

В каждой строке выходных данных содержится единственное искомое число. Выходные данные заканчиваются строкой с числом 0.

Вот и решение:

#include "stdafx.h"
#include
using namespace std;

#define SIZE 1000000000
#define SIZE1 1000000000000000


int _tmain(int argc, _TCHAR* argv[])
{
    unsigned long long N,i,b[20],summa,a[20];
    bool sss=false;
    int j,k;
    while (1) 
   {
       cout<<"Vvedite chislo: ";
       cin>>N;

       if (N==0) 
         exit(1);
       else
          if (N>1 && N
          {
                   
               for (i=N; i<=SIZE1 ;i++) 
              {
                          
                   if (i%N==0) 
                  {
                      summa=0;
                      b[0]=i;
                      for (j=0; j<=15. ; j++) 
                      {
                           a[j]=b[j] % 10;
                           b[j+1]=b[j] / 10;
                           if (b[j+1]==0) 
                           {
                               for (k=0; k<=j ;k++) 
                                               {
                                                      summa=summa+a[k];
                                               }
                                               if (summa==N) 
                                                      sss=true;
                                               else
                                                      sss=false;
                                        break;
                                        }
                                  }
                           }

                           if (sss)
                           {     
                                  cout<'\n';
                                  break;
                           }
                    }
            
             }
             else
                    cout<<"\nVvedite chislo bolshe 1 i menshe 1000000000.\nEsli vvedete 0 proqramma zavershitsa!\n\n";
       }
       return 0;
}




Форматирование ввода/вывода в С++

В С++ информацию можно вводить и выводить в широком диапазоне форм. Можно изменять определённые параметры ввода и вывода  информации. Каждый поток (cin и cout) имеет набор флагов формата (format flags), которые предназначены для управления форматированием информации и представляют собой битовые маски(bitmasks), т.е каждый флаг занимает один бит. Стандартная библиотека  ввода/вывода С++ (Standard C++) создаёт два класса шаблона: одна для 8-ми битных символов, а другая для 16-ти битных символов. К 16-ти разрядным относятся символы уникода, каждый из которых хранится в 2-х байтах. Здесь речь пойдёт о 8-ми разрядных потоках, так как они используются чаще всего. К ним относятся потоки: cout, cin, cerr, clog. Да, в отличии от языка С (stdout, stdin, stderr) в С++ открываются целых четыре потока. Битовые маски объявлены в классе ios (производный от класса basic_ios) как данные типа fmtflags (аналогичен типу long). Вот список флагов: 

  • ·         adjustfield (ставит флаги left, right и internal)
  • ·         basefield (ставит флаги oct,dec и hex)
  • ·         boolalpha (данные типа bool выводятся в виде “true” и “false”)
  • ·         dec (вывод в десятичной системе счисления, установлен по умолчанию)
  • ·         fixed (вещественные числа выводятся в обычной форме)
  • ·         floatfield (ставит флаги scientific и fixed)
  • ·         hex (вывод в шестнадцатеричной системе счисления)
  • ·         internal (для заполнения поля вставляется пробел между цифрами)
  • ·         left (выравнивание по левому краю)
  • ·         oct (вывод в восьмеричной системе счисления)
  • ·         right (выравнивание по правому краю)
  • ·         scientific (вывод вещественных чисел с использованием “E”)
  • ·         showbase (показывает основание типа системы счисления)
  • ·         showpoint (показывает десятичную точку и последующие нули для вещественных чисел)
  • ·         showpos (показывает знак “+” перед положительными числами)
  • ·         skipws (отбрасываются невидимые символы(пробел, перенос строки, табуляция))
  • ·         unitbuf (освобождает буфер)
  • ·         uppercase  (переводит регистр в верхний уровень)  
  
Внутри класса ios имеются три функции для работы с вышеперечисленными флагами: setf(), unsetf(), flag().  Теперь по порядку об использовании этих функций.
Функция setf() устанавливает флаг, который передаётся в функцию как параметр. Объявлена эта функция следующим следующим образом:
fmtflags setf (fmtflags flag);
Здесь вместо “flag” нужно подставить флаг который надо установить. НО! Флаги являются членами класса ios и просто к ним не обратиться. Поэтому надо использовать оператор глобального разрешения
“::”. Например: ios::showbase. Возвращает функция старое значение переданного в параметре флага. Важно понять, что установив тот или иной флаг он будет распространяться на каждый поток создаваемый этим классом, то есть на потоки cout и cin.  Пример использования:
cout.setf (ios::hex);
Функция unsetf() предназначена для снятия флажка. Объявлена так:
void unsetf (fmtflags flag);
Как видно функция ничего не возвращает. Пример использования:
 
cout.unsetf(ios::dec);
 При использовании функций setf и unsetf в качестве параметра можно передавать несколько флагов. Для этого достаточно разделять их оператором побитового ИЛИ. Например:
cout.setf (ios::showpos | ios::showpoint | ios::hex);
cout.unsetf (ios::showpos | ios::showpoint | ios::hex);
Приведу пример с использованием обеих функций.

 #include "stdafx.h"
 #include "iostream"
 #include
 using namespace std;
  
 void main ()
 {
       cout<<-10<<' '<<10<<' '<<123.4<<"\n\n";
       cout.setf (ios::showpoint | ios::showpos | ios::scientific);
       cout<<-10<<' '<<10<<' '<<123.4<<"\n\n";
       cout.unsetf(ios::showpoint | ios::showpos | ios::scientific);
       cout<<-10<<' '<<10<<' '<<123.4<<"\n\n";
       _getch();
 }

И наконец последняя функция flags(). Объявлена она следующим образом:
fmtflags flags (fmtflags flags);
Эту функцию можно использовать двояко. Первый способ это получение информации о всех полях. Пример:
ios::fmtflags OldFlags;
OldFlags=cout.flags ();
Второй способ заключается в том, что с помощью этой функции можно установить все флажки формата. Для этого функции нужно передать переменную с информацией о всех полях. При этом предыдущие поля перезаписываются на новые. Пример:
cout.flags(OldFlags);
В качестве примера простая программа:

 #include "stdafx.h"
 #include
 #include
 using namespace std;
 void main()
 {
        cout<<-10<<' '<<10<<' '<<123.4<<"\n\n";
        ios::fmtflags OldFlags;
        OldFlags=cout.flags();
        cout.setf (ios::showpoint | ios::showpos | ios::scientific);
        cout<<-10<<' '<<10<<' '<<123.4<<"\n\n";

        cout.flags(OldFlags);
        cout<<-10<<' '<<10<<' '<<123.4<<"\n\n";
        _getch();
 } 

Если будете практиковаться с флажками формата, то очень кстати придётся вот эта функция:

 void showflags()
 {
     ios::fmtflags flags;
     flags=cout.flags();
     if (flags & ios::skipws) cout<< "skipws enable\n";
     else cout<< "skipws disable\n";
     if(flags & ios::left) cout << "left enable\n";
     else cout << "left disable\n";

     if(flags & ios::right) cout << "right enable\n";
     else cout << "right disable\n";

     if(flags & ios::internal) cout << "internal enable\n";
     else cout << "internal disable\n";
     if(flags & ios::dec) cout << "dec enable\n";
     else cout << "dec disable\n";
     if(flags & ios::oct) cout << "oct enable\n";
     else cout << "oct disable\n";
     if(flags & ios::hex) cout << "hex enable\n";
     else cout << "hex disable\n";
     if(flags & ios::showbase) cout << "showbase enable\n";
     else cout << "showbase disable\n";

     if(flags & ios::showpoint) cout << "showpoint enable\n";
     else cout << "showpoint disable\n";

     if(flags & ios::showpos) cout << "showpos enable\n";
     else cout << "showpos disable\n";

     if(flags & ios::uppercase) cout << "uppercase enable\n";
     else cout << "uppercase disable\n";

     if(flags & ios::scientific) cout << "scientific enable\n";
     else cout << "scientific disable\n";

     if(flags & ios::fixed) cout << "fixed enable\n";
     else cout << "fixed disable\n";

     if(flags & ios::unitbuf) cout << "unitbuf enable\n";
     else cout << "unitbuf disable\n";

     if(flags & ios::boolalpha) cout << "boolalpha enable\n";
     else cout << "boolalpha disable\n";

    cout << "\n";
}

Она выводит информацию о полях. 

Notepad++ на Азербайджанском

Месяц назад скачал Notepad++ для семёрки с официального сайта. Так вот решил собственноручно перевести его на родной азербайджанский. Перевод занял почти месяц, так как меню в программе не бедствует. Скачать патч можно отсюда 


А вот и скрин:

Хэндл окна консольной программы

При написании кода консольной программы иногда бывает, что приходится работать с функциями, в которорых один из параметров это хендл текущего приложения. А может и вообще в собственных функциях понадобится. Понятно что для консольного приложения его просто не получить. Это в оконных программах он получается автоматом. Например:

 int WINAPI WinMain (
 HINSTANCE hInstance,
 HINSTANCE hPrevInstance, 
 PSTR lpCmdLine, 
 int nCmdShow)

Задесь hInstance это хендл оконного приложения. А как же получить хендл консольной программы?

Вот простая функция:

 HANDLE GetConsoleHANDLE  ( ) {
 HANDLE handleConsoleWindow; 
 SetConsoleTitle (NAME_CONSOLE_APPLICATION);
 handleConsoleWindow = FindWindow (NULL, NAME_CONSOLE_APPLICATION);
 if ( handleConsoleWindow==0 )
 printf ("Error Find Window");
 return handleConsoleWindow;
 }

Итак функция имеет тип HANDLE потому, что  возвращает переменную именно такого типа. Функция начинается с того что обьявляется переменная handleConsoleWindow типа HANDLE и именно её впоследствии  после обработки будет возвращать функция. Затем вызываем функцию SetConsoleTitle, которой в качестве параметра передаём заголовок окна консоли. Т.е эта функция устанавливает заголовок NAME_CONSOLE_APPLICATION консольному окну, где запущенна программа. Затем вызывается функция FindWindow, которая ищет окно с заголовком NAME_CONSOLE_APPLICATION, для этого он передаётся в качестве параметра функции. Если функция находит окно, т.е окно вашей программы, она возвращает хендл программы (окна). Если не находит, то возвращает ноль. И в конце возвращаем переменную handleConsoleWindow. Да, кстати незабудьте определить макрос NAME_CONSOLE_APPLICATION.
Например:


 #define NAME_CONSOLE_APPLICATION      "This is my program!"