Перейти к содержимому

Фото
- - - - -

Дополнительные занятия для сдачи предмета "Programmeerimine"


  • Вы не можете создать новую тему
  • Please log in to reply
156 ответов в этой теме

Опрос: Дополнительные занятия по программированию для первокурсников (35 пользователей проголосовало)

Как насчёт дополнительных занятий?

  1. Нет, мне не нужна лишняя нагрузка (3 голосов [8.57%] - Смотреть)

    Соотношение ответов: 8.57%

  2. Да, сходил бы на пару занятий, посмотреть, что и как (3 голосов [8.57%] - Смотреть)

    Соотношение ответов: 8.57%

  3. Да, хочу подтянуть свои знания Си (3 голосов [8.57%] - Смотреть)

    Соотношение ответов: 8.57%

  4. Да, обязательно, хочу научиться хорошо программировать с нуля (23 голосов [65.71%] - Смотреть)

    Соотношение ответов: 65.71%

  5. Нет, я и так знаю программирование (3 голосов [8.57%] - Смотреть)

    Соотношение ответов: 8.57%

Голосовать Гости не могут принимать участие в опросах

#91 NyakO

NyakO
  • Пользователь
  • 105 сообщений

Отправлено 19 Октябрь 2010 - 22:52

у меня так же :wacko:
  • 0
Любая проблема решается просто.Если простое решение не проходит, ищи еще более простое. (с) Ник Перумов. Учение магов Арка

#92 Dio

Dio

    IASM 32

  • Пользователь
  • 307 сообщений
  • Откуда:Колывань

Отправлено 19 Октябрь 2010 - 23:00

NyakO, добавь перед последней }

int presskey = getch();
  • 0

#93 Я ЖИВУ В ТТУ

Я ЖИВУ В ТТУ
  • Пользователь
  • 67 сообщений
  • Откуда:Tallinn

Отправлено 19 Октябрь 2010 - 23:00

getch();
not
getchat();
  • 1

#94 Я ЖИВУ В ТТУ

Я ЖИВУ В ТТУ
  • Пользователь
  • 67 сообщений
  • Откуда:Tallinn

Отправлено 27 Октябрь 2010 - 13:39

Для тех, кто пропустил прошлое допзанятие: сегодня оно состоится так же в 213Ф?
  • 0

#95 anaga

anaga
  • Постоялец
  • 702 сообщений

Отправлено 27 Октябрь 2010 - 14:24

Я ЖИВУ В ТТУ,
Да
  • 0

#96 DeaD_MaN

DeaD_MaN
  • Пользователь
  • 616 сообщений

Отправлено 27 Октябрь 2010 - 18:13

anaga, а можете рассказать, пожалуйста, как всё-таки должен выглядеть код, который считает простые числа по вот такому алгоритму, а не полному перебору делителей:

The simplest primality test is as follows: Given an input number n, check whether any integer m from 2 to n − 1 divides n. If n is divisible by any m then n is composite, otherwise it is prime.


  • 0
My wings, my heart, no longer beat.

#97 Wardann

Wardann
  • Пользователь
  • 56 сообщений

Отправлено 27 Октябрь 2010 - 21:45

Я сейчас сойду с ума. Почему, ПОЧЕМУ у меня закрывается окно программы несмотря на getchar() и на то, что оно скомпилировалось?


Ну,мне иногда system("PAUSE") помогает = ).Набери в cmd pause = ) и поймёшь,о чём я.

Перевести бы ещё вышенаписанное ))))
  • 0

#98 Володька

Володька
  • Пользователь
  • 471 сообщений
  • Откуда:Силламяэ

Отправлено 27 Октябрь 2010 - 22:06

The simplest primality test is as follows: Given an input number n, check whether any integer m from 2 to n − 1 divides n. If n is divisible by any m then n is composite, otherwise it is prime.


По моему, этот алгоритм и есть простой перебор делителей?
  • 0

#99 Inquisitor1

Inquisitor1
  • Пользователь
  • 272 сообщений

Отправлено 27 Октябрь 2010 - 22:13

DeaD_MaN, Если я правильнo пoнимаю, а пoнимаю я правильнo, тo этoт алгoритм и oписывает пoлный перебoр делителей oт двух дo эн минус oдин.
  • 0

#100 anaga

anaga
  • Постоялец
  • 702 сообщений

Отправлено 28 Октябрь 2010 - 08:54

DeaD_MaN,
Функция, которая проверяет число N на то, что оно составное.
Делается перебором все целых чисел от 2 до N-1, если N делится без остатка - то функция вернет 1
Если перебрали все числа от 2 до N-1, то у нас простое число, и функция вернет 0
int composite(int N)
{
 int m;
 for (m = 2; m<N-1; m++)
 {
   if (N%m == 0) return 1;
 }
 return 0;
}

  • 0

#101 shb

shb

    New life, much more options

  • Постоялец
  • 5 253 сообщений
  • Откуда:Таллинн

Отправлено 28 Октябрь 2010 - 09:25

А если еще немножко применить мозг, то можно заметить, что перебор второй половины не имеет смысла. Итого надо сделать цикл только for (m = 2; m<N/2; m++)
  • 0
Мыслящий человек просто обязан время от времени поднимать себя за волосы © Тот самый Мюнгхаузен

Joga Bonito!

#102 shb

shb

    New life, much more options

  • Постоялец
  • 5 253 сообщений
  • Откуда:Таллинн

Отправлено 28 Октябрь 2010 - 10:09

А еще чуток подумав был замечен еще один очевидный теперь факт - если N составное, то хотя бы один из его делителей меньше, чем sqrt(N). Ибо если оба числа больше чем корень из N, то их произведение тоже больше чем N.

Итого цикл сужается до (m = 2; m<=sqrt(N); m++)

Это никому не в обиду тут написано, просто о том, как можно сделать алгоритм лучше посмотрев и заметив довольно простые вещи. Теперь если нам надо например найти все делители до 1000000, нам надо перебрать не миллион вариантов, даже не полмиллиона, а всего 1000 :wink:

Сообщение изменено: shb (28 Октябрь 2010 - 10:14 )

  • 1
Мыслящий человек просто обязан время от времени поднимать себя за волосы © Тот самый Мюнгхаузен

Joga Bonito!

#103 anaga

anaga
  • Постоялец
  • 702 сообщений

Отправлено 29 Октябрь 2010 - 10:00

shb,
До первого твоего улучшения (m<N/2) додумался только один человек из группы. До второго - никто.
Но, все же, меня попросили оформить код по алгоритму, я его и оформил. Хотя первое улучшение действительно лежит на поверхности. :)
  • 0

#104 Tasmanian Fox

Tasmanian Fox
  • Пользователь
  • 108 сообщений
  • Откуда:Narva

Отправлено 29 Октябрь 2010 - 10:54

По поводу составных чисел: то, что самое рациональное - искать делители до sqrt(N), мы проходили на дискретной математике-2. Это я к тому, что если у вас встанет выбор между дискреткой-2 и матаном-2 во втором семестре и вам интереснее изучать алгоритмы - берите дискретку-2 :)
  • 0

#105 shb

shb

    New life, much more options

  • Постоялец
  • 5 253 сообщений
  • Откуда:Таллинн

Отправлено 29 Октябрь 2010 - 10:56

берите оба предмета.
  • 0
Мыслящий человек просто обязан время от времени поднимать себя за волосы © Тот самый Мюнгхаузен

Joga Bonito!

#106 null

null
  • Постоялец
  • 15 928 сообщений

Отправлено 29 Октябрь 2010 - 15:18

выбор между дискреткой и вторым матаном встаёт у софтеров, к которым данная тема не относится. :)
  • 0

#107 Ruzard

Ruzard
  • Пользователь
  • 110 сообщений
  • Откуда:Narva

Отправлено 29 Октябрь 2010 - 19:36

несколько человек из иапб ходит на эти доп. уроки, так что частично к ним относится :)
  • 0

#108 anaga

anaga
  • Постоялец
  • 702 сообщений

Отправлено 29 Октябрь 2010 - 22:27

В Бамбе у меня кто спросил домашнее задание на эти выходные...
Задача "Кирпич"
В стене есть прямоугольное отверстие размером NxM cm. В руке есть кирпич - параллелепипед со сторонами AxBxC cm. Необходимо сделать программу, которая по введенным 5 целым числам ответит, пройдет кирпич в отверстие, или нет.
Кирпич можно вращать как угодно.

Задание понятно?
И пожалуйста, не выкладывайте здесь свое виденье решения этого задания, пусть другие подумают самостоятельно. Если хочется показать мне - отправьте письмом, посмотрю, прокомментирую.

Еще одно объявление: в среду, 3 ноября, занятие начнется на пол часа позже, в 16:30.
передайте знакомым и друзьям.

Сообщение изменено: anaga (29 Октябрь 2010 - 22:58 )

  • 0

#109 anaga

anaga
  • Постоялец
  • 702 сообщений

Отправлено 01 Ноябрь 2010 - 11:07

Господа первокуры, настоятельно рекомендую сделать эту домашку, ИБО на ее основе в среду буду объяснять массивы.
  • 0

#110 xkcd

xkcd
  • Новобранец
  • 11 сообщений

Отправлено 01 Ноябрь 2010 - 11:56

Если до тривиального улучшения в задаче про простые числа не догадался никто , то сколько народу тут придумает критерий когда прямоугольник проходит в другой? ( если одна из сторон прямоугольника длинее обоих сторон отверстия, то он все равно может пролезть в некотором случае )
  • 0

#111 anaga

anaga
  • Постоялец
  • 702 сообщений

Отправлено 01 Ноябрь 2010 - 15:33

xkcd,
Да, может. :)
Я буду очень счастлив, если кто то до этого додумается, но в первую очередь меня интересует чтобы 90% сделали хотя-бы тривиальное решение.
  • 0

#112 пудель Смерти

пудель Смерти

    iTomato

  • Постоялец
  • 2 185 сообщений
  • Откуда:Страна городов, город улиц. Квартира жильцов в доме кварит на улице домов.

Отправлено 01 Ноябрь 2010 - 17:06

Если до тривиального улучшения в задаче про простые числа не догадался никто , то сколько народу тут придумает критерий когда прямоугольник проходит в другой? ( если одна из сторон прямоугольника длинее обоих сторон отверстия, то он все равно может пролезть в некотором случае )

Если я правильно понял намёк, то один человек уже сделал)
  • 0
90% чего угодно — полная чушь

#113 anaga

anaga
  • Постоялец
  • 702 сообщений

Отправлено 02 Ноябрь 2010 - 07:36

пудель Смерти,
Шли в ЛС мне код.
  • 0

#114 Ruzard

Ruzard
  • Пользователь
  • 110 сообщений
  • Откуда:Narva

Отправлено 03 Ноябрь 2010 - 07:07

сделал для одного конкретного случая - когда пихаем прямо.
Но ведь еще есть вариант запихнуть его вставив кирпич в отверстие не ровно, а повернув, и как это вычислить уже не знаю...
  • 0

#115 anaga

anaga
  • Постоялец
  • 702 сообщений

Отправлено 03 Ноябрь 2010 - 07:56

Ruzard,
Шли в ЛС мне код.
  • 0

#116 Ruzard

Ruzard
  • Пользователь
  • 110 сообщений
  • Откуда:Narva

Отправлено 03 Ноябрь 2010 - 08:37

anaga,
не отправляется, белый экран после нажатие на "отправить". хотя мб и отправляется, тогда должно придти в 4 экземплярах :)
на всякий случай выслал копию на bobyrev_bob@hotmail.com
  • 0

#117 Эдгарулик

Эдгарулик

    Мусечка

  • Постоялец
  • 4 871 сообщений
  • Откуда:Столица

Отправлено 03 Ноябрь 2010 - 18:15

anaga, опять не дошел послушать тебя

Сообщение изменено: Инферныч (03 Ноябрь 2010 - 18:15 )

  • 0

#118 anaga

anaga
  • Постоялец
  • 702 сообщений

Отправлено 05 Ноябрь 2010 - 16:14

домашнее задание на эти выходные...
Упражнение на массивы
Есть массив из 20 целочисленных элементов, элементы вводятся или с клавиатуры, или случайные числа.
Необходимо вывести на экран порядковый номер и значение минимального и максимального элемента.
Так же нужно вывести на экран среднее арифметическое значений всего массива.
Отсортировать массив и вывести на экран порядковый номер и значение медианы.

Задание понятно?
И пожалуйста, не выкладывайте здесь свое виденье решения этого задания, пусть другие подумают самостоятельно. Если хочется показать мне - отправьте письмом, посмотрю, прокомментирую.
  • 0

#119 shb

shb

    New life, much more options

  • Постоялец
  • 5 253 сообщений
  • Откуда:Таллинн

Отправлено 05 Ноябрь 2010 - 17:06

Хорошие у тебя задания, молодец ) Простые для тех, кто хочет минимума, но оставляют большой простор для изучения темкто хочет большего )

Заинтересованные, обратите внимание на сортировку :wink:
  • 0
Мыслящий человек просто обязан время от времени поднимать себя за волосы © Тот самый Мюнгхаузен

Joga Bonito!

#120 anaga

anaga
  • Постоялец
  • 702 сообщений

Отправлено 11 Ноябрь 2010 - 14:03

домашнее задание на эти выходные...
Палиндром
В программу вводится слово, программа выдает решение, является ли слово - палиндромом
Минимальный уровень, который я хочу от вас получить - это чтобы программа работала корректно с одним словом, записным в одном регистре.
примеры:
Шалаш НЕТ
ШАЛАШ ДА
казак ДА
казаК НЕТ
Троль НЕТ

Чуть по выше уровень, когда ваша программа найдет Палиндром вне зависимости от регистра
примеры:
Шалаш ДА
ШАЛАШ ДА
казак ДА
казаК ДА
Троль НЕТ

Ну и совсем хорошо, если сделаете работу со строчками, независимо от регистра, пробелов и знаков препинания.
А роза упала на лапу Азора ДА
А роза упала на лапу НЕТ
192 шалаш 2 19 ДА

Задание понятно?
http://ru.wikipedia..../wiki/Палиндром

Сообщение изменено: anaga (11 Ноябрь 2010 - 14:09 )

  • 0