Алгоритмизация, программирование, типы данных
Понятия алгоритмизации, языка программирования, алфавита, семантики. Структура программы на языке С. Сложные типы данных, арифметика указателей. Функциональная схема программы. Динамические структуры данных. Иерархическая структура потоковых классов.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | шпаргалка |
Язык | русский |
Дата добавления | 22.11.2013 |
Размер файла | 49,6 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Содержание
- 1. Дайте понятие алгоритма, алгоритмизации
- 2. Дайте понятие языка программирования, алфавита, семантики
- 3. Опишите структуру программы на языке С
- 4. Дайте понятие типа данных
- 5. Перечислите сложные типы данных
- 7. Опишите арифметику указателей
- 8. Дайте понятие функционального программирования
- 9. Опишите функциональную схему программы
- 10. Опишите функцию с неопределенным числом параметров
- 11. Дайте понятие файла
- 12. Опишите следующие динамические структуры данных
- 13. Приведите иерархическую структуру потоковых классов
1. Дайте понятие алгоритма, алгоритмизации
Алгоритм - это четко заданная последовательность действий, необходимых для достижения поставленной цели, исходя из начальных данных.
Алгоритмизация - это процесс разработки алгоритма.
Программирование - это процесс записи алгоритма на языке машинных команд
Программа - это запись алгоритма, полученная в процессе программирования
Классификация языков программирования:
Классифицировать языки программирования можно по различным критериям: методы трансляции в машинный язык, область применения, основная парадигма.
По методам трансляции в машинный язык выделяют две основные группы языков программирования: интерпретируемые и компилируемые. При использовании интерпретируемого языка программирования трансляция программ на машинный язык осуществляется интерпретатором во время ее выполнения. А при использовании компиляции, компилятор языка переводит программу на машинный язык до ее выполнения, создавая при этом исполняемый модуль
По области применения языки программирования можно разделить на следующие группы:
языки численных расчетов и научных вычислений,
языки обработки деловой информации,
языки для искусственного интеллекта,
системные языки,
издательская деятельность,
языки управления процессами,
языки WEB-программирования.
По основной парадигме языки программирования делятся на четыре класса:
императивные языки,
аппликативные языки,
языки, основанные на системе правил,
объектно-ориентированные языки.
Императивные (процедурные) языки - это управляемые командами или операторно-ориентированные языки программирования (С, С++, Pascal, ALGOL, FORTRAN, COBOL)
Аппликативные (функциональные) языки - языки, основанные на поиске функции, необходимой для достижения желаемого результата при заданных начальных условиях. (Lisp и ML)
Языки, основанные на системе правил, осуществляют проверку наличия необходимого разрешающего условия и в случае его обнаружения выполняют соответствующее действие (Prolog).
Объектно-ориентированные языки (C++, Java, Smalltalk, C#)
2. Дайте понятие языка программирования, алфавита, семантики
Язык программирования - искусственно созданный язык, предназначенный для описания алгоритмов обработки данных
Алфавит языка - это набор символов, которые могут быть использованы при составлении программы. Синтаксис определяет правила построения из символов алфавита специальных инструкций, с помощью которых можно составлять алгоритмы решения задач. Систему правил истолкования этих конструкций называют семантикой языка программирования
По степени абстракции от архитектуры компьютера:
алгоритмизация программирование потоковый класс
языки низкого уровня (язык ассемблера) - особенностью данной группы языков программирования является их жесткая привязанность к архитектуре компьютера.
языки высокого уровня (Pascal, C\C++) - отсутствие необходимости реализации поставленной задачи на уровне инструкций процессора дает программисту возможность больше времени и усилий направить на создание модели решаемой задачи и на ее функционирование.
аппаратно-независимые или интерпретируемые языки (Java) - Java-программы полностью независимы от архитектуры машины, на которой они исполняются.
По структурному строению программ:
процедурно-ориентированные языки (Pascal, C) - используется метод разбивки всей задачи на более простые подзадачи (процедуры или функции) и их независимая реализация.
объектно-ориентированные языки (C++, Java) - из области решаемой проблемы выделяются классы, объединяющие связанные каким-либо признаком данные и функции по их обработке.
3. Опишите структуру программы на языке С
а) Алфавит языка программирования включает:
· прописные и строчные буквы латинского алфавита, а также знак подчеркивания (код ASCII 95). В Си строчные и прописные буквы различаются;
· арабские цифры от 0 до 9;
· специальные символы: + - * / =, '.:; < > [] () { } ^ # " | % \?! & ~
· пробельные символы: пробел, символы табуляции, перевода строки, возврата каретки, новая страница и новая строка
б) Лексемы
Из символов алфавита формируются лексемы языка - минимальные значимые единицы текста в программе:
· идентификаторы;
· ключевые (зарезервированные) слова;
· знаки операций;
· константы;
· разделители (скобки, точка, запятая, пробельные символы).
в) Идентификаторы и ключевые слова
Идентификатор - это имя программного объекта (константы, переменной, метки, типа, функции, модуля, поля в структуре).
В идентификаторе могут использоваться латинские буквы, цифры и знак подчеркивания. При именовании объектов следует придерживаться общепринятых соглашений:
· Имя переменной обычно пишется строчными буквами, например index (для сравнения: getIndex - это имя функции, Index - имя типа, а INDEX - константа).
· Идентификатор должен нести какой-либо смысл, поясняя назначение объекта в программе, например birthDate (день рождения) или salary (оклад).
· Если имя состоит из нескольких слов, как, например birthDate, то принято либо разделять слова символом подчеркивания (birth_date), либо писать каждое следующее слово с прописной буквы (birthDate).
г) Ключевые слова Си:
auto |
break |
case |
|
char |
const |
continue |
|
default |
do |
double |
|
else |
enum |
extern |
|
float |
for |
goto |
|
if |
int |
long |
|
register |
return |
short |
|
signed |
sizeof |
static |
|
struct |
switch |
typedef |
|
union |
unsigned |
void |
|
volatile |
while |
д) Знаки операций
Знак операции - это один или более символов, определяющих действие над операндами.
е) Литералы
Литералами являются такие символы, которые в рамках принятой интерпретации определяют все свои особенности, в том числе и собственное значение.
ж) Комментарии
Еще один базовый элемент языка программирования - комментарий, - не является лексемой. Внутри комментария можно использовать любые допустимые на данном компьютере символы, а не только символы из алфавита языка программирования, поскольку компилятор комментарии игнорирует.
В Си комментарии ограничиваются парами символов /* и */.
4. Дайте понятие типа данных
Базовые Типы данных - это стандартные формы представления данных в комментариях
Машинное слово - упорядоченное множество байтов
Тип char служит для хранения отдельных символов и небольших целых чисел. Он занимает один машинный байт. Типы short, int и long представляют целые числа
float, double и long double - предназначены для чисел с плавающей точкой и различаются точностью представления (числом значащих разрядов) и диапазоном. Обычно float (одинарная точность) занимает одно машинное слово, double (двойная точность) - два, а long double (расщиренная точность) - три.
char, short, int и long вместе составляют целочисленные типы, которые, в свою очередь, могут быть знаковыми (signed) и беззнаковыми (unsigned). В знаковых типах самый левый бит служит для хранения знака (0 - плюс, 1 - минус), а оставшиеся биты содержат значение. В беззнаковых типах все биты используются для значения. 8-битовый тип signed char может представлять значения от - 128 до 127, а unsigned char - от 0 до 255.
5. Перечислите сложные типы данных
Массив - это сложный тип данных, представляющий собой упорядоченную совокупность элементов одного типа
Пример:
int a [10];
double b [5] [20];
char c [5] [5] [10];
Строка - это последовательность ASCII или UNICODE символов
Строковый литерал - строка ASCII символов заключенных в двойные кавычки
Пример:
char days [12] [10] =
{”Январь”, ”Февраль”, ”Март”, ”Апрель”, ”Май”, ”Июнь”,
”Июль”, ”Август”, ”Сентябрь”, ”Октябрь”, ”Ноябрь”,
”Декабрь”};
Функции для работы со строками:
1. Ввод /вывод
2. Преобразование строк
3. Обработка строк
6. Дайте понятие указателя
Указатель - это переменная, значением которой является адрес, по которому располагаются данные.
Адрес - это номер ячейки памяти, в которой или с которой располагаются данные.
Классифицировать указатели можно:
по типу данных (типизированные и не типизированные указатели);
по области доступа (ближние и дальние указатели).
Типизированный указатель - указатель, содержащий адрес данных определенного типа (системного или пользовательского).
Не типизированный указатель - указатель, содержащий адрес данных неопределенного типа (просто адрес).
Ближний указатель - указатель, содержащий только смещение, по которому располагаются данные.
Дальний указатель - указатель, содержащий и сегмент и смещение.
Работа с указателями в языке С включает три действия, осуществляемых в следующем порядке:
объявление указателя;
установка указателя;
обращение к значению, расположенному по указателю.
Объявление (описание) указателя в языке C имеет следующий вид:
тип [near|far] *имя [=значение];
Операция взятия адреса - операция языка C, возвращающая адрес переменной.
Для обращения к значению, располагаемому по адресу, содержащемуся в указателе, используется операция разыменования указателя.
Применение указателей в основном обосновано в тех программах, в которых активно используется динамическая память, и реализуются различные динамические структуры данных. Традиционно весь объем памяти компьютера во время его работы разделяют на следующие области:
системная область, занимаемая базовой системой ввода и вывода, операционной системой, сервисами операционной системы и драйверами различных устройств;
область пользовательских программ, занимаемая программами или сервисами, которые запустил пользователь компьютера в процессе работы с ним;
свободная память, доступная для загрузки других программ или сервисов.
7. Опишите арифметику указателей
Как и любую другую переменную, указатель при объявлении можно инициализировать, указав через знак присвоения соответствующее значение. Данное значение должно быть адресом, записанном в одном из следующих виде:
нулевое значение (идентификатор NULL);
другой указатель;
адрес переменной (через операцию взятия адреса);
выражение, представляющее собой арифметику указателей;
адрес, являющийся результатом выделения динамической памяти
Динамическая память - это область (блок) памяти выделенный для нужд программы в процессе работы программы.
Функция копирования содержимого одного блока памяти в другой блок:
void * memcpy (void * restrict targetbuf, const void * restrict sourcebuf, size_t num
Функция копирования содержимого одного блока памяти в другой блок:
void * memmove (void *targetbuf, const void *sourcebuf, size_t num);
Функция сравнения двух блоков памяти:
int memcmp (const void *buffer1, const void *buffer2, size_t num);
Функция заполнения блока памяти:
void * memset (void *buffer, int c, size_t num);
Функция освобождения динамической памяти:
void free (void *memblock);
Функция выделения блока памяти:
void * malloc (size_t size);
Функция выделения блока памяти под массив:
void * calloc (size_t num, size_t size);
8. Дайте понятие функционального программирования
Модуль (программный модуль) - фрагмент программного текста, являющийся строительным блоком для физической структуры системы. Модуль состоит из двух частей:
интерфейс;
реализация.
Функциональное (процедурное) программирование - создание и использование программных модулей при разработке сложных программ или разработка программ с использованием модульности.
Функция - это синтаксически выделенный именованный программный модуль, выполняющий определенное действие или группу действий. Каждая функция имеет свой интерфейс и реализацию.
Интерфейс функции - заголовок функции, в котором указывается название функции, список ее параметров и тип возвращаемого значения.
Реализация функции - тело функции, содержащее внутренние (локальные) данные функции и программный код, выполняющий действия согласно переданным в функцию параметрам и возвращающий значение, соответствующего интерфейсу функции типа.
С точки зрения программиста функции бывают:
библиотечные - функции описанные в библиотеках языка С (как стандартных, так и не стандартных);
пользовательские - функции реализованные программистом в процессе разработки программы.
Например, функции scanf и printf, описанные в библиотеке stdio. h, являются библиотечными функциями, а функция main программы - пользовательской функцией.
Описание функции на языке С осуществляется в любом месте программы вне описания других функций и состоит из трех элементов:
прототип функции;
заголовок функции;
тело функции.
Прототип функции - необязательная часть описания функции, предназначенная для объявления некоторой функции, интерфейс которой соответствует данному прототипу.
Параметры функции - значения, передаваемые в функцию при ее вызове. Выделяют понятия: формальные и фактические параметры.
Формальные параметры - параметры, описываемые при объявлении функции в ее прототипе и заголовке и используемые в программном коде тела функции.
Фактические параметры - переменные, выражения, константные значения или вызовы других функций, указываемые при непосредственном вызове функции внутри другой функции.
Примеры прототипов:
int func (int, double, double);
void func (int, char *);
double func (void);
Заголовок функции - описание интерфейсной части функции, которая содержит: тип возвращаемого значения, имя функции и список формальных параметров функции. Тело функции - часть-реализация, содержащая программный код, выполняемый при вызове функции.
9. Опишите функциональную схему программы
Функциональная схема программы - ориентированный граф, узлами которого являются блоки, содержащие имена функций, а дугами графа обозначаются направления вызовов одной функцией других
Функциональная схема программы в общем виде
Оператор начинается с ключевого слова return, после которого указывается выражение, значение которого должна вернуть функция. Тип данного выражения должен совпадать или быть приводимым (приведенным) к типу возвращаемого значения функции. Если функция не возвращает никакого значения (в заголовке указан тип void), то оператор возврата указывается без какого-либо выражения:
return;
Так как язык С является языком системного уровня, то рекомендуется знать низкоуровневые механизмы возврата значений функциями. В языке С, как и во многих других языках программирования высокого уровня, действуют следующие правила:
целочисленные значения (и все типы, приводимые к ним: символы, логические, перечисления, указатели) 8-, 16 - и 32-битной разрядности возвращаются через регистры AL, AX, EAX соответственно;
целочисленные значения 64-битной разрядности - через регистровую пару EAX (младшая часть) и EDX (старшая часть);
вещественные значения - через вершину стека сопроцессора.
Для реализации возможности в языках программирования высокого уровня реализованы два механизма передачи параметров:
по значению;
по ссылке.
Механизм передачи параметров по ссылке используется для реализации возможностей:
изменение значения переменной, описанной внутри вызывающей функции, вызываемой функцией
реализации функций, возвращающих несколько значений.
10. Опишите функцию с неопределенным числом параметров
В языке С допускается создание функций, имеющих неопределенное число параметров. Например, функции форматированного ввода и вывода (printf и scanf) могут принимать один и более параметров. Для реализации функции с неопределенным числом параметров необходимо описать ее заголовок (и прототип, если он есть) в следующем виде:
тип имя (список фиксированных параметров,.)
Функция описывается в обычной форме, только после указания последнего фиксированного параметра через запятую указываются три точки. Например:
int function (int n,.)
double func (int i, double val,.)
Для доступа к значениям нефиксированных параметров используются типы и макросы для работы со стеком из библиотеки stdarg. h. Работа по извлечению значений нефиксированных параметров заключается в следующем:
объявить переменную типа va_list;
установить ее на последний фиксированный параметр в функции с помощью макроса va_start;
произвести работу с заданным списком значений, используя макрос va_arg;
завершить работу со списком параметров, используя макрос va_end.
Рекурсия - вызов функции самой себя. Различают два вида рекурсии:
прямая рекурсия;
косвенная рекурсия.
Прямая рекурсия - функция вызывает непосредственно саму себя
Косвенная рекурсия - функция вызывает себя посредством другой функции.
В качестве примера прямой рекурсии рассмотрим рекурсивную функцию вычисления факториала:
double Factorial (unsigned n)
{ if (n == 1) return 1.0;
return (double) n*Factorial (n-1); }
11. Дайте понятие файла
Файл - именованная область данных на каком-либо носителе информации
Бинарный файл - файл, содержащий структурированную или не структурированную информацию, представленную в двоичном (бинарном) виде.
Текстовый файл - файл, содержащий структурированную или не структурированную информацию, представленную в текстовом (ASCII символы) виде.
Поток - системный объект, в который и/или из которого могут быть записаны и/или считаны данные. В любой программе на языке С автоматически доступны следующие потоки:
stdin - стандартный поток ввода
stdout - стандартный поток вывода
stderr - стандартный поток ошибок
Функции файла:
Функция переопределения файлового потока:
FILE * freopen (const char *filename, const char *mode,
FILE * restrict stream);
Переменная для работы с файлами описывается в виде указателя на тип FILE:
FILE *имя [= NULL];
Функция открытия файла:
FILE * fopen (const char *filename, const char *mode);
Функция создания временного файла:
FILE * tmpfile (void);
Функция закрытия файла:
int fclose (FILE *stream);
Функция проверки достижения конца файла:
int feof (FILE *stream);
Функция форматированного ввода из файла:
int fscanf (FILE * restrict stream,
const char * restrict format,
[argument].);
Функция форматированного вывода в файл:
int fprintf (FILE * restrict stream,
const char * restrict format,
[argument].);
Функция чтения строки из файла:
char * fgets (char * restrict buffer, int maxlen,
FILE * restrict stream);
Функция записи строки в файл:
int fputs (const char * restrict string,
FILE * restrict stream);
Функция чтения символа из файла:
int fgetc (FILE *stream);
Функция записи символа в файл:
int fputc (int c, FILE *stream);
12. Опишите следующие динамические структуры данных
Очередь - динамическая линейная структура данных с упорядоченным доступом к элементам, функционирующая по принципу FIFO: "первый вошел - первый вышел
Для работы с очередью необходимо реализовать следующие операции:
инициализация (создание) очереди;
удаление очереди;
помещение элемента в очередь;
изъятие элемента из очереди.
Для организации очереди с последовательным хранением необходимо наличие следующих переменных:
указатель на массив элементов, образующих очередь (типизированный указатель);
индекс первого элемента в очереди (целочисленный тип);
индекс последнего элемента в очереди (целочисленный тип);
максимальный размер очереди (целочисленный тип);
текущий размер очереди (целочисленный тип).
Стек - динамическая линейная структура данных с упорядоченным доступом к элементам, функционирующая по принципу LIFO: "последний вошел - первый вышел".
Для работы со стеком необходимо реализовать следующие операции:
инициализация (создание) стека;
удаление стека;
помещение элемента в стек;
изъятие элемента из стека.
Для организации стека с последовательным хранением необходимо наличие следующих переменных:
указатель на массив элементов, образующих стек (типизированный указатель);
индекс вершины стека (целочисленный тип);
максимальный размер стека (целочисленный тип).
Дерево - нелинейная (разветвляющаяся) динамическая структура данных, где каждый элемент имеет две и более ссылки на элементы, один из которых называется предком, а остальные дочерними элементами. Элемент, не имеющий предка, должен быть один в дереве и называется корнем дерева. Совокупность элементов от корневого элемента до любого элемента дерева, не имеющего дочерних элементов, называется ветвью дерева. Количество элементов в ветви называется его длиной, а максимальная длина в дереве - высота дерева
Бинарным деревом называется дерево, каждый элемент которого содержит ссылки на два дочерних элемента. На рисунке 8.8 приведен пример бинарного дерева.
Для работы с деревом необходимо реализовать следующие функции:
создание (инициализация) дерева;
перемещение по дереву (вверх - к предку и вниз - к потомку);
помещение элемента в дерево;
удаление элемента из дерева;
удаление всего дерева.
13. Приведите иерархическую структуру потоковых классов
Организация ввода-вывода
Системы ввода-вывода С и С++ основываются на понятии потока. Поток в С++ это абстрактное понятие, относящееся к переносу информации от источника к приемнику
Общая форма функции перегрузки оператора ввода-вывода имеет вид:
istream &operator>> (istream &поток, имя_класса &объект)
ostream &operator<< (ostream &поток,const имя_класса объект).
Компонент-функция put и вывод символов
Компонент-функция put () используется для вывода одиночного символа:
char c='a';
.
cout. put (c);
Вызовы функции put () могут быть сцеплены:
cout. put (c). put ('b'). put ('\n');
в этом случае на экран выведется буква а, затем b и далее символ новой строки.
Компоненты-функции get и getline для ввода символов
Первый вариант - функция используется без аргументов. Вводит символ из соответствующего потока одиночный символ и возвращает его значение. Если из потока прочитан признак конца файла, то get возвращает EOF
Второй вариант - когда функция get () используется с одним символьным аргументом. Функция возвращает false при считывании признака конца файла, иначе - ссылку на объект класса istream, для которого вызывалась функция get.
При третьем варианте функция get () принимает три параметра: символьный массив, максимальное число символов и ограничитель ввода (по умолчанию '\n'). Ввод прекращается, когда считано число символов на один меньшее максимального или считан символ-ограничитель. При этом в вводимую строку добавляется нуль-символ. Символ-ограничитель из входного потока не удаляется, это при повторном вызове функции get приведет к формированию пустой строки.
Состояние потока
Потоки iostream или ostream имеют связанное с ними состояние. В классе ios, базовом для классов iostream и ostream, имеется несколько public функций, позволяющих проверять и устанавливать состояние потока:
inline int ios:: bad () const { return state & badbit; }
inline int ios:: eof () const { return state & eofbit; }
inline int ios:: fail () const { return state & (badbit | failbit); }
inline int ios:: good () const { return state == 0; }
Состояние потока фиксируется в элементах перечисления, объявленного в классе ios:
public:
enum io_state { goodbit = 0x00,eofbit = 0x01,failbit = 0x02,badbit = 0x04 };
Строковые потоки
Особой разновидностью потоков являются строковые потоки, представленные классом strstream:
class strstream: public iostream
{ public:
strstream ();
strstream (char *s, streamsize n,
ios_base:: openmode=ios_base:: in | ios_base:: out);
strstreambuf *rdbuf () const;
void freeze (bool frz=true);
char *str ();
streamsize pcount () const;
};
Организация работы с файлами
В языке С++ для организации работы с файлами используются классы потоков ifstream (ввод), ofstream (вывод) и fstream (ввод и вывод)
Организация файла последовательного доступа
В С++ файлу не предписывается никакая структура. Для последовательного поиска данных в файле программа обычно начинает считывать данные с начала файла до тех пор, пока не будут считаны требуемые данные. При поиске новых данных этот процесс вновь повторяется.
Создание файла произвольного доступа
Организация хранения информации в файле прямого доступа предполагает доступ к ней не последовательно от начала файла по некоторому ключу, а непосредственно, например, по их порядковому номеру. Для этого требуется, чтобы все записи в файле были бы одинаковой длины.
Наиболее удобными для организации произвольного доступа при вводе-выводе информации являются следующие компоненты-функции:
istream& istream:: read (E *s, streamsize n);
ostream& ostream:: write (E *s, streamsize n);
при этом, так как функция write (read) ожидает первый аргумент типа const сhar * (char *), то для требуемого приведения типов используется оператор явного преобразования типов:
istream& istream:: read (reinterpret_cast<char *> (&s), streamsize n);
ostream& ostream:: write (reinterpret_cast<const char *> (&s), streamsize n);
Основные функции классов ios, istream, ostream
Из диаграммы классов ввода-вывода следует, что классы ios, istream, ostream являются базовыми для большинства классов. Класс ios является типом-синонимом для шаблона класса basic_ios.
Размещено на Allbest.ru
...Подобные документы
Алгоритмизация и структурное программирование на языке С/С++. Создание справочника в памяти (ввод данных), вывод справочника на экран с использованием потоковых классов, сортировка методом Шелла. Циклы, описание применяемых специальных алгоритмов.
курсовая работа [1,0 M], добавлен 26.02.2012Сущность понятия "тип данных". Объектно-ориентированный стиль программирования. Простые типы данных в языке Паскаль: порядковые, вещественные, дата-время. Булевский (логический) тип. Синтаксис определения ограниченного типа. Регулярные типы (массивы).
реферат [24,1 K], добавлен 01.12.2009Цель информационного программирования; алгоритмический язык как система обозначений и правил для единообразной и точной записи алгоритмов и их исполнения. Языки программирования низкого и высокого уровня; классификация и использование структуры данных.
реферат [383,1 K], добавлен 07.01.2012Сравнительный анализ языков программирования высокого уровня Си и Паскаль. Реализация алгоритма обработки данных. Тестирование и отладка программы или пакета программ. Структура программы на языке Турбо Паскаль. Указатели и векторные типы данных.
курсовая работа [233,5 K], добавлен 14.12.2012Изучение категории типов данных, видов выражений и операций, работа на языке Си. Составление программы вычисления значения функции у(х) при произвольном значении х. Блок-схема алгоритма. Описание текста программы и рассмотрение контрольного примера.
лабораторная работа [124,7 K], добавлен 09.01.2012Ознакомление с понятием, классификацией и структурными элементами баз данных. Виды моделей данных: иерархическая, сетевая, реляционная. Типы связей. Разработка программы для работы с базами данных в книжном магазине. Действие программы и ее листинг.
курсовая работа [549,3 K], добавлен 22.01.2013Технология программирования, основные этапы развития. База данных, понятие,характеристика, основные типы баз. Действие и структура программы С++. Процесс подготовки и решения задач на компьютерах. Написание и отладка программы на языке программирования.
курсовая работа [32,8 K], добавлен 26.01.2011Математическая постановка задачи для алгоритмизации, рекуррентная зависимость. Алгоритм решения задачи, блок-схема программы. Тестовые данные для тестирования программы. Результаты, соответствующие для первых вводимых данных и листинг программы.
контрольная работа [27,0 K], добавлен 09.05.2012Создание программы для обработки информации об объектах предметной области "Бытовая техника" в среде визуального программирования C++. Иерархия родственных классов. Описание логической структуры программы. Реализация файлового ввода/вывода данных.
курсовая работа [711,4 K], добавлен 27.07.2014Сущность и функциональные особенности баз данных, их классификация и типы, внутренняя структура и элементы. Модели данных, хранящихся в базах: иерархическая, сетевая, реляционная, многомерная, объектно-ориентированная. Виды запросов и типы таблиц.
дипломная работа [66,7 K], добавлен 06.01.2014Способы ограждения пользователей от деталей фактического устройства данных. Список описателей переменных, указателей или массивов. Статические или динамические структуры данных. Доступ к различным элементам данных. Добавление и удаление элементов.
презентация [57,8 K], добавлен 14.10.2013Рассмотрение правил записи, способов ввода и вывода, использования функций обработки символьных данных в Pascal. Описание алгоритмизации и программирования файловых структур данных, проектирования структуры файла. Ознакомление с работой данных массива.
курсовая работа [336,2 K], добавлен 27.06.2015Особенности проектирования программы на языке С++ для обработки данных из таблиц базы данных. Основные функции программы, создание концептуальной модели базы данных и диаграммы классов, разработка интерфейса пользователя и запросов к базе данных.
курсовая работа [2,1 M], добавлен 08.06.2012Проблемы с организацией данных. Определение и классификация динамических структур данных. Линейные односвязные, двухсвязные, кольцевые списки. Очередь, стеки. Описание основных типов данных и функции для работы с ними. Листинг программы, пример ее работы.
контрольная работа [290,6 K], добавлен 17.07.2012Сравнительный анализ языков программирования высокого уровня Си и Паскаль: структура программы, типы данных, арифметические операции, операторы ветвления и циклы. Создание программы поиска подпоследовательностей одинаковых элементов в множественном виде.
курсовая работа [78,9 K], добавлен 28.12.2012Разработка алгоритмов на динамических структурах данных. Описание структуры данных "стек". Процедуры добавления и удаления элемента, очистки памяти. Код распечатки содержимого всего стека. Инструкция пользователя, код программы, контрольный пример.
курсовая работа [22,9 K], добавлен 19.10.2010Свойства алгоритма как определенного содержания и порядка действий над объектами. Базовые алгоритмические структуры: следование, ветвление, повторение. Структурированные типы данных. Реализация на языке программирования задач при помощи алгоритмов.
контрольная работа [598,6 K], добавлен 06.12.2014Различия между существующими диалектами SQL. Стандартизация языка SQL. Концепция баз данных. Эффективность организации данных. Структура языка SQL. Приближенные числовые типы. Интервальный тип данных. Обработка сложно структурированной информации.
курсовая работа [50,7 K], добавлен 29.05.2014Ознакомление со структурой, комментариями, переменными и типами данных, константами, перечислениями, преобразованием типов языка программирования высокого уровня С++. Ключевые понятия языка, идентификаторы, ключевые слова, функции, операторы, выражения.
контрольная работа [31,2 K], добавлен 12.12.2009Создание программы для обработки структуры данных. Возможность ввода и записи данных на персональном компьютере. Прикладное программирование на языке Turbo Pascal. Свободное редактирование записанных данных с помощью программы, написанной на Turbo Pascal.
лабораторная работа [11,4 K], добавлен 13.05.2011