Простейший калькулятор
Написать программу, в которой вводятся два числа-операнда x и y и знак арифметической операции (+, –, /, *). Вычислить результат z в зависимости от знака.
Предусмотреть реакции на возможный неверный знак операции, а также на ввод y =0 при делении.
Организовать возможность многократных вычислений без перезагрузки программы (то есть построить цикл). В качестве символа прекращения вычислений принять ‘0’.
Алгоритм решения задачи:
- Вводим знак. Если он является символом ‘0’, то прерываем цикл.
- Если введенный символ — арифметическая операция, запрашиваем два числа и выполняем вычисления в зависимости от введенного знака.
- Иначе сообщаем о некорректном вводе знака.
Программа на языке Паскаль:
var x, y, z: real; sign: char; begin while True do begin write('sign: '); readln(sign); if sign = '0' then break; if sign in ['+','-','*','/'] then begin write('x = '); readln(x); write('y = '); readln(y); case sign of '+': begin z := x + y; writeln(z:5:2) end; '-': begin z := x - y; writeln(z:5:2); end; '*': begin z := x * y; writeln(z:5:2); end; '/': if y <> 0 then begin z := x / y; writeln(z:5:2) end else writeln('Division by zero!'); end; end else writeln('Bad sign!'); writeln; end; end.
Пример работы программы:
sign: + x = 8.123 y = -3.5 4.62 sign: / x = 3.4 y = 2.75 1.24 sign: / x = 3 y = 0 Division by zero! sign: $ Bad sign! sign: 0
Поиск элементов в массиве(Pascal)
Всем привет! есть задание Найти в массиве элементы, равные числу, заданному пользователем. Подсчитать их количество и вывести номер первого найденного элемента. Массив задается при помощи ввода с клавиатуры.
const count=10; var a,b, i: integer; m: array [1..count] of integer; begin writeln ('Ввод исходного массива: '); for i:=1 to count do begin write('Значение#', i, ':'); readln(m[i]); end; a:=0; b:=0 write('Введите число для поиска > '); readln(n); for i:=1 to count do if m[i]=n then begin if b=0 then a:=i; b:=b+1; end; if b=0 then writeln('Нет таких элементов в массиве?'> else begin writeln('Кол-во элементов массива, имеющих значение',n,'=',b:3); writeln('Первый элемент имеет номер',a:3); end end.
Но все равно почему-то выдает ошибку, что надо исправить?
Отслеживать
задан 18 дек 2020 в 23:35
Никита Пупкин Никита Пупкин
37 1 1 серебряный знак 6 6 бронзовых знаков
«почему-то выдает ошибку» — ??
– user176262
18 дек 2020 в 23:37
Ошибка то в чем заключается? Я не специалист в pascal (ниразу не притрагивался к нему), но где у вас инициализация n ?
18 дек 2020 в 23:43
1 ответ 1
Сортировка: Сброс на вариант по умолчанию
Ниже пример рабочего кода. Если хотите узнать в чем были ошибки, сравните коды.
const count=10; var a,b,i,n: integer; m: array [1..count] of integer; begin writeln ('Ввод исходного массива: '); for i:=1 to count do begin writeln('Значение# ', i, ': '); readln(m[i]); end; a:=0; b:=0; writeln('Введите число для поиска > '); readln(n); for i:=1 to count do if m[i]=n then begin if b=0 then a:=i; b:=b+1; end; if b=0 then writeln('Нет таких элементов в массиве') else begin writeln('Кол-во элементов массива, имеющих значение',n,'=',b:3); writeln('Первый элемент имеет номер',a:3); end end.
Весь прикол в том, что я человек, который ниразу не кодил на паскале, просто открыл онлайн компилятор, который сказал где ошибки). Добавил пару табуляций для понимая и нашел еще одну ошибку.
Массивы в Pascal
Переменные стандартного типа можно изобразить отдельными маленькими ячейками. То же самое относится и к переменным перечисляемого и интервального типов:
В данных ячейках могут содержаться любые значения из диапазона, определяемого их типами. Например, в ячейке month может быть любое одно значение от 1 до 12, а в ячейке x любое натуральное число в диапазоне примерно от -32000 до 32000.
Помимо этого, имеется также возможность объявлять переменные, которые являются массивами таких маленьких ячеек.
Ячейки массива можно назвать элементами; в квадратных скобках стоят индексы. Базовый тип массива – это тип элементов, из которых составлен массив (в каждом массиве все компоненты одного типа).
В ячейки массива можно помещать значения аналогично тому, как выполняется присваивание обычным переменным. Только здесь кроме имени переменной надо также указать номер (индекс) ячейки, в которую производится запись значения элемента:
nums[3] := 115.58; read(nums[1]);
Однако такое использование элементов массива в качестве обычных переменных не дает никакой выгоды. Массивы ценны тем, что индексы могут быть переменными или выражениями, с помощью которых выполняется последовательный доступ ко всем элементам массива.
Во фрагменте кода ниже записывается 0 во все элементы массива nums :
for i := 1 to 3 do nums := 0;
Одномерные массивы
Предположим, что программа работает с большим количеством однотипных данных. Скажем около ста разных целых чисел нужно обработать, выполнив над ними те или иные вычисления. Как вы себе представляете 100 переменных в программе? И для каждой переменной нужно написать одно и тоже выражение вычисления значения? Это очень неэффективно.
Есть более простое решение. Это использование такой структуры (типа) данных как массив. Массив представляет собой последовательность ячеек памяти, в которых хранятся однотипные данные. При этом существует всего одно имя переменной связанной с массивом, а обращение к конкретной ячейке происходит по ее индексу (номеру) в массиве.
Следует понимать, что индекс ячейки массива не является ее содержимым. Содержимым являются хранимые в ячейках данные, а индексы только указывают на них. Действия в программе над массивом осуществляются путем использования имени переменной, связанной с областью данных, отведенной под массив.
Итак, массив – это именованная группа однотипных данных, хранящихся в последовательных ячейках памяти. Каждая ячейка содержит элемент массива. Элементы нумеруются по порядку, но необязательно начиная с единицы (хотя в языке программирования Pascal чаще всего именно с нее). Порядковый номер элемента массива называется индексом этого элемента.
Помним, все элементы определенного массива имеют один и тот же тип. У разных массивов типы данных могут различаться. Например, один массив может состоять из чисел типа integer , а другой – из чисел типа real .
Индексы элементов массива обычно целые числа, однако могут быть и символами, а также описываться другими порядковыми типами. То есть для индекса можно использовать тип, в котором определена дискретная последовательность значений, и все эти значения можно пересчитать по порядку. Индексировать можно как константами и переменными, так и выражениями, результат вычисления которых дает значение перечислимого типа.
Если индекс массива может приобретать все допустимые значения определенного перечислимого типа, то при описании массива возможно задание имени типа вместо границ изменения индекса. При этом границами индекса будут первое и последнее значения в описании типа индекса. Границы изменения индексов могут задаваться с помощью ранее объявленных констант. Рекомендуется предварительно объявлять тип массива в разделе описания типов.
Массив можно создать несколькими способами.
const N = 200; type months = (jan, feb, mar, apr, may, jun, jul, aug, sep, oct, nov, dec); years = 1900..2100; people = array[years] of longint; var growth: array[months] of real; hum: people; notes: array[1..N] of string;
Обращение к определенному элементу массива осуществляется путем указания имени переменной массива и в квадратных скобках индекса элемента.
Простой массив является одномерным. Он представляет собой линейную структуру.
var ch: array [1..11] of char; h: char; i: integer; begin for i := 1 to 11 do read(ch[i]); for i := 1 to 11 do write(ch[i]:3); end.
В примере выделяется область памяти под массив из 11 символов. Их индексы от 1 до 11. В процессе выполнения программы пользователь вводит 11 любых символов (например, ‘q’, ’w’, ’e’, ’2’, ’t’, ’9’, ’u’, ’I’, ’I’, ’o’, ’p’), которые записываются в ячейки массива. Текущее значение переменной i в цикле for используется в качестве индекса массива. Второй цикл for отвечает за вывод элементов массива на экран.
Функция sizeof, примененная к имени массива или имени массивного типа, возвращает количество байтов, отводимое под массив.
Как посчитать количество чисел в паскале
3.С клавиатуры вводится натуральное число N . Программе подсчитать количество цифр в числе .
Буду очень благодарен .
P.S.S. тему плохо понял =)
Подсчитать количество цифр в числе
С клавиатуры вводится натуральное число П.Узнайте в нём количество цифр
Подсчитать количество цифр в числе кратных 3
2. подсчитать количество цифр в числе кратных 3
Подсчитать количество чётных и нечётных цифр в числе
число n>=0 требуется определить кол-во цифр в числе, подсчитать кол-во чётных и нечётных цифр в.
Подсчитать количество чётных и нечётных цифр в заданном числе
число n>=0 требуется определить кол-во цифр в числе, подсчитать кол-во чётных и нечётных цифр в.
Количество цифр в строке
Написать программу, которая подсчитывает, сколько содержится цифр в строке.
Введем переменную n для хранения количества найденных цифр. В цикле будем извлекать каждый символ строки и находить его порядковый номер в таблице символов.
Известно, что символы цифр в этой таблице имеют порядковые номера от 48 (для нуля) до 57 (для девятки) включительно. Если номер очередного извлеченного из строки символа попадает в данный диапазон, значит перед нами цифра. В этом случае следует увеличить на единицу счетчик цифр, то есть переменную n .
Подсчитать количество цифр в строке. Паскаль. Пример кода
Общая идея подсчета числа цифр в строке в Паскаль состоит в следующем (сразу приведём здесь код программы):
— в этой программе для считывания значения мы использовали переменную строкового типа.
Паскаль даёт возможность обращения к конкретному символу строки по индексу как к элементу одномерного массива.
Как посчитать количество чисел в паскале
Все, что необходимо начинающему и опытному программисту
Вычисление суммы и количества элементов массива с заданными свойствами
Еще одна задача — посчитать сумму элементов, которые удовлетворяют какому-то условию. Наверное, вы уже поняли общий принцип: перебираем все элементы массива (цикл for) и проверяем для каждого элемента выполнение условия (оператор if).
Если условие выполнено, добавим элемент к сумме (S := S+A[i]).
Пример 8.5.
Вычисление суммы положительных элементов массива
Вот задача, очень похожая на предыдущую: посчитать количество элементов массива с указанными свойствами. Решается аналогично: переберем все элементы, проверим для каждого условие и, если оно выполнено, увеличим счетчик на единицу (к := к+1).
Пример 8.6.
Вычисление количества четных элементов массива (блок-схема алгоритма показана на рис. 8.7)
Related posts:
- D link dgs 1008d как подключить
- Как посчитать длину кабеля по проекту
- Speech recognition error windows 10 как исправить
- Как часто надо менять картриджи в подах