Валентин Арьков - Организация параллельных потоков. Часть 1
- Название:Организация параллельных потоков. Часть 1
- Автор:
- Жанр:
- Издательство:неизвестно
- Год:2020
- ISBN:нет данных
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Валентин Арьков - Организация параллельных потоков. Часть 1 краткое содержание
В работе используется бесплатная интегрированная среда разработки. Приводятся примеры программ на языке Си.
Организация параллельных потоков. Часть 1 - читать онлайн бесплатно ознакомительный отрывок
Интервал:
Закладка:
Задание. Ознакомьтесь с историей программы « Hello, World»на сайте Википедии. Выясните, как правильно переводится эта фраза на русский язык.
Задание. Прочитайте в Википедиистатью Консоль. Выясните, что означает слово «консоль».
Задание. Создайте проект и запустите программу на выполнение:
— Создайте новый проект.
— Добавьте файл типа *.С.
— Введите исходный текст программы.
— Скомпилируйте проект и запустите программу.
— Скомпилируйте проект.
— Запустите программу из среды разработки.
— Запустите программу из Проводника Windows.
Для работы в командной строке нужно запустить командное окно:
[Win + R] — cmd — OK.
Чтобы перейти на нужный диск, введите букву и двоеточие. Например, для перехода на диск D:, нужно ввести
d:
Переход между каталогами — команда cd.
Чтобы подняться один на уровень выше по файловому дереву, используем команду
cd..
Просмотр содержимого каталога:
dir.
Для запуска программы на выполнение введите название программы
Задание. Запустите командную строку, перейдите в каталог своей программы и запустите её на выполнение.
3.2. Диапазоны значений переменных
В нашей работе мы будем иметь дело с большими целыми числами — счётчиками и суммами. Поэтому при объявлении типа переменной нужно учитывать максимальное значение, которое можно будет записать в эту переменную.
Диапазон значений переменной зависит от количества байт. Стандартные целые типы используют 1, 2, 4 или 8 байт.
Кроме количества байтов, нужно учитывать наличие знака:
— числа со знаком (signed)
— числа без знака (unsigned).
Зная эти параметры, можно приблизительно оценить диапазон возможных значений. Для грубых оценок можно считать, что 2^10 приблизительно равно 10^3.
Задание. Составьте список целых типов и оцените диапазон их значений.
3.3. Параметры командной строки
Программу (исполняемый файл типа *.EXE) обычно запускают на выполнение несколькими способами:
— среда разработки;
— Проводник Windows;
— файловый менеджер типа FAR.
При запуске программы на выполнение из Проводникаобычно ограничиваются указанием имени исполняемого файла.
Задание. Запустите свою программу тремя перечисленными способами.
Командная строка — это один из первых видов компьютерных интерфейсов. Он может также упоминаться под другими названиями:
— командное окно;
— интерпретатор командной строки;
— командный процессор;
— command prompt.
При запуске программы в командной строке у нас появляются дополнительные возможности. После имени исполняемого файла file. exe можно дополнительно указать любые параметры param1, param2, param3, напечатав их через пробел:
file param1 param2 param3.
Расширение имени файла EXEможно не указывать.
В данной работе мы будем использовать параметры (аргументы) командной строки. Эти параметры попадают «внутрь» программы и доступны для использования во время выполнения программы.
Чтобы получить доступ к параметрам запуска программы в командной строке, будем использовать аргументы основного модуля программы:
main (int argc, char *argv []);
argc (argument count) — количество параметров командной строки;
argv [] (argument values) — массив указателей на строки (параметры командной строки).
Скомпилируем программу. Пусть этот файл называется prog-arg. exe.Мы запускаем его на выполнение в командной строке следующим образом:
prog-arg 1 param 23 аргумент 16.
Нулевой параметр argv [0]содержит имя запущенной программы. Если параметров нет, то мы получим только имя запущенной программы.
Задание. Измените текст программы так, чтобы получить параметры командной строки через аргументы main и вывести их на экран. Запустите программу из среды разработки, затем из командного окна с параметрами.
Проверьте, как работает вывод на экран параметров в виде чисел и текста на английском и на русском языках.
3.4. Локализация вывода на экран
Для вывода на экран мы используем функцию
printf.
Экран (в текстовом режиме) — это стандартное устройство вывода.
Чтобы в консоли выводить русский текст, добавим пару строк внаше программу.
Подключаем заголовочный файл локализации locale. h:
#include
Затем вызываем функцию setlocale:
setlocale (LC_ALL, «Rus»).
Пример программы представлен на рис. 3.2:
Рис. 3.2. Локализация стандартного вывода
Задание. Создайте и запустите программу, представленную на рис. 3.2.
Задание. Добавьте локализацию в программу вывода параметров командной строки. Убедитесь, что программа корректно обрабатывает параметры на русском языке.
3.5. Числа в командной строке
Через командную строку можно ввести число и использовать его в работе программы.
Для этого мы добавим добавляем заголовочный файл stdlib. h:
#include .
Затем вызываем функцию
int atoi (char *str).
Чтение из командной строки
В зависимости от типа переменной преобразование строки в целое число выполняется следующими функциями:
int atoi (const char *str);
long int atol (const char *str);
long long atoll (const char *str).
Этой приём нам понадобится для быстрого изменения параметров работы программы. Мы указываем параметр командной строки и преобразуем его в число. Полученное число записываем в переменную, которую используем для управления работой программы.
Задание. Добавьте в программу вызов функции преобразования строки в число. Выведите полученное число на экран.
4. Последовательные вычисления
4.1. Программа суммирования
В наших экспериментах мы будем находить сумму выбранного количества единиц (рис. 4.1).
Рис. 4.1. Последовательное суммирование
При назначении типов переменных учитываем диапазон возможных значений.
Задание. Составьте программу для нахождения суммы единиц. Запустите программу и убедитесь в правильности вычислений.
Задание. Составьте программу суммирования с вводом количества единиц через параметры командной строки. Программа должна вначале вывести заданное значение, затем найти сумму и вывести значение полученной суммы.
Задание. Введите количество единиц, выходящее за пределы диапазона значений. Обратите внимание на поведение программы.
4.2. Время работы программы
Чтобы сравнивать скорость работы программ между собой, нам нужно будет определить время выполнения программы. В результате мы сможем вычислить показатели эффективности распараллеливания.
Читать дальшеИнтервал:
Закладка: