воскресенье, 8 ноября 2015 г.

Приветствую новый поток системных инженеров!

 Начинаем изучение языков программирования С/С++:

1. Для взаимодействия регистрируемся в Google. Инструкцию смотрите здесь.
Можно сразу освоить работу с Google-диском.

2. Устанавливаем компилятор С/С++. Если нет лицензионного, пользуемся свободной кроссплатформеной средой разработки Code::BlocksСкачать ее можно здесь.


3. Установили? Повторите решение задачи, разбиравшейся на занятии:

I. Создайте консольное приложение. 


Запустите проект:
o Запишите файл на диск (нажмите на значок дискеты)
o Откомпилируйте его -меню Построение/Построить решение (F7) Если есть ошибки –исправьте и откомпилируйте снова.
o Произведите компоновку -меню Построение/Построить Имя_проекта
o Запустите на выполнение -меню Отладка/Запуск без отладки


II. Внесите в программу изменения
а) Выведите заголовок таблицы "Tablica umnozenija"
б) Опишите еще одну переменную m. Сделайте ввод переменной m с клавиатуры с подсказкой "n(max)="
в) Сделайте так, чтобы переменная цикла изменялась от 1 до m.
г) Рассмотрите выводимую на экран таблицу при m=15. Убедитесь, что таблица стала неровной. Сделайте ее ровной.
д) Рассчитайте среднее значение произведения в таблице и выведите его под таблицей.



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

Вопросы на засыпку:

1. Кто такие эти весёлые бородатые дядьки?
2. Почему они появились в этом сообщении?
3. Какую награду они получили за свои труды? 

понедельник, 17 марта 2014 г.

Итоги сдачи задач по курсу "Языки программирования"


Прошу студентов, чьи достижения почему-то  учтены не полностью, прислать тексты сданных программ с комментариями (когда, какую задачу решали по данной теме) на почту tujpavlova@gmail.com или прийти в среду (19, 26 марта) с 17.00 до 19.00 в ауд. 1335 для выяснения обстоятельств или сдачи долгов.

Смотрите вопросы, замечания к присланным программам в комментариях к данному сообщению.

Если Вы не сдавали задачу на ассемблере, см. дальше

вторник, 25 февраля 2014 г.

MathLab: Построение контурного и градиентного графиков функции

Рассмотрим особенности построения контурного и градиентного   графиков функции


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



>> x = -1:0.1:1; y = -1:0.1:1;  
>> [xx,yy] = meshgrid(x,y);
>>zz=(1+cos(2.*yy))./sin(xx);
>>C=contour(zz);

вторник, 18 февраля 2014 г.

Теперь о MathLab

Один курс дополнительной подготовки завершился, начался следующий. Продолжаем использовать эту удобную площадку.

Итак,   

Использование пакета MathLab для математических вычислений



Особенности выполнения поэлементных операций при работе с вектор-строками

Для построения графика функции независимая переменная вычисляется как вектор-строка (например, х=0:0.1:1.5) Значения функции необходимо найти для каждого из элементов вектор-строки х, поэтому операции в выражении для функции должны выполняться поэлементно. На это указывает точка, выставляемая в выражении перед знаком операции. Такая особенность характерна для операций возведения в степень ^, деления / и умножения * , которые не относятся к поэлементным.

Пример
у = sin(x).^2./(l+cos(x))+exp(-x).*log(x)

Пример построения функции, содержащей деление и имеющей особенности в области определения:

в полярной системе координат
>> f=0:0.1:1.5;r=2*(1./cos(f)-cos(f)); polar(f,r)
>> hold on
>> f=1.59:0.1:4.5;r=2*(1./cos(f)-cos(f)); polar(f,r)



она же в декартовой системе координат
>> x=r.*cos(f); y=r.*sin(f);
>> figure; plot( x, y )


четверг, 23 января 2014 г.

Сдача "хвостов"

Дорогие студенты!  Я думаю, сдавая сессию, вы изрядно утомились. Поэтому смело переносим сдачу оставшихся долгов по курсу на начало следующего семестра (после 17 февраля).


четверг, 26 декабря 2013 г.

Зачет по учебному курсу

Уважаемые студенты!  Для получения зачета нужно:
  • Сдать индивидуальную задачу на циклы (С++)
  • Сдать индивидуальную задачу на массивы и строки (С++)
  • Сдать индивидуальную задачу на функции (С++)
  • Опубликовать на странице задачу на Java (см. условия на странице), которую до вас еще никто не публиковал (Java)
  • Сдать очно 2 простые задачи на ассемблере (ответив на вопросы по используемым командам) -см. задачи здесь. Обратите внимание, сейчас эти задачи общие, а после нового года станут индивидуальными.
Не разделите печальной судьбы Антошки:

понедельник, 23 декабря 2013 г.

Работа с компилятором MASM32

Желающим дальше продвигаться в изучении ассемблера нужно перейти к работе с компилятором MASM32 фирмы Microsoft, который можно скачать бесплатно

Необходимо помнить:
  • у программы на ассемблере есть жесткая структура: блок общих настроек, подключения библиотек, описания данных и т.д., см. примеры в папке masm32/bin/tutorial установленного на вашем компьютере ассемблера. Для начала копируйте эту структуру программы.
  • в ассемблере очень часто используются подпрограммы (нужно разобраться с оформлением, передачей данных)
  • в ассемблере безобразный ввод-вывод, с которым нужно также отдельно разбираться
  • чтобы отлаживать серьезные программы, нужно работать с отладчиком. Он сможет продемонстрировать покомандное выполнение программы, содержимое регистров. За простоту и интуитивную понятность хвалят отладчик ollydbg, который можно скачать бесплатно.

Некоторые пояснения работы с компилятором   MASM32 можно найти на рисунке: