- •Отчет по учебной практике
- •Содержание
- •Введение
- •1 Программирование алгоритмов линейной структуры
- •1.1 Практическое задание №1
- •2 Программирование алгоритмов разветвленной структуры
- •2.1 Практическое задание №2
- •2.2 Практическое задание №3
- •3 Программирование алгоритмов циклической структуры
- •3.1 Практическое задание №4
- •4 Обработка массивов
- •4.1 Практическое задание №5
- •4.2 Практическое задание №6
- •4.3 Практическое задание №7
- •4.4 Практическое задание №8
- •5 Скриншоты
- •6 Заключение
- •7 Список литературы
3 Программирование алгоритмов циклической структуры
Цель работы: Ознакомление с особенностями программирования алгоритмов циклической структуры.
3.1 Практическое задание №4
Решить задачу согласно варианту тремя способами, т.е. с использованием операторов цикла For-To (или For-Downto), While-Do и Repeat-Until.
Условие: Даны вещественное число X и натуральное число n. Вычислить сумму первых n слагаемых S = sinX + sinX2 + sinX3 +…+ sinXn.
Словесная запись:
Ввести переменные X и n;
Обнулить переменную S;
Начало цикла с параметрами n=1,n;
S:=S+sin(exp(n*ln(X)));
Конец цикла;
Вывести S;
Конец алгоритма.
Б
1
2
3
S:=0
4
5
S:=S+sin(exp(n*ln(X)))
6
7
Программная запись:
Pascal:
Program Zadanie3;
Uses crt;
Var S,X:real; n:integer;
Begin
Clrscr;
Writeln('Vvedite X i n');
Readln(X,n);
S:=0;
for n:=1 to n do
begin
S:=S+sin(exp(n*ln(X)));
end;
Writeln('S=', S:5:3);
Readln;
End.
C++:
#include <math.h>
#include <conio.h>
#include <stdio.h>
int main()
{ clrscr();
int k,n; float X,S;
printf("Vvedite X i n \n");
scanf("%f %d",&X,&n);
S=0;
for (k=1;k<=n;k++)
S=S+sin(pow(X,k));
printf("\nS=%f",S);
getch(); }
4 Обработка массивов
Цель работы: Приобретение навыков программирования при решении задач с использованием одномерных и двумерных массивов, а также характерных приемов программирования.
4.1 Практическое задание №5
Характерные приемы программирования обработки одномерных массивов.
Условие: Для целочисленного массива Х(9) найти произведение его элементов с четными индексами и выяснить является ли оно нечетным числом.
Словесная запись:
Начало цикла с параметрами i=1,9;
X[i]:=random(10)-5;
Вывести X[i];
Конец цикла;
P:=1;
Начало цикла с параметрами i=1,9;
Проверить: если (i mod 2)=0, то P:=P*X[i], иначе перейти к п.6.;
Конец цикла;
Вывести P;
Проверить: если (P mod 2)=0, то вывести на экран «Proizvedenie chetno», иначе вывести на экран «Proizvedenie nechetno»;
Конец алгоритма.
Б
лок-схема:
P:=1
5
92
-
+
10
11
12
13
6
7
-
+
P:=P*X[i]
8
Программная запись:
Pascal:
Program Zadanie4A;
Uses crt;
Type A=array [1..9] of integer;
Var X:A; i,P:integer;
Begin
Clrscr;
Randomize;
Writeln('Sgenerirovannyi massiv X[9]');
for i:=1 to 9 do
begin
X[i]:=random(10)-5;
Write(X[i],' ');
end;
P:=1;
for i:=1 to 9 do
begin
if (i mod 2)=0 then
P:=P*X[i];
end;
Writeln;
Writeln('P=',P);
if (P mod 2)=0 then writeln('Proizvedenie chetno')
else writeln('Proizvedenie nechetno');
Readln;
End.
C++:
#include <math.h>
#include <time.h>
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#define N 9
int main()
{ clrscr();
int i, X[N],P;
srand(time(NULL));
printf("Sgenerirovannyi massiv A[N]\n");
for (i=0;i<N;i++)
{ X[i]=rand()%10-5;
printf("%d ", X[i]); }
P=1;
for (i=0;i<N;i++)
{ if (i%2==0 && i!=0) P=P*X[i]; }
printf("\nP=%d", P);
if (P%2==0) printf("\nProizvedenie chetno");
else printf("\nProizvedenie nechetno");
getch(); }
