СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ

Благодаря готовым учебным материалам для работы в классе и дистанционно

Скидки до 50 % на комплекты
только до

Готовые ключевые этапы урока всегда будут у вас под рукой

Организационный момент

Проверка знаний

Объяснение материала

Закрепление изученного

Итоги урока

Решение задач на Pascal

Категория: Информатика

Нажмите, чтобы узнать подробности

Задачи с решениями

Просмотр содержимого документа
«Решение задач на Pascal»

Задача

Найти номер и значение первого положительного элемента массива.

Решение

Данная задача решается просто, если использовать оператор break. Массив перебирается в цикле. Каждый элемент проверяется на условие "больше нуля". Как только оно будет выполнено, элемент следует вывести на экран, а цикл прервать.

const N = 20;

var

arr: array[1..N] of integer;

i: byte;

begin

randomize;

for i:=1 to N do begin

arr[i] := random(100) - 75;

write(arr[i]:4);

end;

writeln;

for i:=1 to N do

if arr[i] 0 then begin

writeln(i, ' ', arr[i]);

break;

end;

end.

Задача

Найти сумму тех элементов массива, которые одновременно имеют четные и отрицательные значения.

Например, в массиве [3, -5, -2, 4, -8, 0] отрицательными четными элементами являются числа -2 и -8. Их сумма равна -10.

Похожие задачи

Сумма положительных элементов массива

Количества отрицательных и положительных элементов в массиве

Решение

Для решения поставленной задачи надо проверить каждый элемент массива на отрицательность и на четность. Сделать это можно в заголовке оператора ветвления, используя сложное логическое выражение с оператором and. Если текущий элемент массива отрицателен (

Четность элемента в языке Паскаль можно проверить двумя способами:

  • С помощью оператора mod (нахождение остатка от деления). Так если при делении на 2 остаток равен нулю, то число четное.

  • С помощью функции odd(), которая возвращает false (ложь), если число четное.

const N = 10;

var

a: array[1..N] of integer;

i: byte;

sum: integer;

begin

randomize;

for i:=1 to N do a[i]:=random(10)-5;

for i:=1 to N do write(a[i]:4);

writeln;

sum := 0;

for i:=1 to N do begin

if (a[i]0) and (odd(a[i])=false) then

sum := sum + a[i];

end;

writeln(sum);

end.

Задача

Получить среднее арифметическое всех чётных элементов массива, стоящих на нечётных местах.

Решение

 

Описание переменных: 

k - счетчик количества элементов, значения которых удовлетворяют условиям:

  • являются четными;

  • стоят на нечетных местах.

Алгоритм решения задачи: 

Для каждого второго элемента, начиная с первого (нечетные элементы), проверяем условие его четности (должен делиться на 2 без остатка).

Программа на языке Паскаль: 

 

const N = 10;

var arr: array[1..N] of integer;

i, k: byte;

sum: integer;

avr: real;

begin

writeln('Enter the ten elements of the array:');

for i:=1 to N do

read(arr[i]);

sum := 0;

i := 1;

k := 0;

while i = N do begin

if (arr[i] mod 2) = 0 then begin

sum := sum + arr[i];

k := k + 1

end;

i := i + 2

end;

writeln(sum);

if k 0 then begin

avr := sum / k;

writeln(avr)

end

else

writeln('No elements');

readln;

end.