zhidkovzachar
20.09.2022 23:44

Написать программу на Паскале с ветвлением для следующих задач

1. Дано целое число. Если оно является положительным то прибавить к нему 1, в противном случае вычесть из него два. Вывести полученное число.

2. Ввести 2 числа. Если их произведение отрицательно, умножить его на –2 и вывести на экран, в противном случае увеличить его в 1,5 раза и вывести на экран. (Написать программу, начертить блок-схему).

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
akimovilya20
21.11.2022 16:46
Рекурсивный подход.(Символы тоже удаляет)
function grad(s:string):string;
var
i:byte;
detect:boolean;
begin
while i < length(s) - 2 do
begin
inc(i);
if (s[i] = s[i+1]) and (s[i] = s[i+2]) then {проверка последовательности из 3 елементов}
begin
delete(s,i,3); {если да - удаляем их}
detect:=True; {логическая переменная регистрирует изменение строки}
end;end;
if detect = True then
s:=grad(s); {если строку изменили , проверяем не появились ли там еще последовальности}
grad:=s; 
end;

var
s:string;
begin
readln(s);
writeln(grad(s));
end.
0,0(0 оценок)
Ответ:
Matvey1145
03.05.2021 21:42
Const l = 5;
var
a: array[1..l] of integer;
d: array[1..l] of real;
i, otr, k, m: integer;
begin
otr:=0; k:=0; m:=0;
//считаем массив а
for i:=1 to l do
  begin
    readln(a[i]);
    //если ввели положительное число,увеличим перем. otr на 1
    if a[i] < 0 then
      inc(otr);
    //если ввели отрицательное число,увеличим перем. k на 1
    //и к переменной m прибавим элемент
    if a[i] > 0 then
      begin
        inc(k);
        inc(m, a[i]);
      end;
  end;
//заполним массив d
for i:=1 to l do
  //если индекс четный, присвоим элементу otr
  //иначе присвоим среднее арифметическое
  if i mod 2 = 0 then
    d[i] := otr
  else
    d[i] := m/k;
end.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота