Шукати в цьому блозі

понеділок, 28 березня 2011 р.

Test yourself

Задача 1
Написати підпрограму, що у двовимірному масиві А(N,M) цілих чисел, такому, що для всіх I від 1 до N, J від 1 до М-1 виконується А(I,J)>A(I,J+1) і для всіх I від 1 до N-1 виконується A(I,M)>A(I+1,M), знаходить всі елементи A(I,J), рівні J+I, або встановлює, що таких елементів немає.

Задача 2
Задано прямокутну таблицю А[1:N,1:N], елементи якої рівні 0 або 1 причому А[i,i]=0 для будь-якого i.
Необхідно знайти, якщо вони є, такі рядок i0 і стовпець j0, щоб у стовпці j0 були всі 0, а в рядку i0 – всі 1.
Задача 3
На довгій перфострічці записані N попарно різних позитивних цілих чисел. Ваша ЕОМ може перемотувати стрічку на початок і зчитувати числа одне за іншим. Внутрішня пам’ять машини може зберігати тільки кілька цілих чисел. Потрібно знайти найменше позитивне ціле число, якого немає на стрічці. 

пʼятницю, 25 березня 2011 р.

До проекту Учень як вчений

Основи роботи з текстовою інформацією

Cистемне та службове програмне забезпечення

Алгоритми з використанням двовимірних масивів

четвер, 24 березня 2011 р.

Цікаві задачі з програмування: Масиви

1. Лихач-водій Василь Іванович вирішив поставити рекорд перегонів між містом Мляшем та містом Пляшем. Спочатку він запасся картою розташування заправок пальним на шляху між Мляшем та Пляшем, де відстань між заправками була позначена числами a1, a2, ..., an, а потім побився об заклад зі своїми друзями, що встановить рекорд за T год. Одна проблема мучила Василя Івановича: об'єм бака для пального склав K літрів, а запасної каністри у нього не було. Витрати пального в дорозі становили 1 л на 10 км шляху. Для економії часу Василь Іванович на кожній заправці визначав, чи варто витрачати 10 дорогоцінних хвилин на дозаправку, чи можна доїхати до наступної на залишках пального у баку. Чи зможе Василь Іванович встановити рекорд, якщо перша заправка знаходиться у місті Мляші, остання - у місті Пляші, а сам Василь Іванович їде з постійної швидкістю v км/год? Чи може таке статися, що Василь Іванович не доїде до міста Пляша?
2. Лікар-психіатр призначив Сергійкові лікування від лайливих слів. Виконуючи поради психіатра, хворий повинен був записувати у таблицю по днях протягом місяця кількість використаних ввічливих слів "Дякую", "Пробачте", "Прошу". У який день місяця друзям Сергійка повезло на ввічливі слова більше за все? А у який день місяця у хлопчика був самий поганий настрій? Які ввічливі слова Сергійкові більше всього до вподоби?
3.  Мама розвела цілу галерею кактусів, деякі з них були гольчасті, а решта - голі. Маленька донечка Яринка вирішила, що голки на кактусах - це надто визивно, і тому старанно поголила їх бритвою. Добре, що у мами залишився записник, в якому всі кактуси були позначені кількістю голочок a1, a2, ..., an, (голі кактуси були позначені 0). Скількох кактусів не торкнулася рука юної перукарки?
4. Середню групу дитячого садочка вивели на прогулянку. Скільки дівчаток і хлопчиків видно з-за паркану, якщо зріст хлопчиків задається в сантиметрах від'ємними числами :), а дівчаток - додатніми (:дискримінація:) у вигляді цілих значень a1, a2, ..., an? Окрім того, у всіх дівчаток на голівках зав'язані бантики заввишки 10 см, а висота паркану H см.
5. Коли барон Мюнхаузен захотів пообідати, він прив'язав на довгий мотузок шматок сала і закинув його високо у повітря. Зграя диких гусей, що пролітала тим часом над помешканням барона, зацікавилася незвичайним предметом і найстарший гусак, що очолював зграю, проковтнув його. Не встиг він насолодитися відчуттям ситості, як шматок сала вискочив із нього ззаду :))) і пропав у дзьобі другого гусака і т.д. Тепер доля обіду барона Мюнхаузена залежала лише від довжини мотузки! Скільки кілограмів підсмаженої гусятини було подано на обід барона Мюнхаузена, якщо довжина мотузки становила L см, N гусей летіли на відстані h см один від одного, довжина кожного з них дорівнює k см, а вага цих гусей у кілограмах становила m1, m2, ..., mN?

Даді буде...

Про П(о)ляни!!!

Спочатку про плани!
Є величезна кількість підручників по програмування на СіПіПі ;), але використати їх як основу для вивчення основ програмування досить проблематично. Тому узагальнивши, маю намір розробити власний посібник С++.
Викладаю план :) Хто в темі, із задоволенням дослухаюся до Ваших пропозицій... отож, не соромтеся!
Типи даних C++
  • структура програми;
  • коментарі;
  • змінні і типи даних;
  • константи;
  • перечислення;
  • перетворення типів.
Вирази та оператори
  • арифметичні операції, оператор присвоєння;
  • інкремент та декремент;
  • побітові логічні операції;
  • оператори порівняння;
  • пріоритет виконання операцій.
Умовні оператори
  • оператор if;
  • оператори if-else;
  • умовний оператор ? :
  • оператор switch.
Оператори циклу
  • цикли for;
  • цикли while;
  • цикли do-while;
  • оператори braek і continue;
  • оператор goto і мітки.
Функції
параметри і аргументи функцій;
  • області видимості, локальні і глобальні змінні;
  • операція :: ;
  • рекурсія;
  • математичні функції.
Вказівники і посилання
  • поняття вказівника;
  • операція розіменування;
  • арифметика вказівників;
  • посилання.
Масиви
  • поняття масиву;
  • ініціалізація масивів;
  • багатовимірні масиви;
  • динамічні масиви.
Обробка даних масивів
  • пошук в масиві;
  • впорядкування масивів.
Робота з графікою (1)
  • ініціалізація;
  • графічний інструментарій.
Робота з графікою (2)
  • графічний інструментарій.
Рядки символів і операції з ними (1)
  • масиви символів в C++;
  • визначення довжини рядків;
  • копіюванні і конкатенація рядків;
  • порівняння рядків;
  • перетворення рядків.
Рядки символів і орерації з ними (2)
  • пошук символів;
  • пошук підрядків;
  • функції перетворення типу.
Структури
  • поняття структури;
  • операції зі структурами;
  • структури як аргументи функцій;
  • масиви структур;
  • вказівники на структури.
Об’єднання
  • поняття об’єднання;
  • операції з об’єднаннями;
  • користувацькі типи даних.
  • Директиви препроцесора
  • директиви;
  • основні принципи використання файлів-заголовків;
  • макроси.
Функції вводу-виводу
  • потоковий ввід-вивід, стандартні потоки;
  • функції введення-виведення символів і рядків;
  • функції файлового вводу-виводу.
Об’єктно-орієнтоване програмування
  • принципи ООП;
  • класи;
  • конструктори і деструктори;
  • конструктор по замовчуванню і конструктори копіювання.
ООП (2)
  • статичні члени класу;
  • константні об’єкти і константні функції-члени класу;
  • вказівники на функції-члени класу;
  • масиви об’єктів класу;
  • дружні функції і друзі класу.
Наслідування
  • просте наслідування;
  • множинне наслідування;
  • віртуальні базові класи.
Перезавантаження функцій і операторів
  • поняття і призначення;
  • перезавантаження конструкторів;
  • створення і використання конструкторів копіювання;
  • перезавантаження і неоднозначність;
  • перезавантаження операторів.
Поліморфізм і віртуальні функції
раннє і пізнє зв’язування;
  • віртуальні функції;
  • застосування динамічного поліморфізму;
  • віртуальні деструктори;
  • абстрактні класи і чисто віртуальні функції.
Виключення і інформація про тип часу виконання
  • опрацювання виключень;
  • генерація виключень;
  • перехват виключень;
  • використання вкладених блоків try/catch;
  • інформація про тип часу виконання.
Потоковий ввід-вивід
  • визначені потоки;
  • операції розміщенні і вилучення з потоку;
  • форматування потоку;
  • файловий ввід-вивід з використанням потоків;
  • неформатований ввід-вивід.

Отже, Почнемо


Сьогодні четвер 24 березня 2011 року, непоганий день, щоб почати щось нове! І я вирішив почати вести свій новий блог. А з чого ж мені власне почати? От уже биту годину сиджу й думаю про це. Адже матеріалу для блога в мене вистачить на кілька книг :))
Кому буде цікавий даний блог? Думаю, що блог буде цікавий багатьом, але природно не всім! Відразу скажу, що  в основному в моєму блозі мова йтиме про програмування, інформаційні технології, про моє бачення особистості в цьому бурхливому світі й про прагнення людини досягти успіху.
Отже, lets go!!!