рефератырефератырефератырефератырефератырефератырефератырефераты

рефераты, скачать реферат, современные рефераты, реферат на тему, рефераты бесплатно, банк рефератов, реферат культура, виды рефератов, бесплатные рефераты, экономический реферат

"САМЫЙ БОЛЬШОЙ БАНК РЕФЕРАТОВ"

Портал Рефератов

рефераты
рефераты
рефераты

Основы программирования и алгоритмизации

20

19

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ

ОРЛОВСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

Курсовая работа

Основы программирования и алгоритмизации

Вариант - 10

Работу выполнил студент

Группа Факультет ФНТиАП

Специальность Автоматизация технологических процессов и производств

Курсовая работа защищена с оценкой

Орел 2009

Задание на курсовую работу

Студент

Группа Факультет ФНТиАП

Специальность Автоматизация технологических процессов и производств

Вариант - 10

Задания

1. В ЭВМ поступают результаты соревнований по плаванию для трех спортсменов. Составьте программу, которая выбирает лучшей результат и выводит его на экран с сообщением, что это лучшей результат.

2. Дано натуральное число n. Составить программу, определяющую, есть ли среди чисел n, n+1,...,2n близнецы, т.е. простые числа, разность между которыми равна 2. (Использовать процедуру распознавания простых чисел).

3. Найдите сумму элементов массива ниже главной диагонали, произведение не равных нулю элементов выше главной диагонали и количество элементов в главной диагонали, попадающих в интервал [-1;1].

4. Опишите множества М1 (1, 2,3) и M2 (1, 4, 2, 5). Получите результирующие множество M3=M1*M2. Определите, имеются ли в M3 элементы 1 и 2.

5. Создайте файл, компоненты которого являются целыми числами. Напишите программу, переписывающую компоненты файла в обратном порядке.(Новый файл не заводить).

Руководитель

Задание принял к исполнению «__» ____________ 2009 г.

Подпись студента

Содержание

Задание № 1

Задание № 2

Задание № 3

Задание № 4

Задание № 5

Приложение 1

Приложение 2

Приложение 3

Приложение 4

Приложение 5

Задание №1

Название программы введено после program, в данном задание это - Zadanie1. Далее с помощью var выделены ячейки памяти под переменные X1, X2, X3, res вещественного типа данных. После begin написан ход работы программы из последовательности операторов.

С помощью операторов writeln и readln описывается, что нужно ввести и записывается введенный результат в память, соответственно. Таким образом, вводим результаты спортсменов X1, X2, X3.

Далее с помощью условных операторов if определяем наименьший результат, который присваивается переменной res: if X1<X2 then res:=X1 else res:=X2; if res>X3 then res:=X3;. С помощью оператора writeln на экран выдается сообщение с результатом победителя заплыва.

Закрытие программы - end.

Алгоритм к Заданию №1:

Задание №2

Название программы введено после program, в данном задание это - Zadanie2. Далее с помощью var выделены ячейки памяти под переменные j, B, N типа данных word и массива а логического типа данных. После begin написан ход работы программы из последовательности операторов.

С помощью процедуры Pch определяем все простые числа, используемые в программе. Далее оператором writeln выводим сообщение о том, что ниже будут выдаваться числа близнецы.

Создаем цикл: for j:=N to 2*N do, где будет проверяться условие, что разность между числами равна 2. Если условие верно, то выдаются на экран сравнивающиеся числа, которые и будут близнецы.

Закрытие программы - end.

Процедура Pch.

Кроме общих переменных заданных в программе в процедуре используются внутренние переменные b, k типа данных word. Задаем диапазон, на котором будем выделять простые числа. Далее создаем цикл: for j:=2 to 2*N do, в котором всем значениям массива а присваиваем значение TRUE. С помощью нескольких циклов в цикле: while k<=b do, всем не простым числам в массиве а присваиваются значения FALSE.

Таким образом получаем массив а, где простые числа отмечены TRUE. Закрытие процедуры - end.

Алгоритм к Заданию №2:

Процедура

Простые числа:

Задание №3

Название программы введено после program, в данном задание это - Zadanie3. Далее с помощью var выделены ячейки памяти под переменные i, j, K, n, m типа данных byte, переменные S, Pr и массив a[1..255,1..255] вещественного типа данных. После begin написан ход работы программы из последовательности операторов.

Вводим размерность матрицы NxM, далее с помощью цикла: for j:=1 to m dо в цикле: for i:=1 to n do задаем все значения массива а.

Следующий этап - создаем цикл: for j:=1 to (i-1) do в цикле: for i:=2 to n do, где будут перебираться только элементы ниже главной диагонали и находим их сумму. Далее создаем цикл: for i:=1 to (j-1) do в цикле: for j:=2 to m do, где будут перебираться только элементы выше главной диагонали. Проверяем условие не равности нулю каждого элементы и находим их произведение: if a[i,j]<>0 then Pr:=Pr*a[i,j].

Далее в цикле: for i:=1 to n do, j присваиваем значение i, то есть перебираем только элементы главной диагонали, где проверяем принадлежность этих элементов диапазону [-1;1] и считаем это количество.

С помощью операторов writeln на экран выдаем результат. Закрытие программы - end.

Алгоритм к Заданию №3:

Задание №4

Название программы введено после program, в данном задание это - Zadanie4. Далее с помощью const заданы константы, множества M1=[1,2,3] и M2=[1,4,2,5], а с помощью var выделены ячейки памяти под множество M3 типа данных byte. После begin написан ход работы программы из последовательности операторов.

С помощью оператора writeln выводим сообщение о том, что даны множества М1и M2. Далее находим множество М3: М3:=M1*M2. С помощью условных операторов if проверяем наличие в множестве М3 элементов 1 и 2, после чего выдается соответствующее сообщение.

С помощью строки readln (); выполнение программы автоматически не закроется, что позволит посмотреть результат, а закрытие осуществляется после нажатия кнопки Enter. Закрытие программы - end.

Алгоритм к Заданию №4:

Задание №5

Название программы введено после program, в данном задание это - Zadanie5. Далее с помощью var выделены ячейки памяти под переменные i целого типа данных, k, j типа данных byte, массив а и f файл с целым типом данных. После begin написан ход работы программы из последовательности операторов.

Оператором assign устанавливаем связь между программой и файлом zadanie5.txt. Далее командой rewrite (f); открываем (создаем) файл для записи. Вводим количество вводимых чисел в файл. С помощью цикла: for j:=1 to k do, вводим поочередно k целых чисел, а с помощью команды write (f,i); записываем эти числа в файл.

Далее открываем файл, только в этот раз для чтения reset (f). И прочитываем все значения i и записываем их в массив a. Далее командой rewrite (f) опять открываем файл для записи и с помощью цикла: for j:=k downto 1 do, записываем значения массива а в файл f в обратном порядке.

Далее открываем файл для чтения reset (f). И прочитываем все значения. Затем с помощью цикла: for j:=1 to k do, командой read (f,a[j]) читаем числа и выводим их на экран через пробел: write (a[j],' ').

Далее закрываем файл и программу.

Алгоритм к Заданию №5:

Приложение 1

Текст программы к Заданию №1

program Zadanie1;

var

X1,X2,X3,res:real;

begin

writeln ('Введите результат 1 спортсмена: ');

readln (X1);

writeln ('Введите результат 2 спортсмена: ');

readln (X2);

writeln ('Введите результат 3 спортсмена: ');

readln (X3);

if X1<X2 then res:=X1 else res:=X2;

if res>X3 then res:=X3;

writeln ('Результат победителя заплыва: ', res:10:4);

end.

Решение:

Приложение 2

Текст программы к Заданию №2

program Zadanie2;

var

j,B,N: word;

a: array [2..1000] of boolean;

procedure Pch;

var

b,k:word;

begin

writeln ('Введите натуральное число N: ');

readln (N);

for j:=2 to 2*N do

a[j]:=true;

b:=trunc(sqrt(2*N));

while k<=b do

begin

repeat

inc(k);

until a[k];

j:=2*k;

while j<=2*N do

begin

a[j]:=false;

j:=j+k;

end;

end;

end;

begin

Pch;

writeln ('Числа близнецы на диапозоне ',N,'..',2*N,' :');

B:=1;

for j:=N to 2*N do

if a[j] then

begin

if j-B=2 then writeln (j,' | ',B);

B:=j;

end;

end.

Решение:

Приложение 3

Текст программы к Заданию №3

program Zadanie3;

var

i,j,K,n,m: byte;

S,Pr: real;

a: array [1..255,1..255] of real;

begin

writeln ('Введите размерность массива N x M:');

readln (n,m);

for i:=1 to n do

for j:=1 to m do

begin

writeln ('Введите a[',i,',',j,'] : ');

readln (a[i,j]);

end;

for i:=2 to n do

for j:=1 to (i-1) do

S:=S+a[i,j];

Pr:=1;

for j:=2 to m do

for i:=1 to (j-1) do

if a[i,j]<>0 then Pr:=Pr*a[i,j];

if n>m then n:=m;

for i:=1 to n do

begin

j:=i;

if abs(a[i,j])<=1 then K:=K+1;

end;

writeln ('Сумма элементов ниже главной диагонали:',S:7:2);

writeln ('Произведение элементов выше главной диагонали:',Pr:7:2);

writeln ('Количество элементов на главной диагонали в интервале [-1;1]',K);

readln();

end.

Решение:

Приложение 4

Текст программы к Заданию №4

program Zadanie4;

const

M1=[1,2,3];

M2=[1,4,2,5];

var

M3: set of byte;

begin

writeln ('Даны множества М1(1,2,3), M2(1,4,2,5) и М3=М1*М2');

M3:=M1*M2;

if 1 in M3 then writeln ('1 есть в множестве М3')

else writeln ('1 нет в множестве М3');

if 2 in M3 then writeln ('2 есть в множестве М3')

else writeln ('2 нет в множестве М3');

readln;

end.

Решение:

Приложение 5

Текст программы к Заданию №5

program Zadanie5;

var

f: file of integer;

i: integer;

k,j: byte;

a: array [1..255] of integer;

begin

assign (f,'zadanie5.txt');

rewrite (f);

writeln ('Введите количество вводимых чисел: ');

readln (k);

for j:=1 to k do

begin

write ('Введите ',j,' число: ');

read (i);

write (f,i);

end;

reset (f);

writeln ('Значения из созданного файла:');

for j:=1 to k do

begin

read (f,i);

write (i,' ');

a[j]:=i;

end;

rewrite (f);

for j:=k downto 1 do

write (f,a[j]);

writeln;

reset (f);

writeln ('Значения из файла:');

for j:=1 to k do

begin

read (f,a[j]);

write (a[j],' ');

end;

close (f);

writeln;

end.

Решение:

рефераты
РЕФЕРАТЫ © 2010