Информатика и программирование (часть 1). Вариант 9
|
|
engineerklub | Дата: Воскресенье, 14.07.2024, 07:38 | Сообщение # 1 |
Генералиссимус
Группа: Администраторы
Сообщений: 28524
Статус: Offline
| Информатика и программирование (часть 1). Вариант 9
Тип работы: Работа Лабораторная Форматы файлов: Adobe Acrobat (PDF), Microsoft Word, C++
Описание: Тема: Представление данных в ЭВМ и основы алгоритмизации
Цель: изучение способов представления информации в памяти ЭВМ, освоение принципов цифрового кодирования информации в ЭВМ.
Задание: 1. В приложении А выбрать исходные данные (ИД) согласно номеру своего варианта. 2. Представить десятичное число 1а в двоичной и шестнадцатеричной системе счисления в формате байт1. 3. Представить десятичные числа 1а, 1б и -1в в двоичной и шестнадцатеричной системе счисления в формате слова и двойного слова2. 4. Зашифровать данный текст 2, используя таблицу ASCII-кодов. 5. Расшифровать данный текст 3, используя таблицу ASCII-кодов. 6. Составить программу на языке С реализующую указанные в пп. 2 – 5 преобразования и выводящую их на дисплей. Коды выводить в формате dec и hex3. 7. Отладить программу и получить результаты. 8. Добавить в программу код для вычисления значения функции z (см. функцию преобразования 1 в приложении Б), приняв за x число А, а за y число В. Подтвердить расчет ручным простчетом. 9. Составить блок-схему линейного алгоритма для программы4. 10. Сделать выводы.
Примечания: 1. В задании 2 в число "1а" разряд сотен заменить нечетным вариантам на ноль, четным вариантам – на единицу. 2. В задании 3 "-1в" означает целую часть числа 1в со знаком "минус". 3. При программировании задания 5 необходимо использовать несколько инструкций (по количеству кодов) 4. При составлении блок-схемы использовать символы 1, 2, 7 и 8 согласно рис. 1.7.
Вариант 9 1. а) 639(10); б) 485(10); в) 581 2. Микропроцессор. 3. 88 AD E4 AE E0 AC A0 E2 A8 AA A0.
Функция преобразования 1: z=27/(x+y*2)
Листинг программы Блок-схема Результаты выполнения программы Ручной просчет значения функции Выводы
СКАЧАТЬ
|
|
| |
engineerklub | Дата: Воскресенье, 14.07.2024, 07:39 | Сообщение # 2 |
Генералиссимус
Группа: Администраторы
Сообщений: 28524
Статус: Offline
| Тип работы: Работа Лабораторная Форматы файлов: Microsoft Word, C++ Сдано в учебном заведении: ДО СИБГУТИ
Описание: Тема: Разработка вычислительных программ с использованием стандартных функций и структурных операторов ветвления и цикла.
Цель: изучение средств языка C по программированию алгоритмов с ветвлением и циклами с использованием стандартных математических функций.
Задание: 1. В соответствии с номером варианта разработать программу на языке С++ для вычисления значения функции y (см. функция преобразования 2 в приложении Б). При вводе исходных данных с клавиатуры и выводе результата работы программы использовать десятичную систему счисления в вещественном формате. Для проверки значения аргумента функции использовать оператор if. Проверить адекватность работы программы на контрольном примере. 2. В соответствии с индивидуальным заданием из приложения В разработать программу на языке C++ для вычисления и вывода на экран минимального (ymin) и максимального (ymax) значения функции y=f(x) при x[x1, x2] с шагом x, и номеров интервалов, на которых достигаются эти значения. Величины a и b ввести с клавиатуры. Использовать оператор цикла заданного вида. Обеспечить вывод на экран в табличной форме для каждого шага вычислений следующие промежуточные результаты: • номер шага; • текущее значение аргумента х; • текущее значение функции y; • текущее значение минимума функции ymin; • номер интервала nmin, соответствующие значению ymin; • текущее значение минимума функции ymax; • номер интервала nmax, соответствующие значению ymax; 3. Выполнить ручной просчет для значения аргумента из третьего интервала и сравнить его с результатами выполнения программы.
Номер варианта: 9 Функция преобразования 2: y= {51*ln(x+7), при x>=0 {cos^(3)(x-1), при x<0
№ п/п: 9 Функция Y: y=x*(корень(a+bx))^(1/3) Интервал и шаг: xэ[-5;3], dx=0,5 Заданный оператор цикла: for
Листинг программы Результаты выполнения программы Ручной просчет Выводы
СКАЧАТЬ
|
|
| |
engineerklub | Дата: Воскресенье, 14.07.2024, 07:40 | Сообщение # 3 |
Генералиссимус
Группа: Администраторы
Сообщений: 28524
Статус: Offline
| Тип работы: Работа Лабораторная Форматы файлов: Microsoft Word, C++ Сдано в учебном заведении: ДО СИБГУТИ
Описание: Тема: Разработка вычислительных программ для обработки случайных и детерминированных числовых последовательностей. Использование подпрограмм.
Цель: закрепление практических навыков в работе с операторами цикла языка C++, формирование навыков работы с генератором случайных чисел, а также умений по обработке числовых последовательностей без применения массивов.
Задание 1. Из приложения Г выбрать свое индивидуальное задание и написать программу на языке С++, которая обрабатывает числовые последовательности и выводит результаты обработки на экран. Если в задании используется число M, то его ввод осуществлять с клавиатуры. Обработку выполнить без использования массивов!!! • Сгенерировать последовательность из N целых случайных чисел, которые находятся в заданном интервале. Для данной последовательности выполнить задание №1. Число N и границы интервала задать целочисленными константами. • Ввести с клавиатуры последовательность ненулевых чисел, 0 – конец последовательности. Для данной последовательности выполнить задание №2.
2. Из приложения Д выбрать индивидуальное задание и написать программу, которая вычисляет сумму ряда с точностью ε для всех значений аргумента, меняющегося в заданном интервале с заданным шагом. Также определить количество шагов n для достижения заданной точности ε. Запрограммировать вычисление точного значения функции Y для каждого x (z). Подсчитать ошибку вычислений по формуле: t=(IS-YI/Y)*100%. Результаты выполнения программы представить в следующем виде: Значение аргумента x(z) Сумма ряда S Точное значение Y Относительная ошибка в % t Количество шагов n
3. Решить задачу 1 с использованием подпрограммы так, чтобы: • ввод элементов последовательности с клавиатуры и вывод результатов их обработки осуществляются в функции main(); • обработка элементов последовательности осуществляются при помощи функции пользователя, необходимые элементы передаются в пользовательскую функцию в качестве параметров.
Результаты выполнения модифицированной программы должны совпадать с результатами выполнения исходной программы.
Исходные данные для лабораторной работы №3, часть 1 Вариант: 9 Число N: 23 Интервал: -50...-30 Задание 1: Определить два наибольших числа в последовательности Задание 2: Вычислить сумму простых чисел не превышающих M
Исходные данные для лабораторной работы №3, часть 2 № вар.: 9 Сумма ряда S: 1+2x/1! + ... + (2x)^(n)/n! Значения аргумента: - Интервал: Xн=0; Xк=1 - Шаг: 0.1 Точность E: 10^(-4) Функция Y (точное значение): e^(2x)
Листинг программы Результаты выполнения программы Ручной просчет Выводы
СКАЧАТЬ
|
|
| |
engineerklub | Дата: Воскресенье, 14.07.2024, 07:41 | Сообщение # 4 |
Генералиссимус
Группа: Администраторы
Сообщений: 28524
Статус: Offline
| Тип работы: Работа Контрольная Форматы файлов: Microsoft Word, C++ Сдано в учебном заведении: ДО СИБГУТИ
Описание: 1. Обработка одномерных массивов
Цель: изучение простейших алгоритмов организации и обработки одномерных массивов на языке С++.
Задание: 1. Самостоятельно изучить возможности языка программирования C++ для описания, инициализации и обработки одномерных массивов. 2. Создать консольное приложение, в котором реализовать следующие вычисления: • объявление заданного массива целых чисел фиксированной длины; • инициализацию элементов массива посредством ввода с клавиатуры; • заданный расчет и вывод его результата на консоль. • обменную (пузырьковую) сортировку элементов массива заданного направления (нечетные варианты – по возрастанию, четные – по убыванию), реализовать в виде пользовательской функции int Sort(int Ar[]), которая принимает в качестве аргумента исходный массив, а возвращает количество перестановок; • вывести на экран исходный и отсортированный массив, а также количество перестановок; вывод массивов реализовать в виде пользовательской функции void Output(int Ar[]). 3. Выполнить контрольную пошаговую обработку и сортировку массива из контрольного примера вручную.
Вариант индивидуального задания: № вар.: 9 Массив и длина: Y(6) Расчетный показатель: Среднее арифметическое элементов с четными номерами
Листинг программы Результаты выполнения программы Ручной просчет и анализ результатов Выводы
2. Работа с матрицами
Цель: освоение составления и тестирования алгоритмов и программ, реализующих основные операции по формированию и обработке двумерных числовых массивов – прямоугольных числовых матриц.
Задание: В соответствии с индивидуальным заданием заполнить матрицу размером 9х9 случайными целыми числами из заданного диапазона и выполнить заданное преобразование матрицы. Исходную и преобразованную матрицы вывести на экран.
Вариант индивидуального задания: № вар.: 9 Диапазон: [-40, 60] Преобразование матрицы: Из правой полуплоскости матрицы отрицательные элементы отразить зеркально в левую полуплоскость
Листинг программы Результаты выполнения программы Ручной просчет и анализ результатов Выводы
3. Сложная обработка массивов
Цель: изучение алгоритмов организации и сложной обработки массивов на языке С++.
Задание: 1. В соответствии с индивидуальным заданием (табл. 1.2) записать в матрицу размером 9х9 линейную последовательность натуральных чисел (1, 2, 3, ...). результатную матрицу вывести на экран. 2. Заполнить матрицу размером 9х9 случайными числами из диапазона 0…99 и выполнить заданное (табл. 1.2) преобразование матрицы. Исходную и преобразованную матрицы вывести на экран.
Вариант индивидуального задания: № вар.: 9 Задание на формирование матрицы Формирование: Заполнить матрицу от левого верхнего угла по спирали: вниз - вправо - вверх - влево. Иллюстрация Задание на преобразование матрицы: Преобразование: Заполнить матрицу случайными числами. Развернуть матрицу на 90 градусов против часовой стрелки. Иллюстрация
Листинги программ Результаты выполнения программ Выводы
СКАЧАТЬ
|
|
| |
engineerklub | Дата: Воскресенье, 14.07.2024, 07:41 | Сообщение # 5 |
Генералиссимус
Группа: Администраторы
Сообщений: 28524
Статус: Offline
| 4. Обработка динамических массивов.
Цель: изучение и освоение использования динамически создаваемых массивов, а также программирование обработки динамических массивов на языке С++.
Задание: 1. Изучить понятие динамической памяти и области её эффективного использования, а также возможности языка программирования С++ для управления динамическими переменными и создания динамических массивов. 2. Составить программу для ввода и обработки динамической матрицы целых чисел в соответствии с заданием 1 в табл. 2 посредством выделения памяти под одномерный массив целых чисел. 3. Составить программу для ввода и обработки динамической матрицы целых чисел в соответствии с заданием 2 в табл. 2 при помощи массива указателей. Размер матрицы вводить с клавиатуры. Элементы матрицы инициализировать случайными числами в произвольно выбранном диапазоне. 4. При выполнении заданий 1 и 2 из таблицы предусмотреть освобождение памяти после завершения обработки матрицы.
Вариант индивидуального задания: № вар.: 9 Задание 1: В двумерном массиве Y. Определить и вывести на экран разность между максимальным Yмакс и минимальным Yмин элементами массива. Размерность массива задавать с клавиатуры, элементы массива заполнять с использованием генератора случайных чисел в диапазоне, задаваемом пользователем. Задание 2: Все элементы четных строк матрицы уменьшить на ее среднее арифметическое значение, а нечетных – увеличить.
Описание алгоритма обработки данных, в том числе блок-схема алгоритма Подпрограммы решения задач Результаты тестирования программ Листинги программ
СКАЧАТЬ
|
|
| |