Мои Конспекты
Главная | Обратная связь


Автомобили
Астрономия
Биология
География
Дом и сад
Другие языки
Другое
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Металлургия
Механика
Образование
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Туризм
Физика
Философия
Финансы
Химия
Черчение
Экология
Экономика
Электроника

БИЛЕТ N 18



  1. Транслятор и компоновщик Библиотеки языка Си

Программирование с использованием подпрограмм требует ещё одной специальной программы, которая обеспечивает сборку единой программы из отдельных фрагментов-подпрограмм и её размещение в памяти ЭВМ. Эта программа называется компоновщиком.

задача компоновщика состоит в согласовании адресов во всех фрагментах кода, из которых собирается готовая к выполнению программа. Компоновщик отвечает за то, чтобы конкретному операнду выражения соответствовала определённая область памяти.

Компоновщик также добавляет к компонуемой программе коды так называемых библиотечных функций а также код, обеспечивающий размещение программы в памяти, её корректное начало и завершение.

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

 

Файл с исходным текстом программы обрабатывается транслятором, который осуществляет перевод программы с языка программирования в понятную машине последовательность кодов. Процесс трансляции разделяется на несколько этапов.

На первом этапе исходный текст подвергается лексической обработке. Программа разделяется на предложения, предложение делится на элементарные составляющие (лексемы). Каждая лексема распознаётся и преобразуется в соответствующее двоичное представление. Этот этап работы транслятора называют лексическим анализом.

этап синтаксического анализа. На этом этапе из лексем собираются выражения, а из выражений - операторы. В ходе трансляции последовательности терминальных символов преобразуются в нетерминалы. После синтаксического анализа наступает этап поэтапной генерации кода. На этом этапе происходит замена операторов языка высокого уровня инструкциями ассемблера, а затем последовательностями машинных команд. Результат преобразования исходного текста программы записывается в виде двоичного файла с расширением ".obj".

Стандартная библиотека языка C++ – межплатформенная библиотека основу которой составляет стандартная библиотека шаблонов включающая:

· базовую поддержку средств языка времени выполнения, например, средства управление памятью,

· стандартную библиотеку языка C

· строки и потоки ввода/вывода с поддержкой национальных алфавитов,

· структуры данных, называемые контейнерами, и алгоритмы их обработки (сортировка, слияние),

· поддержку численных расчетов, например, операции над векторами, обработку комплексных чисел.

Имена компонентов библиотеки определены в пространстве имен std.

 

  1. Написать программу для решения следующей задачи получить элементы квадратной матрицы А=ç a i,j ç, i,j=1, ..., n, a i,j = f(i,j), где f(i,j) =( | 3.7 - j | - 2 ) ( i - 4.3- j ) + 8,7 i; из матрицы A получить компоненты вектора X={xi},i=1,2, ... ,n, по следующему правилу: в матрице найти первую по порядку строку с наибольшей суммой ее элементов и в качестве компонент вектора принять упорядоченные по возрастанию элементы этой строки.

Результаты вывода на экран – матрица А (построчно), вектор Х..

  1. Написать программу упорядочивания последовательности из n чисел по убыванию и оформить ее в виде функции

 

# include <iostream.h>

# include <conio.h>

# include <iomanip.h>

int main()

{

clrscr();

const int n=6;

int x[n]={1,-5,4,0,12,-6};

int i,j,bulb;

 

for(i=0;i<n;i++)

{for(j=0;j<n-1;j++)

if(x[j]<x[j+1])

{bulb=x[j];

x[j]=x[j+1];

x[j+1]=bulb;}}

for(i=0;i<n;i++)

cout<<setw(4)<<x[i];

cin.get();

cin.get();

return 0;

}

  1. Напишите программу, которая выводит на экран следующее изображение При написании используйте оператор for и функции printf("\ "), printf("*") и printf("\\n"). Изображение должно параметрически масштабироваться

*

**

* *

* *

* *

* *

* *

# include <iostream.h>

# include <conio.h>

# include <iomanip.h>

int main()

{

clrscr();

int r,n,i;

cin>>r;

cout<<"*\n";

for(n=1;n<r;n++)

{for(i=0;i<1;i++)

cout<<"*";

for(i=0;i<n;i++)

cout<<" ";

for(i=0;i<1;i++)

cout<<"*";

cout<<"\n";}

cin.get();

cin.get();

return 0;

}

 




Поиск по сайту:







©2015-2020 mykonspekts.ru Все права принадлежат авторам размещенных материалов.