рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

ЛАБОРАТОРНАЯ РАБОТА № 3

ЛАБОРАТОРНАЯ РАБОТА № 3 - раздел Программирование, Программирование алгоритмов сортировки массивов Целочисленная Арифметика   1. Введение В Постановку За...

Целочисленная арифметика

 

1. Введение в постановку задачи

1.1. Позиционные системы счисления

При записи числа в позиционной системе счисления вклад каждой цифры в числовую величину определяется самой цифрой и весом позиции, которую она занимает. Для системы счисления с основанием p вес позиции с номером i (i=0÷n-1, n – количество цифр в числе) определяется как pi.

Чтобы перевести число an-1…a0 из системы счисления с основанием p в систему счисления с основанием q, можно воспользоваться любым из двух алгоритмов: алгоритмом «умножения», вычисляющим многочлен an-1 p n-1+a1 p+…+a0, или алгоритмом «деления», вычисляющим последовательные остатки от деления на q исходного числа и целых частей частного от деления на q. Следующий пример является иллюстрацией к алгоритмам «деления» и «умножения» при «переводе» числа из десятичной в десятичную систему счисления.

N=85462=10*8546+2

8546=10*854+6

854=10*85+4

85=10*8+5

8=10*0+8

Полученные остатки и являются последовательными цифрами числа, записанного в позиционной системе.

N=85462=10*8546+2=10(10*854+6)+2=10(10(10*85+4)+6)+2=10(10(10(10*8+5)+4)+6)+2.

После преобразований получим:

N=85462=8*104+5*103+4*102+6*101+2*100.

Выбор одного из двух алгоритмов определяется тем, в какой системе счисления будут выполняться вычисления. В алгоритме «умножения» действия выполняются в системе счисления с основанием q, в алгоритме «деления» – в системе счисления с основанием p.

Принцип представления числа в любой позиционной системе счисления остается общим, при этом цифры-знаки в системе с основанием p – это арабские цифры от 0 до p-1 и, при необходимости, – буквы латинского алфавита.

 

1.2. Рекомендации по организации работы со строками

 

Строка в С-программе может быть представлена одномерным массивом символов (например: char string1[100]) или указателем на данные символьного типа (например: char *string2). Во втором случае компилятор отводит память только для размещения переменной-указателя, но не для размещения собственно символьных данных, которые в этом варианте организации строки должны быть размещены в динамической памяти. Для выделения динамической памяти можно воспользоваться, например, оператором new (string2= new char[100]) или malloc (string2=(char *)malloc(100)). В любом случае, для обращения к одному символу строки, имеющему тип char, используется оператор [] (например: string1[10] или string2[i+1]). Для работы со строками имеется набор функций (заголовочный файл – string.h), из которых при выполнении данной лабораторной работы могут понадобиться:

char * strcpy(char *s1, char *s2) – копирование строки s2 в строку s1;

char * strcat(char *s1, char *s2) – сцепление (конкатенация) двух строк;

int strlen(char *s) – определение длины строки.

В лабораторной работе необходимо выполнить перевод числа из одной системы счисления (начальной) в другую (конечную) согласно варианту, используя в качестве промежуточной системы счисления внутреннее представление числа в памяти компьютера (двоичная система). На вход подается цепочка символов (строка), содержащая только цифры начальной системы счисления, на выходе формируются два результата: число в промежуточной системе в формате long и число в конечной системе счисления также в виде цепочки символов. Перевод из внутреннего представления в конечную систему осуществляется путем деления на основание конечной системы счисления. Все циклические операции должны быть организованы рационально. Содержательные части программы оформляются функциями (см. ОБЩИЕ ТРЕБОВАНИЯ...). Необходимо предусмотреть контроль ошибок ввода, когда цифры в строке ввода не являются цифрами-знаками начальной системы счисления.

 

2. Задание на лабораторную работу

 

Написать программу, выполняющую перевод числа из заданной системы счисления в двоичную и из двоичной - в другую заданную систему счисления. Исходное число считать заданным в виде строки символов, изображающей цифры данной системы счисления. Двоичное число представить в формате long , а второй выходной параметр - в формате строки символов. Системы счисления выбрать в соответствии с вариантом задания.

 

N варианта
Система счисления для исходного числа
Система счисления для выходного числа

 

 

– Конец работы –

Эта тема принадлежит разделу:

Программирование алгоритмов сортировки массивов

Государственное образовательное учреждение... Высшего профессионального образования... Санкт Петербургский государственный университет...

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: ЛАБОРАТОРНАЯ РАБОТА № 3

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Санкт-Петербург
Составители: Т.М.Максимова   Рецензент: В.П.Попов     В методические указания включены краткие теоретические сведения, необходимые д

ОБЩИЕ ТРЕБОВАНИЯ К СОДЕРЖАНИЮ ОТЧЕТОВ
  В методические указания включены задания на 8 лабораторных работ, содержанием которых является разработка программы на языке С. Процесс разработки программы студент должен отразить

Текст программы
  void sort(int *a, char n) //функция сортировки n первых элементов (n<=100) массива a { bool f=true; //признак выполнения операции обмена char

ЛАБОРАТОРНАЯ РАБОТА N 1
Встроенные типы данных   1. Основные типы данных Язык С поддерживает несколько базовых типов данных, которые также называют простыми. Перечислим некоторые из них.

ЛАБОРАТОРНАЯ РАБОТА N 2
Программирование операций ввода-вывода   1.Некоторые библиотечные функции для работы с файлами   Функции файлового ввода-вывода используют указатель фа

ЛАБОРАТОРНАЯ РАБОТА № 4
Вещественная арифметика   1. Генератор псевдослучайных чисел   Для многих задач программирования, связанных с математическими моделями случайных явлени

ЛАБОРАТОРНАЯ РАБОТА № 5
Операции над многословными операндами   1. Многословные операнды   Арифметические выражения в языке C представляют собой формулы для вычисления значени

ЛАБОРАТОРНАЯ РАБОТА N 6
Работа со структурами   1 Понятие табличной структуры данных   Таблицей называется структура данных, элементы которой представляют собой записи, состоя

ЛАБОРАТОРНАЯ РАБОТА N 7
Операции над списковыми структурами   1.Принципы реализации динамических структур данных   Линейный список является примером динамической структуры дан

ЛАБОРАТОРНАЯ РАБОТА N 8
Шаблоны функций   1.Перегрузка и шаблоны функций   В одной программе может быть размещено несколько функций с одним и тем же именем, если списки формал

БИБЛИОГРАФИЧЕСКИЙ СПИСОК
  1. Вирт Н. Алгоритмы и структуры данных. - М.: Мир,1989. - 360с. 2. Карпов Б., Баранова Т. С++: Специальный справочник. – СПб.: Питер, 2001. – 480с. 3. Кнут Д. Иск

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги