Александр Коновалов
Программист, преподаватель программирования, интересуюсь формальными и естественными языками.
Эксперт в теме  Программирование
Рейтинг за ответы и посты  20
Лента — это вопросы, ответы, репосты пользователей в хронологическом порядке. Если пока вы видите в ней не все публикации, не пугайтесь: скоро мы их аккуратно добавим.

Можно ли утверждать, что компьютер — это просто продвинутый калькулятор, и что он произошёл от абака?

спрашивает
Алан Мутаев

Александр Коновалов
Программирование
20
Программист, преподаватель программирования, интересуюсь формальными и естествен...  · 31 января
Компьютер — программно-управляемое устройство для обработки информации. Калькулятор — устройство для выполнения арифметических расчётов. Абак — устройства для облегчения выполнения арифметических расчётов. Русские счёты — разновидность абака. Счёты (абак) — это удобное запоминающее... Читать далее
Комментировать ответ...Комментировать...

Возможно ли на Java написать процедурную программу? Там ведь одни классы, значит, можно только ООП писать?


Александр Коновалов
Программирование
20
Программист, преподаватель программирования, интересуюсь формальными и естествен...  · 31 января

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

Комментировать ответ...Комментировать...
< 100

Вопрос ПРОГРАММИСТАМ? Проверьте, пожалуйста, правильно ли я написал программу

"напишите программу. Даны три действительных числа. Возвести в квадрат те из них, значения которых не отрицательны, и в четвертую степень - отрицательные." Program _629; Var a, b, c: real; Begin... Развернуть
Александр Коновалов
Программирование
20
Программист, преподаватель программирования, интересуюсь формальными и естествен...  · 31 января

Да, программа написана верно. Однако, первые три строки с if нельзя менять местами с последними тремя — программа тогда станет работать неправильно.

Вообще, лучше было бы написать так:

if a > 0 then a := a*a else a := a*a*a*a;

и аналогично для двух других переменных

2 эксперта подтверждают
Комментировать ответ...Комментировать...

В чём разница между интерпретатором и виртуальной машиной? У Java, как и у Python, есть виртуальная машина и интерпретатор - как это понять?


Александр Коновалов
Программирование
20
Программист, преподаватель программирования, интересуюсь формальными и естествен...  · 28 января
Виртуальная машина — разновидность интерпретатора, который выполняет программы на языке, похожем на машинный код. Интерпретация кода виртуальной машины, как правило, быстрее, чем интерпретация высокоуровневого языка программирования. При этом, компиляция в код виртуальной машины проще... Читать далее
Комментировать ответ...Комментировать...

Почему в базовом Паскале не предусмотрена функция степени?

спрашивает
Оксана Киселева

Александр Коновалов
Программирование
20
Программист, преподаватель программирования, интересуюсь формальными и естествен...  · 26 января
Базовые операции в Паскале соответствуют машинным инструкциям, доступным на большинстве ЭВМ. Оператора возведения в степень нет поскольку в ЭВМ нет такой машинной инструкции. Но вот почему нет функции возведения в степень, я точно ответить не могу. Её нет ни в виртовском сообщении... Читать далее
Комментировать ответ...Комментировать...

Помогите решить задачку по информатике по C++

спрашивает
Lev_Ivanov

Ввести с клавиатуры два целых числа больших 100. Найти и вывести вторую (с начала, слева) цифру первого числа. Найти и вывести среднее арифметическое целых делителей второго числа.

Александр Коновалов
Программирование
20
Программист, преподаватель программирования, интересуюсь формальными и естествен...  · 24 января
А в чём конкретно требуется помощь? Какие именно этапы решения вызывают затруднение? Предложите, пожалуйста, свой вариант решения (даже неработающий) и мы вместе обсудим, что в нём не так, и как это можно исправить. Если Вам нужно готовое решение, поменяйте тему вопроса с «Помогите... Читать далее

Помогите! Круги Эйлера и таблица истинности.

спрашивает
Кирилл Югов.
Александр Коновалов
Программирование
20
Программист, преподаватель программирования, интересуюсь формальными и естествен...  · 19 января

Чем конкретно Вам помочь? Попробуйте для начала прочитать на Википедии определения этих понятий:

Комментировать ответ...Комментировать...

В какой степени программисты — лингвисты?

спрашивает
Иван Сергеев

Александр Коновалов
Программирование
20
Программист, преподаватель программирования, интересуюсь формальными и естествен...  · 17 января
Интересный вопрос, и я сам хотел бы знать на него интересный ответ. Неспециалисту кажется, что задача программиста — написать программу для компьютера. На самом деле есть другая сторона медали, где задача программиста — описать на языке программирования точно и без серьёзных ошибок... Читать далее
Комментировать ответ...Комментировать...

Почему у C++ такой относительно сложный синтаксис? Разве при создании языка нельзя было сделать его проще как, например, Python?


Александр Коновалов
Программирование
20
Программист, преподаватель программирования, интересуюсь формальными и естествен...  · 17 января
Кратко: разница в предназначении этих языков. Язык C++ возник как расширение языка Си. А Си — низкоуровневый язык, понятия языка Си близки к понятиям уровня железа (например, активно используемые указатели). Си такой (относительно) сложный из-за требований к эффективной реализации... Читать далее
Комментировать ответ...Комментировать...

Почему оператор условного перехода case в большинстве языков программирования может работать только с целочисленным типом?


Александр Коновалов
Программирование
20
Программист, преподаватель программирования, интересуюсь формальными и естествен...  · 17 января
Отчасти, из соображений быстродействия. Если константы, по которым осуществляется ветвление, небольшие, то можно завести массив адресов перехода, который будет индексирован значением переключателя и прыгать на нужный блок кода за небольшое количество инструкций. switch (k) { case 0: pr... Читать далее
Комментировать ответ...Комментировать...