Перейти к основному содержанию
EDU-MMCS
Вы используете гостевой доступ (Вход)

CS221. Архитектура компьютера и операционные системы

  1. В начало
  2. Курсы
  3. Осенний семестр
  4. Фундаментальная информатика и ИТ
  5. CS221 CA&OS
  6. Материалы лабораторных работ
  7. Лабораторная №4. Подпрограммы.

Лабораторная №4. Подпрограммы.

Требуемые условия завершения
Открыто с: среда, 24 сентября 2025, 08:00
Срок сдачи: пятница, 3 октября 2025, 11:25

Лабораторная № 4.  [3 балла]

Во всех заданиях следует в основной программе вызвать написанную функцию (или процедуру),  полученный результат (результаты) вывести на консоль и завершить основную программу соответствующим системным вызовом (аналогично тому, как было описано в Лаб3). Если не указано иначе, то все функции и процедуры следует писать, используя конвенции вызова  cdecl.

  1. [task-1.s] [1,5 балла] Создайте функцию MUL_5_ENDED, которая подсчитывает произведение элементов заданного массива, оканчивающихся на 5 (последнюю цифру числа можно найти с помощью взятия остатка от деления на 10). В качестве параметров функции передаётся адрес начала массива и его длина.  В основной программе вызвать функцию для массива {5, 21, 15, 20} и распечатать на консоль результат.

  2. [task-2.s] [1,5 балла] Тема - переменное число параметров. Создайте функцию PRINT_EVENS, которая выводит на консоль только четные  значения (в порядке их следования в стеке, начиная с вершины). В качестве параметров функции через стек передаются значения элементов массива и за ними количество элементов в массиве. В основной программе загрузите на стек массив {5, 10, 15, 20, 18} и его размер и вызовите написанную функцию. 

Дополнительное задание [1 балл]

[task-3.s] [Тема - передача адресов подпрограмм. Создайте функцию SUM_DIG, которая подсчитывает сумму цифр составляющих число. В качестве параметра функции передаётся обрабатываемое число.  Создайте процедуру MAP, которая получает в качестве параметров через стек длину массива, адреса двух массивов одинаковой длины и функцию, которую она применяет к каждому элементу первого массива. Результат применения функции записывается в соответствующий элемент второго массива. В основной программе вызовите процедуру  MAP   для исходного массива {90, 120, 411, 172}, массива для результатов  и функции SUM_DIG. Массив для результатов такого же размера следует объявить в секции неинициализированных данных. После вызова процедуры следует распечатать на консоль массив результатов.

◄ Лабораторная №3. Интерфейс системных вызовов. Простейшие подпрограммы.
Лабораторная №5. Работа с файлами ►
Пропустить Навигация
Навигация
  • В начало

    • Страницы сайта

      • Мои курсы

      • Теги

    • Мои курсы

    • Курсы

      • Осенний семестр

        • Прикладная математика и информатика

        • Фундаментальная информатика и ИТ

          • Probability Theory and Mathematical Statistics

          • Научные Вычислительные Пакеты

          • DataSc101

          • NLP (7 семестр)

          • Compiler Development

          • CMVSM

          • АЗПК

          • Frontend

          • ТеорЯП

          • Ruby Eng

          • EngCA&OS

          • CS221 CA&OS

            • Общая информация

            • Материалы лабораторных работ

              • СтраницаПодготовка №1. Установка ПО.

              • ЗаданиеЛабораторная №1. Введение. Арифметика. Циклы LOOP ...

              • СтраницаПодготовка №2. Массивы. Условные и безусловные пер...

              • ЗаданиеЛабораторная №2. Массивы. Условные и безусловные п...

              • ЗаданиеПодготовка №3. Интерфейс системных вызовов. Просте...

              • ЗаданиеЛабораторная №3. Интерфейс системных вызовов. Прос...

              • СтраницаПодготовка №4. Подпрограммы (продолжение)

              • ЗаданиеЛабораторная №4. Подпрограммы.

              • ЗаданиеПодготовка №5. Работа с файлами

              • ЗаданиеЛабораторная №5. Работа с файлами

              • СтраницаПодготовка №6. Микропрограммирование

              • ФайлIJVM Assembly Language Specification

              • ФайлСправочник ассемблерных инструкций Java-машины

              • ЗаданиеЛабораторная №6. Микропрограммирование

            • Дистрибутивы и справочная информация

            • Доборы

        • Математика, механика

        • Педагогическое образование

        • Магистратура

          • Разработка мобильных приложений и компьютерных игр

        • Аспирантура

        • Вечернее отделение

        • Другое

        • Информатика-Осень-ПМИ-2

        • Информатика-осень-ПМИ-1

        • ИММвс

        • ФИиТ eng 2025

      • Весенний семестр

        • Прикладная математика и информатика

        • Фундаментальная информатика и ИТ

        • Математика, механика

        • Педагогическое образование

        • Магистратура

          • Разработка мобильных приложений и компьютерных игр

        • Аспирантура

        • Вечернее отделение

        • Другое

      • Воскресная компьютерная школа

        • Пользователь компьютера плюс

        • Пользователь прикладных программ

        • Программирование I ступень

        • Программирование II ступень

        • Программирование III ступень

        • Архив

      • Воскресная математическая школа

        • Открытое тестирование РНОМЦ и мехмата ЮФУ - 2025

        • Олимпиадная математическая школа

        • Повышение квалификации

        • Доступная математика

        • Лаборатория математического онлайн-образования мех...

        • Осенняя универсиада

        • Научно-практическая конференция

        • ВМШ

          • ВМШ -2025

        • Летняя олимпиадная математическая школа РНОМЦ и ме...

      • Государственная итоговая аттестация

      • Дополнительное образование

      • Олимпиады

      • Видеолекции

      • Разное

      • Архив курсов

      • Заочная школа мехмата ЮФУ

Служба поддержки сайта
Вы используете гостевой доступ (Вход)
CS221 CA&OS
Сводка хранения данных
Скачать мобильное приложение Яндекс.Метрика