Консультация № 189922
24.10.2016, 07:51
0.00 руб.
0 5 2
Уважаемые эксперты! Пожалуйста, ответьте на вопрос:
Написать тексты программ на языке Паскаль

1. Вычисление суммы четных натуральных чисел в интервале от 1 до n.
(3 варианта программ - с использованием цикла WHILE, цикла REPEAT и цикла FOR). n ввести со стандартного ввода. Значение cуммы вывести на экран.

2. Сгененировать случайным образом массив целых чисел из n элементов. n ввести со стандартного ввода. Вывести на экран среднее арифметическое элементов.

3. Наиисать программу вычисления факториала с использованием рекурсивной подпрограммы

Обсуждение

давно
Профессионал
153662
1070
24.10.2016, 10:24
общий
24.10.2016, 10:31
1 задание с циклом for:
[code lang=pascal]programm sum_for

var
i, n, sum: integer;

begin
readln(n);
sum:= 0;
for i:= 1 to n do
if i mod 2 = 0 then
sum:= sum + i;
write(sum);
end; `
[/code]

с циклом repeat:
[code lang=pascal]programm sum_repeat

var
i, n, sum: integer;

begin
readln(n);
sum:= 0;
i:= 1;
repeat
if i mod 2 = 0 then
sum:= sum + i;
i:= i + 1;
until
i > n;
write(sum);
end;
[/code]

с циклом while:
[code lang=pascal]programm sum_while

var
i, n, sum: integer;

begin
readln(n);
sum:= 0;
i:= 1;
while i <= n do
begin
if i mod 2 = 0 then
sum:= sum + i;
i:= i + 1;
end;
write(sum);
end; [/code]
Об авторе:
Мои программы со статусом freeware для Windows на моём сайте jonix.ucoz.ru

давно
Профессионал
153662
1070
24.10.2016, 12:31
общий
24.10.2016, 12:32
По 2 заданию, примерно так:
[code lang=pascal]programm massiv

uses Crt;

var
i, n, sum: integer;
a: array of integer;
s: real;

begin
readln(n);
setlength(a, n); {Устанавливаем длину массива}
sum:= 0;
randomize; {Инициализация генератора случайных чисел}
for i:= 1 to n do
begin
new(a[i]); {Новый элемент массива}
a[i]^:= random(100); {Генерация числа элемента массива}
sum:= sum + a[i]^; {Считаем сразу сумму элементов}
end;
for i:= 1 to n do
write(a[i]^, ' '); {Выводим массив}
writeln;
s:= sum / n; {Считаем среднеарифметической}
writeln(s);
dispose(a[i]); {Отчищаем память}
end.[/code]
Об авторе:
Мои программы со статусом freeware для Windows на моём сайте jonix.ucoz.ru

давно
Профессионал
153662
1070
24.10.2016, 13:40
общий
24.10.2016, 13:46
3 задание:
[code lang=pascal]program factorial;
var
n, i: integer;

function factor(x: integer): integer;
begin
if x = 0 then
factor:= 1
else
factor:= factor(x - 1) * x;
end;

begin
readln(n);
i:= factor(n);
writeln(i);
end.[/code]
Об авторе:
Мои программы со статусом freeware для Windows на моём сайте jonix.ucoz.ru

давно
Посетитель
400537
50
24.10.2016, 18:00
общий
это ответ
Здравствуйте, nata!
1)через for остальные 2 цикла чуть попозже напишу
[code lang=pascal]Program programs;
var c,i, n, sum: integer;
begin
writeln('vvedite 4islo do kotorogo s4itat');
readln(c);
for i:= 2 to c do
begin
n:=i mod 2;
if n=0
then
begin
sum:=sum+i;
end;
end;
writeln('summa =',sum);
readln();
end. [/code]

2)[code lang=pascal]Program programs;
var i,n,s:integer;
sr:real;
p:array of integer;
begin
Randomize;
Write('n = ');{вводим размерность массива}
Readln(n);
SetLength(p,n);{задаем размерность массива}
For i:=0 to n-1 do
begin
p[i]:=Random(21);Х{заполняем массив рандомно}
Write(p[i],' ');
end;
Writeln;
s:=0;
For i:=0 to n-1 do{считаем среднее арифметическое}
s:=s+p[i];
sr:=s/n;
Writeln(sr:5:2);
Readln;
end. [/code]



3)[code lang=pascal]
program Project1;
var N,k:integer;
Function fact(N: integer) : longint;
Begin
If N= 0 then
fact:= 1
Else fact := fact(N-1) * N
End;
begin {начало основной программы}
writeln('vashe 4isklo– ');
readln(N);
k:= fact(N);
writeln ('factorial !=',k);
readln();
end.
[/code]
Об авторе:
Твое внимание станет мой энергией
давно
Профессионал
153662
1070
26.10.2016, 08:27
общий
это ответ
Здравствуйте, nata!
1 задание с циклом for:
[code lang=pascal]programm sum_for

var
i, n, sum: integer;

begin
readln(n);
sum:= 0;
for i:= 1 to n do
if i mod 2 = 0 then
sum:= sum + i;
write(sum);
end; [/code]
1 задание с циклом repeat:
[code lang=pascal] programm sum_repeat

var
i, n, sum: integer;

begin
readln(n);
sum:= 0;
i:= 1;
repeat
if i mod 2 = 0 then
sum:= sum + i;
i:= i + 1;
until
i > n;
write(sum);
end;[/code]
1 задание с циклом while:
[code lang=pascal] programm sum_while

var
i, n, sum: integer;

begin
readln(n);
sum:= 0;
i:= 1;
while i <= n do
begin
if i mod 2 = 0 then
sum:= sum + i;
i:= i + 1;
end;
write(sum);
end;[/code]

2 задание:
[code lang=pascal] programm massiv

uses Crt;

var
i, n, sum: integer;
a: array of integer;
s: real;

begin
readln(n);
setlength(a, n); {Устанавливаем длину массива}
sum:= 0;
randomize; {Инициализация генератора случайных чисел}
for i:= 1 to n do
begin
new(a[i]); {Новый элемент массива}
a[i]^:= random(100); {Генерация числа элемента массива}
sum:= sum + a[i]^; {Считаем сразу сумму элементов}
end;
for i:= 1 to n do
write(a[i]^, ' '); {Выводим массив}
writeln;
s:= sum / n; {Считаем среднеарифметической}
writeln(s);
dispose(a[i]); {Отчищаем память}
end.[/code]

3 задание:
[code lang=pascal] program factorial;
var
n, i: integer;

function factor(x: integer): integer;
begin
if x = 0 then
factor:= 1
else
factor:= factor(x - 1) * x;
end;

begin
readln(n);
i:= factor(n);
writeln(i);
end.[/code]
Об авторе:
Мои программы со статусом freeware для Windows на моём сайте jonix.ucoz.ru

Форма ответа