Лабораторная работа №4 Вариант 21
.doc
ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ
ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ
ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
ЛИПЕЦКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
КАФЕДРА АВТОМАТИЗИРОВАННЫХ СИСТЕМ УПРАВЛЕНИЯ
Лабораторная работа №4
по дисциплине
«Технология программирования»
на тему:
«Программирование алгоритмов генерации псевдослучайных чисел»
|
Студент |
|
|
|
|
|
||||||||
|
|
|
подпись, дата |
|
фамилия, инициалы |
|
||||||||
|
Группа |
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
||||||||
|
Принял |
|
|
|
|
|
||||||||
|
|
|
|
|
Домашнев П.А. |
|
||||||||
|
ученая степень, звание |
|
подпись, дата |
|
фамилия, инициалы |
|
Липецк 2010
-
Задание
Задание
Написать программу, осуществляющую генерацию определенного количества псевдослучайных чисел из заданного пользователем интервала заданным методом и вывод их на экран. Количество чисел и интервал вводит пользователь. Программа должна также записывать сгенерированную псевдослучайную последовательность в файл. Формат файла – двоичный.
Вариант 21
Алгоритм поиска |
метод середин квадратов |
-
Листинг программы
#include <stdio.h>
#include <math.h>
int func(int x,int k)
{
int y=(int)(pow(x,2.0)/(pow(10.0,(k/2))))%((int)pow(10.0,k));
return y;
}
void main()
{
int i,n,y,k=0,x;
FILE *fp=fopen("I:/1234","ab+");
printf("Input first element and how much: ");
scanf("%d %d",&x,&n);
y=x;
for(k=0;y>=1;k++)
y=y/10;
for(i=0;i<n;i++)
{
x=func(x,k);
fwrite(&x,sizeof(int),1,fp);
printf("%d\n",x);
}
fclose(fp);
}
-
Контрольный пример
4.Блок-схема
5. Вывод
При выполнении данной лабораторной работы я получил навыки программирования методов генерации псевдослучайных чисел.
6.Список использованной литературы
-
Шилдт Г. Искусство программирования на C++. БХВ.2005
-
Шилдт Г. C++ Руководство для начинающих. Вильямс.2005
-
Страуструп Б. Язык программирования С++. Специальное издание, 3-изд. Бином.2004