Файл: Решением по теме Организация линейных, разветвляющихся и циклических алгоритмов на языке программирования Паскаль.docx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 11.01.2024
Просмотров: 166
Скачиваний: 1
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
=IR,где V —напряжение,приложенное к участку цепи, I — сила тока, а R — электрическое сопротивлениеучасткацепи.
=
+ 2
+ +
у =x2,если -2<=xтогдаy=2, у =4в остальных случаях
После отладки проверьте ее при работе с именами Саша, Коля и Витя.
Begin
writeln ('Введите значение переменной a');
Readln (a);
If a>0 then a:=a-10 else a:=a+10; Writeln ('Переменная a = ',a); End.
Begin
writeln ('Введите значение переменных a и b');
Readln (a,b); d:=a*b;
If d<0 then d:=d*(-2) else d:=d*3; Writeln ('Переменная d = ',d); End.
Var a,b:integer; d:real;
Begin
writeln ('Введите значение переменных a и b');
Readln (a,b); d:=a+b;
If d mod 2=0 then d:=a*b else d:=a/b; Writeln ('Переменная d = ',d);
End.
Begin
writeln ('Введите значение переменных a и b');
Readln (a,b);
If a>b then d:=a-b else d:=b-a; Writeln ('Переменная d = ',d); End.
Var a:real;
Begin
writeln ('Введите значение переменной a');
Readln (a);
If a<=10 then a:=a*5 else a:=a/2; Writeln ('Переменная a = ',a); End.
Var a,b:integer; S:real;
Begin
writeln ('Введите значение переменных a и b');
Readln (a,b); S:=a+b;
If S>100 then S:=S/2 else S:=S*2; Writeln (('Переменная S = ',S); End.
Begin
writeln ('Введите значение переменной a');
Readln (a);
b:= a div 10; d:= a mod 10; S:= b+d; If s mod 2=0 then a:=a+2 else a:=a-2; Writeln ('Переменная d = ',d);
End.
Begin
writeln ('Введите значение переменных a, b и с');
Readln (a,b,c);
If a>=b+c then Writeln (‘Нет’)
Else if b>=a+с then Writeln (‘Нет’) Else if c>=a+b then Writeln (‘Нет’) Else Writeln (‘Да’);
End.
9. Вычислить сумму ряда S = 1+1.5+2+2.5+3+3.5+…+ 30.
1 2 3 4 i
for i:=1 to 10 do write(20,' ') end.
for I:=2 to 8 do writeln(' ',I+0.8:0:1); end.
for I:=10 to 25 do writeln(I,' ',I+0.4:0:1); end.
for I:=25 to 35 do writeln(I,' ',I+0.4,' ',i+0.8:0:1);
end.
for I:=20 to 35 do writeln(I,' ',sqrt(i):0:1); end.
for i:=a to b do writeln(i) end.
9. program c2; var
sum:real; n:real; BEGIN
sum:=0; n:=1;
while n < =30 do begin sum:=sum+n;
n:=n+0.5;
end;
writeln('Сумма равна: ',sum); END.
pod:=1; dr:=1;
while pod<=100 do begin pod:=(pod*2)+dr; dr:=dr+1;
end;
write('Возраст= ',dr); end.
REPEAT
Write('Введите числа (0 - выход): '); Readln(A);
UNTIL A=0;
Write(Программа закончена ') END.
15. Program Summa; Var S:real; N:integer; Begin
S:=0;N:=0;
repeat N:=n+1;
S:=s+1/n Until n>1000; Writeln(s:0:2); End.
0>
-
Написать программу для определения подходящего возраста для вступления в брак, используя следующее соображение: возраст девушки равен половине возраста мужчины плюс 7, возраст мужчины определяется соответственно как удвоенный возраст девушки минус 14. Данные для проверки работы программы задать самостоятельно. -
Составить программу вычисления значений функции для любого х по желанию пользователя:
=
+ 2
+ +
-
Написать программу вычисления значения функции у
у =x2,если -2<=xтогдаy=2, у =4в остальных случаях
-
Наберите и отладьте программу imena (определение полного имени по короткому).
После отладки проверьте ее при работе с именами Саша, Коля и Витя.
Решение ветвящихся задач
-
Program vet1; Var a:integer;
Begin
writeln ('Введите значение переменной a');
Readln (a);
If a>0 then a:=a-10 else a:=a+10; Writeln ('Переменная a = ',a); End.
-
Program vet2; Var a,b,d:integer;
Begin
writeln ('Введите значение переменных a и b');
Readln (a,b); d:=a*b;
If d<0 then d:=d*(-2) else d:=d*3; Writeln ('Переменная d = ',d); End.
-
Program vet3;
Var a,b:integer; d:real;
Begin
writeln ('Введите значение переменных a и b');
Readln (a,b); d:=a+b;
If d mod 2=0 then d:=a*b else d:=a/b; Writeln ('Переменная d = ',d);
End.
-
Program vet4; Var a,b,d:integer;
Begin
writeln ('Введите значение переменных a и b');
Readln (a,b);
If a>b then d:=a-b else d:=b-a; Writeln ('Переменная d = ',d); End.
-
Program vet5;
Var a:real;
Begin
writeln ('Введите значение переменной a');
Readln (a);
If a<=10 then a:=a*5 else a:=a/2; Writeln ('Переменная a = ',a); End.
-
Program vet6;
Var a,b:integer; S:real;
Begin
writeln ('Введите значение переменных a и b');
Readln (a,b); S:=a+b;
If S>100 then S:=S/2 else S:=S*2; Writeln (('Переменная S = ',S); End.
-
Program vet7; Var a,b,d,s:integer;
Begin
writeln ('Введите значение переменной a');
Readln (a);
b:= a div 10; d:= a mod 10; S:= b+d; If s mod 2=0 then a:=a+2 else a:=a-2; Writeln ('Переменная d = ',d);
End.
-
Program vet8; Var a,b,с:integer;
Begin
writeln ('Введите значение переменных a, b и с');
Readln (a,b,c);
If a>=b+c then Writeln (‘Нет’)
Else if b>=a+с then Writeln (‘Нет’) Else if c>=a+b then Writeln (‘Нет’) Else Writeln (‘Да’);
End.
Задачи на циклические алгоритмы
Циклы с известным числом повторений
-
Вывести на экран 3 раза слово «Hello». Особенность: одинаковые действия выполняются 3 раза. -
Напечатать ряд из повторяющихся чисел 20 в виде:
20 20 20 20 20 20 20 20 20 20
-
Вывести столбиком следующие числа:
2.8 … 8.8
-
Напечатать числа следующим образом:
10 10.4
11 11.4
. . .
25 25.4
-
Напечатать числа следующим образом:
25 25.5 24.8
26 26.5 25.8
. . .
35 35.5 34.8
-
Напечатать столбиком все целые числа от 20 до 35 и вычислить корни этих чисел. -
Напечатать столбиком все целые числа от а до b (значения а и b вводятся с клавиатуры).
Циклы с предусловием
-
Составить программу вывода 10 целых чисел на экран.
9. Вычислить сумму ряда S = 1+1.5+2+2.5+3+3.5+…+ 30.
-
Вычислить сумму ряда = 2 + 2 + 2 + 2 + 2 2 , с точностью e = 0,1.
1 2 3 4 i
-
Мой богатый дядюшка подарил мне один доллар в мой первый день рождения. В каждый день рождения он удваивал свой подарок и прибавлял к нему столько долларов, сколько лет мне исполнилось. Написать программу, указывающую, к какому дню рождения подарок превысит 100$.
Циклы с постусловием
-
Написать программу ввода неопределённого ряда целых чисел до тех пор, пока не будет введён 0. После ввода 0 программа должна вывести сообщение «Программа закончена». -
Составить программу вывода 30 целых чисел на экран. -
Найти сумму ряда S = 15+16+17+...+n. -
Составить программу подсчета суммы S первых 1000 членов гармонического ряда 1+1/2+1/3+1/4+...1/N. Округлить результат до двух знаков после запятой.
Решение циклических задач
-
Program C2; var i: integer; begin
for i:=1 to 10 do write(20,' ') end.
-
Program C3; var i: integer; begin
for I:=2 to 8 do writeln(' ',I+0.8:0:1); end.
-
Program C4; var i: integer; begin
for I:=10 to 25 do writeln(I,' ',I+0.4:0:1); end.
-
Program C5; var i: integer; begin
for I:=25 to 35 do writeln(I,' ',I+0.4,' ',i+0.8:0:1);
end.
-
Program C6; var i: integer; begin
for I:=20 to 35 do writeln(I,' ',sqrt(i):0:1); end.
-
Program C7; var a,b,i:integer; begin readln(a,b);
for i:=a to b do writeln(i) end.
9. program c2; var
sum:real; n:real; BEGIN
sum:=0; n:=1;
while n < =30 do begin sum:=sum+n;
n:=n+0.5;
end;
writeln('Сумма равна: ',sum); END.
-
program c1; var dr,pod: integer; begin
pod:=1; dr:=1;
while pod<=100 do begin pod:=(pod*2)+dr; dr:=dr+1;
end;
write('Возраст= ',dr); end.
-
Program N4; Var A: Integer; begin
REPEAT
Write('Введите числа (0 - выход): '); Readln(A);
UNTIL A=0;
Write(Программа закончена ') END.
15. Program Summa; Var S:real; N:integer; Begin
S:=0;N:=0;
repeat N:=n+1;
S:=s+1/n Until n>1000; Writeln(s:0:2); End.