М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
kateadel01
kateadel01
19.09.2021 01:05 •  Информатика

Эволюция языков программирования: от программирования в машинных кодах к программированию с использованием низкоуровневого языка программирования ассемблер. Кратко ; писать "Войну и мир" не нужно. Сто ваши.

👇
Ответ:
Lollollo74374737
Lollollo74374737
19.09.2021

вот основное

Объяснение:

Середина 50-х гг. характеризуется стремительным прогрессом в области программирования. Роль программирования в машинных кодах стала уменьшаться, стали появляться языки программирования нового типа, выступающие в роли посредника между машинами и программистами. Наступило время второго и третьего поколений языков программирования.

С середины 50-х г. XX в. начали создавать первые языки программирования высокого уровня (high-level programming languages). Эти языки не были привязаны к определенному типу ЭВМ (машинонезависимы). Для каждого из них были разработаны собственные компиляторы. Компиляция — трансляция программы, составленной на исходном языке высокого уровня, в эквивалентную программу на низкоуровневом языке, близком машинному коду (абсолютный код, объектный модуль, иногда язык ассемблера).

Достоинства языков программирования высокого уровня:

Алфавит языка значительно шире машинного, что делает его гораздо более выразительным и существенно повышает наглядность и понятность текста;

Набор операций, допустимых для использования, не зависит от набора машинных операций, а выбирается из соображений удобства формулирования алгоритмов решения задач определенного класса;

Конструкции операторов задаются в удобном для человека виде;

Поддерживается широкий набор типов данных.

Недостатком языков высокого уровня является больший размер программ по сравнению с программами на языке низкого уровня. Поэтому в основном языки высокого уровня используются для разработок программного обеспечения компьютеров и устройств, которые имеют большой объем памяти. А разные подвиды ассемблера применяются для программирования других устройств, где критичным является размер программы.

Неизвестно, насколько бы ускорилось развитие программирования, если бы наработки Цузе стали доступны другим учёным в конце 40-х годов, но на практике с развитием компьютерной техники сначала получил распространение машинный язык. С его программист мог задавать команды, оперируя с ячейками памяти, полностью используя возможности машины. Суть этого языка — набор кодов, обязательно понятных процессору, к которому обращаются. Части («слова») этого языка называются инструкциями, каждая из которых представляет собой одно элементарное действие для центрального процессора, как, например, считывание информации из ячейки памяти. Лишь при понимании устройства компьютерного оборудования и знания этих целочисленных кодов можно было непосредственно управлять процессором. Тогда ещё компьютеры были простыми вычислительными машинами, применяемыми для различных математических расчётов. Но они развивались, а использование большинства компьютеров на уровне машинного языка затруднительно, особенно сложным было чтение и модификация подобных программ, что усугублялось использованием абсолютной адресации памяти[3]. Поэтому со временем от использования машинных кодов пришлось отказаться.

Например, для организации чтения блока данных с гибкого диска программист может использовать 16 различных команд, каждая из которых требует 13 параметров, таких как номер блока на диске, номер сектора на дорожке и т. п. Когда выполнение операции с диском завершается, контроллер возвращает 23 значения, отражающие наличие и типы ошибок, которые необходимо анализировать. Уже одно обращение к процессору громоздко, а анализ ошибок и вовсе представляется невообразимым, особенно, если не именно с этим процессором приходиться работать. Таким образом, набор команд машинного языка сильно зависит от типа процессора.

4,4(69 оценок)
Открыть все ответы
Ответ:
Collan
Collan
19.09.2021
Вся информация, которую обрабатывает компьютер должна быть представлена двоичным кодом с двух цифр 0 и 1. Эти два символа принято называть двоичными цифрами или битами. С двух цифр 0 и 1 можно закодировать любое сообщение. Это явилось причиной того, что в компьютере обязательно должно быть организованно два важных процесса: кодирование и декодирование.Кодирование – преобразование входной информации в форму, воспринимаемую компьютером, т.е. двоичный код.Декодирование – преобразование данных из двоичного кода в форму, понятную человеку.С точки зрения технической реализации использование двоичной системы счисления для кодирования информации оказалось намного более простым, чем применение других
4,5(21 оценок)
Ответ:
Света20177
Света20177
19.09.2021
1.

program raf105;

var a,b,c:integer;

begin

write('Введите 3 числа: ');

readln(a,b,c);

if (a<b) and (a<c)

 then writeln('Произведение 2 наибольших чисел: ',b*c);

if (b<a) and (b<c)

 then writeln('Произведение 2 наибольших чисел: ',a*c);

if (c<b) and (c<a)

 then writeln('Произведение 2 наибольших чисел: ',b*a);

end.

2.а)

program raf105;

var a,i,b:integer;

begin

write('Введите число: ');

readln(a);

for i:=1 to a do

 if ((a mod i)=0) and ((i mod 2)<>0)

   then b:= b+i;

writeln('Сумма нечётных делителей введённого числа: ',b);

end.

б)

program raf105;

var a,a2,i,j,b:integer;

begin

write('Введите меньшее число: ');

readln(a);

write('Введите большее число: ');

readln(a2);

for j:=a to a2 do

begin

 for i:=1 to j do

   if ((j mod i)=0) and ((i mod 2)<>0)

     then b:= b+i;

writeln('Сумма нечётных делителей числа ',j,' равна: ',b);

b:= 0;

end;

end.

Язык программирования PascalABC

4,8(87 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ