После первого тура в финал вышли трое самый достойных. Это Илья Коваленко (551 к/о), Юрий Лунёв (541 к/о) и Станислав Цымбал (551 к/о). Пришло время серьёзной задачи, которая и определит победителя!
На столе лежит куча спичек. Три игрока по очереди берут оттуда 1, 2, 3 или 4 спички. Тот игрок, после чьего хода куча опустеет, прогрывает, а другие два в этом случае получают по одному очку. Ваша задача написать компьютерного игрока для этой игры, который победит компьютерных игроков, написанных вашими соперниками.
Скачайте этот архив: https://dl.dropboxusercontent.com/u/22620118/Glau/Olympiad.zip . Распакуйте его. Откройте index.html хромом и откройте консоль. Вы увидите одну партию между тремя ботами.
Бот MyBot - ваш. Редактировать его поведение вы можете, редактируя скрипт MyBot.js
Функция doStep принимает текущее число спичек и возвращает то число спичек, которое нужно брать.
В файле index.html можете поменять параметры в строке game.init(1,1);
Первый параметр - сколько раундов сразу запускать. Каждый раунд начинается со случайного числа от 50 до 149 и начинающий игру бот определяется случайно.
Второй параметр - через сколько раундов включать детальное логирование партии.
Финальная схватка между ботами произойдёт на настройках game.init(1000,1000);
Показ дописів із міткою программирование. Показати всі дописи
Показ дописів із міткою программирование. Показати всі дописи
неділя, 28 лютого 2016 р.
четвер, 25 лютого 2016 р.
понеділок, 8 лютого 2016 р.
Основы программирования: как разработать алгоритм и написать программу
Рассматриваем пример: как разработать программу, которая бы вычисляла сумму налогов по прогрессивной шкале.
Работа состоит из следующих этапов:
1. Пробуем выполнить задачу самостоятельно
2. Подмечаем закономерности
3. Составлем инструкцию, по которой другой человек мог бы выполнить задачу
4. Строим блок-схему алгоритма решения задачи
5. Пишем программу, в которой реализуется эта блок-схема
6. Тестируем программу, при необходимости вносим модификации
Работа состоит из следующих этапов:
1. Пробуем выполнить задачу самостоятельно
2. Подмечаем закономерности
3. Составлем инструкцию, по которой другой человек мог бы выполнить задачу
4. Строим блок-схему алгоритма решения задачи
5. Пишем программу, в которой реализуется эта блок-схема
6. Тестируем программу, при необходимости вносим модификации
четвер, 28 січня 2016 р.
Основы программирования: как стартовать в Javascript
Как стартовать в JavaScript.
Вместо обычного блокнота можете скачать Notepad++ - в нём удобнее.
Вместо обычного блокнота можете скачать Notepad++ - в нём удобнее.
Видео снималось в начале 2го семестра обучения группы Компьютерных систем, с него и начнём курс.
неділя, 1 листопада 2015 р.
Циклы на Javascript
Часто в программе нужно выполнить много однотипных действий. Например, нарисовать ряд из девяти окружностей.
Допустим для определённости, что радиус каждой окружности должен быть равен 30 пикселей, координаты центра самой левой окружности равны (100, 50) и все расстояния между центрами должны быть по 50 пикселей по горизонтали.
Как решать эту задачу "в лоб"? Очень просто: написав такой скрипт (первый две стандартный строки, с которых должно начинаться рисование, я тут не пишу - вспоминайте!)
ctx.strokeStyle="#ff0000";//задали красный цвет линий
ctx.beginPath();
ctx.arc(50, 100, 30, 0, 2*Math.PI);//рисуем полную окружность с центром в (50, 100) и радиусом 30
ctx.stroke();//обводим её
ctx.beginPath();
ctx.arc(100, 100, 30, 0, 2*Math.PI);//рисуем полную окружность с центром в (100, 100) и радиусом 30
ctx.stroke();//обводим её
ctx.beginPath();
ctx.arc(200, 100, 30, 0, 2*Math.PI);//рисуем полную окружность с центром в (200, 100) и радиусом 30
ctx.stroke();//обводим её
ctx.beginPath();
ctx.arc(250, 100, 30, 0, 2*Math.PI);//рисуем полную окружность с центром в (250, 100) и радиусом 30
ctx.stroke();//обводим её
Как решать эту задачу "в лоб"? Очень просто: написав такой скрипт (первый две стандартный строки, с которых должно начинаться рисование, я тут не пишу - вспоминайте!)
ctx.strokeStyle="#ff0000";//задали красный цвет линий
ctx.beginPath();
ctx.arc(50, 100, 30, 0, 2*Math.PI);//рисуем полную окружность с центром в (50, 100) и радиусом 30
ctx.stroke();//обводим её
ctx.beginPath();
ctx.arc(100, 100, 30, 0, 2*Math.PI);//рисуем полную окружность с центром в (100, 100) и радиусом 30
ctx.stroke();//обводим её
ctx.beginPath();
ctx.arc(150, 100, 30, 0, 2*Math.PI);//рисуем полную окружность с центром в (150, 100) и радиусом 30
ctx.stroke();//обводим её
ctx.arc(150, 100, 30, 0, 2*Math.PI);//рисуем полную окружность с центром в (150, 100) и радиусом 30
ctx.stroke();//обводим её
ctx.arc(200, 100, 30, 0, 2*Math.PI);//рисуем полную окружность с центром в (200, 100) и радиусом 30
ctx.stroke();//обводим её
ctx.beginPath();
ctx.arc(250, 100, 30, 0, 2*Math.PI);//рисуем полную окружность с центром в (250, 100) и радиусом 30
ctx.stroke();//обводим её
ctx.beginPath();
ctx.arc(300, 100, 30, 0, 2*Math.PI);//рисуем полную окружность с центром в (300, 100) и радиусом 30
ctx.stroke();//обводим её
ctx.arc(300, 100, 30, 0, 2*Math.PI);//рисуем полную окружность с центром в (300, 100) и радиусом 30
ctx.stroke();//обводим её
ctx.beginPath();
ctx.arc(350, 100, 30, 0, 2*Math.PI);//рисуем полную окружность с центром в (350, 100) и радиусом 30
ctx.stroke();//обводим её
ctx.beginPath();
ctx.arc(400, 100, 30, 0, 2*Math.PI);//рисуем полную окружность с центром в (400, 100) и радиусом 30
ctx.stroke();//обводим её
ctx.arc(350, 100, 30, 0, 2*Math.PI);//рисуем полную окружность с центром в (350, 100) и радиусом 30
ctx.stroke();//обводим её
ctx.beginPath();
ctx.arc(400, 100, 30, 0, 2*Math.PI);//рисуем полную окружность с центром в (400, 100) и радиусом 30
ctx.stroke();//обводим её
ctx.beginPath();
ctx.arc(450, 100, 30, 0, 2*Math.PI);//рисуем полную окружность с центром в (450, 100) и радиусом 30
ctx.stroke();//обводим её
ctx.arc(450, 100, 30, 0, 2*Math.PI);//рисуем полную окружность с центром в (450, 100) и радиусом 30
ctx.stroke();//обводим её
Этот скрипт выдаст нам желаемый результат. Более того, некоторые недобросовестные программисты, которые получают деньги за объём кода, а не за эффективность решения, что-то подобное и делают.
В чём недостатки такого подхода?
1. Большой объём программного кода, в котором сложно разобраться и немудрено сделать ошибку
2. Большая сложность модификаций (если бы мы решили уменьшить радиус всех окружностей, то понадобилось бы вносить исправления в 9-ти строках)
Поэтому нужно применить другой подход – зацикливание программы. Чтобы составить циклический алгоритм, следует ответить на 3 вопроса:
- Что общего в командах?
- Чем они отличаются?
- До каких пор нужно продолжать выполнять команды?
Для нашего конкретного случая общее здесь то, что рисуются окружности, у них равны радиусы и координаты Y. Различаются же они координатами X. Рисовать их нужно до тех пор, пока координата X не превышает значение 450 пикселей.
Вот, как будет выглядеть блок-схема циклического алгоритма.
Теперь можно приступить к написанию более эффективной программы. Начинается она с двух стандартных строк:
var canvas=document.getElementById("C1");//получаем сам холст из тела документа
var ctx = canvas.getContext("2d");//получаем контекст этого холста, к которому далее будем обращаться с командами
var ctx = canvas.getContext("2d");//получаем контекст этого холста, к которому далее будем обращаться с командами
Теперь производим инициализацию переменных, задаём их начальные значения.
var x = 50
var y = 100
var r = 30
var y = 100
var r = 30
Теперь нужно проверить, не превысило ли х значения 450. Но нужно использовать не if, а другое ключевое слово: while, так как это вход не в ветку, а в цикл.
while (x<=450){
Теперь рисуем окружность с центром в (х, у) и радиусом r.
ctx.strokeStyle="#ff0000";//задали красный цвет линий
ctx.beginPath();
ctx.arc(x, y, y, 0, 2*Math.PI);//рисуем полную окружность с центром
ctx.stroke();//обводим её
Теперь увеличиваем х на 50 и закрываем цикл
x = x+50
}
Вот и всё! Этот короткий скрипт нарисует то же самое, что и предыдущий длинный.
Самостоятельные задания:
1. Как сделать так, чтобы радиус окружностей был 20 пикселей?
2. Как сделать так, чтобы окружности были внутри сиреневого цвета?
3. Как сделать так, чтобы окружности шли не в ряд, а в столбик?
В шаге цикла можно менять сразу несколько параметров.
Допустим, нужно нарисовать вот такую картину:
Тогда, кроме
x = x+50
нужно дописать:
y = y+35;
r = r+10;
и всё будет работать так, как надо.
Пример 2.
Обратив внимание, что это пучок отрезков. Отрезок задаётся четырьмя числами: x1, y1, x2, y2. У всех отрезков координаты у неизменны, координата х1 увеличивается, а х2 – уменьшается.
Пишем скрипт.
var x1 = 0
var y1 = 0
var x2 = 800
var y2 = 600
var y1 = 0
var x2 = 800
var y2 = 600
ctx.strokeStyle="#ff00ff";//цвет линий можно задать один раз, вне цикла
while (x1<=800){
ctx.beginPath();
ctx.moveTo(x1, y1);//ставим карандаш в точку (х1, у1)
ctx.lineTo(x2, y2);//ведём его в точку (х2, у2)
ctx.stroke();//прорисовываем линию
x1 = x1+10
x2 = x2-10
}
while (x1<=800){
ctx.beginPath();
ctx.moveTo(x1, y1);//ставим карандаш в точку (х1, у1)
ctx.lineTo(x2, y2);//ведём его в точку (х2, у2)
ctx.stroke();//прорисовываем линию
x1 = x1+10
x2 = x2-10
}
пʼятниця, 28 серпня 2015 р.
Видеоуроки для курсантов
За 2014-2015 год накопилось много видеоуроков по программированию, а также 3Д-моделированию. Они собраны в этом посте
субота, 1 листопада 2014 р.
Работа с графикой
Работа с графикой в GWBASIC
Изображение на экране состоит из точек с целыми координатами.
Экранная система координат:
Графические команды:
SCREEN 9 – перевести экран в графический режим
CLS – очистить экране
PSET(X,Y) – нарисовать точку в координатах (Х,У)
Пример использования:
PSET(100,200) – нарисовать точку в координатах (100,200)

PSET(X,Y),C нарисовать точку цвета С в координатах (Х,У)
Пример использования:
PSET(100,200),2 – нарисовать зелёную точку в координатах (100,200)
Список цветов:
0 – чёрный
1 – синий
2 – зелёный
3 – сине-зелёный
4 – красный
5 – малиновый
6 – оранжевый
7 – светло-серый
8 – тёмно-серый
9 – сиреневый
10 – травяной
11 – голубой
12 – ярко-красный
13 – ярко-малиновый
14 – жёлтый
15 – белый
LINE(X1,Y1)-(X2,Y2) – провести линию из точки с координатами (Х1,У1) в точку с координатами (Х2,У2)
Пример использования:
LINE(100,200)-(250,300) - провести линию из точки с координатами (100,200) в точку с координатами (250,300)

LINE(X1,Y1)-(X2,Y2),C– провести линию цвета С из точки с координатами (Х1,У1) в точку с координатами (Х2,У2)
LINE(100,200)-(250,300),14 - провести жёлтую линию из точки с координатами (100,200) в точку с координатами (250,300)
LINE(X1,Y1)-(X2,Y2),C,B – нарисовать прямоугольник цвета С, диагональю которого будет линия (X1,Y1)-(X2,Y2)
Пример использования:
LINE(100,200)-(250,300),8,В – нарисовать тёмно-серый прямоугольник, диагональю которого будет линия (100,200)-(250,300)

LINE(X1,Y1)-(X2,Y2),C,BF – нарисовать и закрасить цветом С прямоугольник, диагональю которого будет линия (X1,Y1)-(X2,Y2)
Пример использования:
LINE(100,200)-(250,300),10,ВF – нарисовать и закрасить светло-зелёный прямоугольник, диагональю которого будет линия (100,200)-(250,300)

CIRCLE(X,Y),R – нарисовать окружность с центром в точке (Х1,У1) и радиусом R.
Пример использования:
CIRCLE(100,200),50 – нарисовать окружность с центром в точке (100,200) и радиусом 50.

CIRCLE(X,Y),R,C - нарисовать окружность цвета С с центром в точке (Х1,У1) и радиусом R.
CIRCLE(X,Y),R,C,A1,A2 – Нарисовать дугу от угла А1 до угла А2 окружности цвета С с центром в точке (Х1,У1) и радиусом R
Пример использования:
CIRCLE(100,200),50,4,0,1.507

CIRCLE(X,Y),R,C,A1,A2,D Нарисовать дугу эллипса со степенью сжатия D от угла А1 до угла А2 цвета С с центром в точке (Х1,У1) и радиусом большой полуоси R
Пример использования:
CIRCLE(100,200),50,4,0,3.14,10

Задание для работы у доски №1: Написать программу, которая нарисует на экране смайлик
1. Составим чертёж выводимого на экран изображения:

Рисунок будет состоять из трёх окружностей и одной полуокружности.
2. Определим координаты их центров и радиусы:

3. Пишем программу:
Переводим экран в графический режим:
10 SCREEN 9
Очищаем экран
20 CLS
Рисуем контур лица
30 CIRCLE (200,150),80
Рисуем левый глаз
40 CIRCLE (180,120),5
Рисуем правый глаз
50 CIRCLE(220,120),5
Рисуем улыбку
60 CIRCLE(200,150),60,15,3.5,5.9
4. Запускаем программу (нажать F2, когда курсор находится на пустой строке)
Задание для работы у доски №2: Написать программу, которая нарисует на экране ёлку
1. Составим чертёж выводимого на экран изображения:

2. Определим координаты точек, по которым будем строить линии.

3. Пишем программу:
Переводим экран в графический режим:
10 SCREEN 9
Очищаем экран
20 CLS
Рисуем верхний треугольник
30 LINE(260,70)-(310,120),2
40 LINE(310,120)-(210,120) ,2
50 LINE(210,120)-(260,70) ,2
Средний треугольник
60 LINE(260,120)-(330,190) ,2
70 LINE(330,190)-(190,190) ,2
80 LINE(190,190)-(260,120) ,2
Нижний треугольник
90 LINE(260,190)-(380,250) ,2
100 LINE(380,250)-(140,250) ,2
110 LINE(140,250)-(260,190) ,2
Прямоугольник ствола
120 LINE(250,250)-(270,300),8,B
4. Запускаем программу (нажать F2, когда курсор находится на пустой строке)
Задание для работы у доски №3: Написать программу, которая нарисует прямоугольники размером 15х300 всех возможных цветов.
Используем оператор цикла. Счётчик цикла I будет одновременно задавать цвет прямоугольника и его положение на экране
10 SCREEN 9
20 CLS
30 FOR I=0 TO 15
40 LINE(I*15,0)-(I*15+15,300),I
50 NEXT I
Запускаем программу (нажать F2, когда курсор находится на пустой строке)
Задания для самостоятельной работы:
Написать программу, которая выводила бы на экране одно из изображений. Задание выбирайте под номером 1+n%9, где n- ваш номер в журнале
Изображение на экране состоит из точек с целыми координатами.
Экранная система координат:
Графические команды:
SCREEN 9 – перевести экран в графический режим
CLS – очистить экране
PSET(X,Y) – нарисовать точку в координатах (Х,У)
Пример использования:
PSET(100,200) – нарисовать точку в координатах (100,200)
PSET(X,Y),C нарисовать точку цвета С в координатах (Х,У)
Пример использования:
PSET(100,200),2 – нарисовать зелёную точку в координатах (100,200)
Список цветов:
0 – чёрный
1 – синий
2 – зелёный
3 – сине-зелёный
4 – красный
5 – малиновый
6 – оранжевый
7 – светло-серый
8 – тёмно-серый
9 – сиреневый
10 – травяной
11 – голубой
12 – ярко-красный
13 – ярко-малиновый
14 – жёлтый
15 – белый
LINE(X1,Y1)-(X2,Y2) – провести линию из точки с координатами (Х1,У1) в точку с координатами (Х2,У2)
Пример использования:
LINE(100,200)-(250,300) - провести линию из точки с координатами (100,200) в точку с координатами (250,300)
LINE(X1,Y1)-(X2,Y2),C– провести линию цвета С из точки с координатами (Х1,У1) в точку с координатами (Х2,У2)
LINE(100,200)-(250,300),14 - провести жёлтую линию из точки с координатами (100,200) в точку с координатами (250,300)
LINE(X1,Y1)-(X2,Y2),C,B – нарисовать прямоугольник цвета С, диагональю которого будет линия (X1,Y1)-(X2,Y2)
Пример использования:
LINE(100,200)-(250,300),8,В – нарисовать тёмно-серый прямоугольник, диагональю которого будет линия (100,200)-(250,300)
LINE(X1,Y1)-(X2,Y2),C,BF – нарисовать и закрасить цветом С прямоугольник, диагональю которого будет линия (X1,Y1)-(X2,Y2)
Пример использования:
LINE(100,200)-(250,300),10,ВF – нарисовать и закрасить светло-зелёный прямоугольник, диагональю которого будет линия (100,200)-(250,300)
CIRCLE(X,Y),R – нарисовать окружность с центром в точке (Х1,У1) и радиусом R.
Пример использования:
CIRCLE(100,200),50 – нарисовать окружность с центром в точке (100,200) и радиусом 50.
CIRCLE(X,Y),R,C - нарисовать окружность цвета С с центром в точке (Х1,У1) и радиусом R.
CIRCLE(X,Y),R,C,A1,A2 – Нарисовать дугу от угла А1 до угла А2 окружности цвета С с центром в точке (Х1,У1) и радиусом R
Пример использования:
CIRCLE(100,200),50,4,0,1.507
CIRCLE(X,Y),R,C,A1,A2,D Нарисовать дугу эллипса со степенью сжатия D от угла А1 до угла А2 цвета С с центром в точке (Х1,У1) и радиусом большой полуоси R
Пример использования:
CIRCLE(100,200),50,4,0,3.14,10
Задание для работы у доски №1: Написать программу, которая нарисует на экране смайлик
1. Составим чертёж выводимого на экран изображения:
Рисунок будет состоять из трёх окружностей и одной полуокружности.
2. Определим координаты их центров и радиусы:
3. Пишем программу:
Переводим экран в графический режим:
10 SCREEN 9
Очищаем экран
20 CLS
Рисуем контур лица
30 CIRCLE (200,150),80
Рисуем левый глаз
40 CIRCLE (180,120),5
Рисуем правый глаз
50 CIRCLE(220,120),5
Рисуем улыбку
60 CIRCLE(200,150),60,15,3.5,5.9
4. Запускаем программу (нажать F2, когда курсор находится на пустой строке)
Задание для работы у доски №2: Написать программу, которая нарисует на экране ёлку
1. Составим чертёж выводимого на экран изображения:
2. Определим координаты точек, по которым будем строить линии.
3. Пишем программу:
Переводим экран в графический режим:
10 SCREEN 9
Очищаем экран
20 CLS
Рисуем верхний треугольник
30 LINE(260,70)-(310,120),2
40 LINE(310,120)-(210,120) ,2
50 LINE(210,120)-(260,70) ,2
Средний треугольник
60 LINE(260,120)-(330,190) ,2
70 LINE(330,190)-(190,190) ,2
80 LINE(190,190)-(260,120) ,2
Нижний треугольник
90 LINE(260,190)-(380,250) ,2
100 LINE(380,250)-(140,250) ,2
110 LINE(140,250)-(260,190) ,2
Прямоугольник ствола
120 LINE(250,250)-(270,300),8,B
4. Запускаем программу (нажать F2, когда курсор находится на пустой строке)
Задание для работы у доски №3: Написать программу, которая нарисует прямоугольники размером 15х300 всех возможных цветов.
Используем оператор цикла. Счётчик цикла I будет одновременно задавать цвет прямоугольника и его положение на экране
10 SCREEN 9
20 CLS
30 FOR I=0 TO 15
40 LINE(I*15,0)-(I*15+15,300),I
50 NEXT I
Запускаем программу (нажать F2, когда курсор находится на пустой строке)
Задания для самостоятельной работы:
Написать программу, которая выводила бы на экране одно из изображений. Задание выбирайте под номером 1+n%9, где n- ваш номер в журнале
вівторок, 18 лютого 2014 р.
Задания I тура олимпиады по информационным технологиям.
1. Вот мой профиль Вконтакте: http://vk.com/izvalov. Профиль открыт для всех. Почему его невозможно найти через вконтактовский поиск по имени и фамилии?
2. Есть 5 гирек, все разного веса. Есть чашечные весы (которые позволяют сравнивать вес двух гирек. Как за 7 взвешиваний упорядочить гирьки по весу (т.е. найти, какая самая тяжёлая, какая следующая по весу и т.д.)?
3. Есть 16 двоичных 4-значных чисел: 0000, 0001, 0010, 0011, 0100, 0101, 0110, ...., 1110, 1111. Нужно их расставить так, чтобы соседние отличались ровно в одном знаке (например, ставить рядом пару 0001, 0010 - не по правилам, т.к. они отличаются в двух знаках).
4. Есть вордовский документ с текстом. Найдите, сколько в нём букв "а".
5. Есть 2 переменные, Х и У. С помощью каких операций можно добиться того, чтобы значение из переменной Х оказалось в У, а значение их У - в Х?
Идеи по решению напишите на листочке и принесите на кафедру информационных технологий (2й корпус, 21й кабинет) до 26 февраля.
2. Есть 5 гирек, все разного веса. Есть чашечные весы (которые позволяют сравнивать вес двух гирек. Как за 7 взвешиваний упорядочить гирьки по весу (т.е. найти, какая самая тяжёлая, какая следующая по весу и т.д.)?
3. Есть 16 двоичных 4-значных чисел: 0000, 0001, 0010, 0011, 0100, 0101, 0110, ...., 1110, 1111. Нужно их расставить так, чтобы соседние отличались ровно в одном знаке (например, ставить рядом пару 0001, 0010 - не по правилам, т.к. они отличаются в двух знаках).
4. Есть вордовский документ с текстом. Найдите, сколько в нём букв "а".
5. Есть 2 переменные, Х и У. С помощью каких операций можно добиться того, чтобы значение из переменной Х оказалось в У, а значение их У - в Х?
Идеи по решению напишите на листочке и принесите на кафедру информационных технологий (2й корпус, 21й кабинет) до 26 февраля.
пʼятниця, 1 березня 2013 р.
Задания олимпиады по информатике
- Смоделировать бросок двух 6-гранных кубиков (вывести на экран 1 случайных числа от 1 до 6 каждое).
- Вывести на экран все возможные перестановки из 5 чисел (от 12345 до 54321).
- Человек вводит 10 чисел (после каждого числа нажимает Enter). Нужно сразу же после того, как она закончил ввод, вывести наибольшее число среди них.
- Правила игры: на столе лежат N спичек. Играют двое – каждый может своим ходом взять из кучки от 1 до K штук (числа N и K вводятся при начале работы программы). Выигрывает тот, кто забирает последнюю спичку. Компьютер ходит первым. Придумайте выигрышную стратегию и запрограммируйте её.
- Почему мой профиль Вконтакте (http://vk.com/izvalov) невозможно найти через вконтактовский поиск по имени и фамилии?
- Как перевести RGB-цвет (67, 247, 82) в HSV представление?
- В Excel поместите в ячейку A1 число 0,1, под ней (в ячейку A2) напишите формулу =1001*A1-100. Размножьте эту формулу примерно на 20 ячеек столбца A. Объясните полученный эффект.
- С помощью каких команд в обычном Paint можно фигуру повернуть на 45 градусов?
Решения присылайте через ЛС или на почту aviglau@gmail.com
середа, 27 лютого 2013 р.
Циклы в Pascal
Часто в программе требуется сделать много однотипных действий. Если число повторений известно заранее, для этого используется цикл со следующей структурой:
for {переменная} := {начальное значение переменной} to {конечное значение переменной} do
begin
{действия, которые нужно выполнить}
end;
Задание 1.
Написать программу, которая выведет на экран все числа от 1 до 100
Задание 2.
Написать программу, которая выведет на экран квадраты чисел от 1 до 100
Задание 3.
Написать программу, которая выведет на экран квадраты только нечётных чисел от 1 до 100
Задание 4.
Написать программу, которая попросит у человека ввести число, а затем найдёт сумму всех чисел от 1 до введённого числа
Задание 5.
Написать программу, которая выведет следующие 100 строк:
1 год
2 года
3 года
4 года
5 лет
6 лет
и т.д.
for {переменная} := {начальное значение переменной} to {конечное значение переменной} do
begin
{действия, которые нужно выполнить}
end;
Задание 1.
Написать программу, которая выведет на экран все числа от 1 до 100
Задание 2.
Написать программу, которая выведет на экран квадраты чисел от 1 до 100
Задание 3.
Написать программу, которая выведет на экран квадраты только нечётных чисел от 1 до 100
Задание 4.
Написать программу, которая попросит у человека ввести число, а затем найдёт сумму всех чисел от 1 до введённого числа
Задание 5.
Написать программу, которая выведет следующие 100 строк:
1 год
2 года
3 года
4 года
5 лет
6 лет
и т.д.
середа, 23 березня 2011 р.
5 Головоломок
Моя новая флеш-игра вышла в большой интернет!
На этот раз я выпустил сборник из пяти логических задач. Сейчас она участвует в конкурсах на двух крупнейших порталах: Kongregate и Newgrounds. Очень нужна ваша поддержка в голосовании! Оно происходит по ссылкам:
5 Головоломок на Kongregate
5 Головоломок на Newgrounds
И ещё одно: В 70й и 87 ротах Сергей Тихонович согласен учитывать успешность решения задач в игре в общем рейтинге, наряду с баллами за практические и лабораторные занятия. Так что не забывайте отправлять свои результаты после прохождения уровней. :)
На этот раз я выпустил сборник из пяти логических задач. Сейчас она участвует в конкурсах на двух крупнейших порталах: Kongregate и Newgrounds. Очень нужна ваша поддержка в голосовании! Оно происходит по ссылкам:
5 Головоломок на Kongregate
5 Головоломок на Newgrounds
И ещё одно: В 70й и 87 ротах Сергей Тихонович согласен учитывать успешность решения задач в игре в общем рейтинге, наряду с баллами за практические и лабораторные занятия. Так что не забывайте отправлять свои результаты после прохождения уровней. :)
вівторок, 23 листопада 2010 р.
Флеш игра Lake Escape
Нужно оказаться на берегу раньше монстра.
Управление - просто двигайте курсор для указания направления.
Всего в игре 5 уровней.
Управление - просто двигайте курсор для указания направления.
Всего в игре 5 уровней.
вівторок, 19 жовтня 2010 р.
Изучение Делфи
Опять оргстроевой отдел вносит свои коррективы в расписание наших занятий. Собственно, теоретически существует возможность отпросить участников лаборатории с построений, НО! Для этого нужно, чтобы у них уже были какие-то результаты работы. А чтобы получить результаты, нужно посещать занятия. Замкнутый круг...
Но выход есть! Дома откройте Делфи и начните какой-нибудь проект. Что непонятно - спрашивайте здесь, по почте или через соцсеть.
Не откладывайте на потом, начните прямо сейчас!
Но выход есть! Дома откройте Делфи и начните какой-нибудь проект. Что непонятно - спрашивайте здесь, по почте или через соцсеть.
Не откладывайте на потом, начните прямо сейчас!
понеділок, 18 жовтня 2010 р.
Расписание работы лаборатории
Следующее занятие состоится во вторник, 19.10.2010 в 15-00, сбор у кабинета №4
середа, 13 жовтня 2010 р.
Расписание занятий лаборатории
Следующее занятие лаборатории будет в четверг, 13 октября в 15-00, сбор у 4го кабинета.
В связи с построением занятие переносится. Сообщите в комментариях, по сколько у вас будет пар в течение следующей недели.
В связи с построением занятие переносится. Сообщите в комментариях, по сколько у вас будет пар в течение следующей недели.
понеділок, 11 жовтня 2010 р.
Дихотомия
Решение уравнений методом половинного деления
Требуется:
Требуется:
- разобраться, как работает метод половинного деления
- переписать алгоритм и программу в конспект
- ввести её в Бейсик
- выполнить самостоятельные задания и прислать мне на почту aviglau@gmail.com
неділя, 12 вересня 2010 р.
пʼятниця, 10 вересня 2010 р.
Спецкурс по информатике/программированию/моделированию/веб-дизайну
Товарищи курсанты!
Если вы хотите научиться программировать, создавать 3-мерные модели, конструировать сайты, а, тем более, если у вас уже есть навыки в этих областях, приглашаю в понедельник, 13 сентября, в 15-00 подойти в каб. № 4 (корпус, ближний к столовой).
субота, 14 серпня 2010 р.
Моя игра участвует в конкурсе, нужна ваша поддержка!
Всем привет! Как отдыхается? Я как-то рассказывал, что работаю над компьютерной игрой. Она уже доведена до бета-версии и попала на конкурс игр от индивидуальных разработчиков. Сейчас идёт голосование за приз зрительских симпатий, и ваша поддержка мне очень нужна.
Итак, вот сама игра: это пошаговая стратегия CardWars.
Смысл игры
Карта разбита на провинции. Гарнизон каждой провинции состоит из 1-7 игральных карт. Атакуйте противников, выигрывайте сражения и захватите мир!
Управление
А теперь - как вы можете её поддержать в конкурсе:
Если захотите поддержать мою игру в голосовании, зайдите на сайт indiepubgames.com, на котором проходит конкурс, зарегистрируйтесь там, и затем зайдите на страницу голосования: http://www.indiepubgames.com/vote.php
В левом раскрывающемся списке нужно выбрать название моей игры, CardWars, в правом - любое, затем ввести в текстовое поле проверочное слово с картинки и нажать кнопку Submit Vote.
Жду ваших отзывов :) Вместе мы прорвёмся! А осенью я расскажу, как писать компьютерные игры :)
Итак, вот сама игра: это пошаговая стратегия CardWars.
Смысл игры
Карта разбита на провинции. Гарнизон каждой провинции состоит из 1-7 игральных карт. Атакуйте противников, выигрывайте сражения и захватите мир!
Управление
Левый клик по провинции - выбрать провинцию.
Правый клик по смежной провинции - атаковать её или перевести туда гарнизон.
Левый клик по выбранной провинции - открыть окно сортировки карт (сортировка возможна только в прифронтовых провинциях).
Правый клик по выбранной провинции - отменить выбор.
Кнопка с вашей мастью в верхнем левом углу экрана - конец хода.
Щелчок колёсиком - выключить/включить отображение гарнизонов на карте.
Правый клик по смежной провинции - атаковать её или перевести туда гарнизон.
Левый клик по выбранной провинции - открыть окно сортировки карт (сортировка возможна только в прифронтовых провинциях).
Правый клик по выбранной провинции - отменить выбор.
Кнопка с вашей мастью в верхнем левом углу экрана - конец хода.
Щелчок колёсиком - выключить/включить отображение гарнизонов на карте.
Число игроков: от 2 до 9.
Мультиплеер: возможен хотсит.
Мультиплеер: возможен хотсит.
Скачать игру(1.8Мб)
Если захотите поддержать мою игру в голосовании, зайдите на сайт indiepubgames.com, на котором проходит конкурс, зарегистрируйтесь там, и затем зайдите на страницу голосования: http://www.indiepubgames.com/vote.php
В левом раскрывающемся списке нужно выбрать название моей игры, CardWars, в правом - любое, затем ввести в текстовое поле проверочное слово с картинки и нажать кнопку Submit Vote.
Жду ваших отзывов :) Вместе мы прорвёмся! А осенью я расскажу, как писать компьютерные игры :)
пʼятниця, 26 лютого 2010 р.
Задачи олимпиады
Решения принимаются во вторник с 14-30 в каб. 203. Одновременно с приёмом решений будет проводиться соревнование по поиску в интернете.
1.Пять квадратов
Число 2010 представляется в виде суммы пяти последовательных квадратов:
2010=182+192+202+212+222
Наименьшее число, которое можно представить в виде суммы пяти последовательных натуральных квадратов – число 55:
55=12+22+32+42+52.
Составьте алгоритм, который по введённому числу определяет, представляется ли оно в виде суммы пяти последовательных натуральных квадратов или нет?
2.Увеличение числа
Если в натуральном числе, не делящемся на 10, перенести предпоследнюю цифру на первое место, оно увеличится в n>1 раз. Для каждого натурального n, для которого такое возможно, приведите пример искомого числа.
3.Простая дробь
Согласно справочнику Гугла, 1 фунт равен 0,45359237 килограмма. Найдите простую дробь с минимальными числителем и знаменателем, значение которой отличается от этой десятичной дроби менее чем на 2*10-5
4.Два станка
Имеется 2N деталей и 2 станка, на которых эти детали должны быть обработаны. Назовём станки А и В.
Имеются следующие условия:
Имеются следующие условия:
- Если на текущий момент на станках обработано поровну деталей, то следующая деталь должна быть обработана на станке А.
- В конце работы каждый из станков должен обработать по N деталей.
Сколькими способами можно провести обработку деталей на станках?
5.Сумма цифр
В какое наибольшее число раз может увеличиться сумма цифр трёхзначного числа при возведении его в квадрат?
Підписатися на:
Дописи (Atom)


