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

Разобрать программу запишите подряд без пробелов и разделителей вес числа, которые будут напечатаны при выполнении вызова f9 procedure f(n: integer); begin if n> 0 then begin write (n); f(n-2); f(n div 4); end end;

👇
Ответ:
Procedure F(n: integer);
begin
  if n>0 then begin
    Write (n);
    F(n-2);
    F(n div 4);
    end
end;

begin
  F(9);
end.

На выходе будет 97531112

Если нужна трассировка, её можно сделать примерно так:

procedure F(n: integer);
begin
  Writeln('Вход');
  if n>0 then begin
    Writeln ('В выходную строку: ',n);
    Writeln('Вызов F(n-2)');
    F(n-2);
    Writeln('Вызов F(n div 4)');
    F(n div 4);
    end;
    Writeln('Выход')
end;

begin
  F(9);
end.

Результат трассировки:
Вход
В выходную строку: 9
Вызов F(n-2)
Вход
В выходную строку: 7
Вызов F(n-2)
Вход
В выходную строку: 5
Вызов F(n-2)
Вход
В выходную строку: 3
Вызов F(n-2)
Вход
В выходную строку: 1
Вызов F(n-2)
Вход
Выход
Вызов F(n div 4)
Вход
Выход
Выход
Вызов F(n div 4)
Вход
Выход
Выход
Вызов F(n div 4)
Вход
В выходную строку: 1
Вызов F(n-2)
Вход
Выход
Вызов F(n div 4)
Вход
Выход
Выход
Выход
Вызов F(n div 4)
Вход
В выходную строку: 1
Вызов F(n-2)
Вход
Выход
Вызов F(n div 4)
Вход
Выход
Выход
Выход
Вызов F(n div 4)
Вход
В выходную строку: 2
Вызов F(n-2)
Вход
Выход
Вызов F(n div 4)
Вход
Выход
Выход
Выход
4,8(38 оценок)
Открыть все ответы
Ответ:
Monimix
Monimix
24.02.2020
В общем случае, трассировка - один из отладки программ врукопашную: состояние программы контролируется на определённом отрезке времени её выполнения путём анализа значений переменных. трассировка в том или ином виде при отладке программ сложнее школьного дз практически неизбежна.
в простейшем случае, трассировка - вывод значений переменных на экран (например, в окно консоли) , либо расчёт их на бумажке для каждого шага.
в более продвинутом варианте используются точки останова, окно наблюдения, выполнение по шагам и, если есть, контекстный интерпретатор выражений.
есть также специальная "трассирующая консоль" - интерфейс вывода информации из программы в отладчик, если таковой присутствует.
почти любой современный отладчик показывает состояние програмm при её останове, что делает трассировку процессом легко доступным
4,5(89 оценок)
Ответ:
Xooocc
Xooocc
24.02.2020

Есептеу техникасының даму тарихы ерте кезден-ақ басталды: XVII ғасырдың 40-жылдарында Б.Паскаль – сандарды қоса алатын механикалық құрылғыны ойлап тапты; XVIII ғасырда В.Лейбниц сандарды қоса және көбейте алатын құрылғы жасап шығарды; XIX ғасырда Ч.Бэббидж механикалық машинаны программа арқылы басқару жүйесімен біріктірді; XX ғасырдың 30-шы жылдарының соңында Америкада қосу, азайту элементтері, электрондық жад, механикалық компонент енгізілген ЭЕМ құрастырылып шықты. Алғашқы ЭЕМ-ді құру және оның жұмыс істеуінің теориялық негіздерін 1946-1947 жылдары атақты математик, кибернетик Джон фон Нейман дайындап шықты. Мұнда өңделетін ақпарат пен өңдеу программасын сандық түрде дайындау, деректер мен программаны машинаның жадында орналастыру тәсілдері қарастырылған.

ЭЕМ-ры мынадай буындардан тұрады:

1)бірінші буын – ЭЕМ-нің ішкі құрылымы элементтері жеке бөлшектерден дайындалған электрондық-логикалық схемаларға негізделген болатын. Бұл бөлшектердің негізгілері – ваккумдық электрондық шамдар. Мұндай компьютерлердің көлемі үлкен, сенімділігі жоғары емес, тездік жылдамдықтары 1 секундта 5-6 мың қарапайым операция шамасынан аспайтын: екі санды қосу, көбейту, символдарды салыстыру сияқты қарапайым операциялар, ал оны орындайтын команда машиналық команда деп аталды. Машиналық команданы орындататын программалау жұмысы көп еңбекті қажет етті;

2)екінші буын – транзисторды ойлап шығаруға байланысты, негізгі элементтері жартылай өткізгішті транзисторлардан тұратын ЭЕМ-ры жарыққа шықты. Бұл машиналардың сыртқы аумағы, массасы, энергияны пайдалану шамасы көп төмендеді. Бұл ЭЕМ-да Алгол, Фортран, Бейсик және т.б. программалау тілдеріндегі программалармен жұмыс істеу мүмкіндігі туды. Тиімді программа құру технологиясына жету арқылы жұмсалатын адам еңбегін үнемдеудің екінші кезеңі басталды;

3)үшінші буын – элементтік негізі жартылай өткізгішті интегралдық схема (ИС) болатын ЭЕМ-ры жасалына бастады. Интегралдық схема (ИС) – мүмкіндігі күрделі транзисторлық схемадай болатын, аумағы 1 шаршы см-ге жетпейтін функционалдық блок. Ол жартылай өткізгішті кристалдан (негізінен кремнийден) тұрады да, элементтері он мыңдаған-миллиондаған транзисторлардан, диодтар, конденсаторлар, резисторлар арнайы тақшада тұтас құрастырылады. Тақша – түрлі электрондық схемаларды орналастыруға мүмкіндік беретін арнайы материалдан құрылған көп қабатты пластинка. Интегралдық схеманы пайдалану ЭЕМ-ның сыртқы аумағын шұғыл кішірейтуге және оның жұмыс өнімділігін көп мыңдаған есе жоғарылатуға себеп болды;

4)төртінші буын – элементтік негізі үлкен интегралдық схема (ҮИС) және аса үлкен интегралдық схема (АҮИС) болатын ЭЕМ-ры жасалына бастады. Бұл ЭЕМ-ры білімді нәтижелі түрде өңдей алатын, параллель жұмыс істейтін ондаған микропроцессорлар жиынтығынан дайындалып шықты. Машина жұмысын басқарушы және арифметикалық-логикалық ақпаратты өңдеуге арналған компьютердің негізгі құрылғыларын бірге қосып процессор деп, ал бір немесе бірнеше АҮИС-дан тұратын дербес компьютер (ДК) процессорын микропроцессор деп атайды.

ЭЕМ-ры қолданылуына қарай мынадай топтарға бөлінеді: үлкен ЭЕМ (электрондық есептеу машинасы), мини-ЭЕМ, микро-ЭЕМ және дербес компьютерлер.

5)1990 жылдардан бастап объектілі-бағдарлы программалау тілдері сияқты электрондық құралдары жаңа типті етіліп күрделі дамытылған бесінші буын ЭЕМ-ры дайындалып шықты.

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