Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Циклические алгоритмы
Задание 1. Работа с одномерными массивами (простые циклы). Определить сумму и количество элементов массива а(15), значения которых больше 10.
Блок-схема алгоритма:
Программа на Бейсике: DIM a(15) AS SINGLE s AS SINGLE k, i AS INTEGER FOR i=1 TO 15 INPUT a(i) NEXT i s=0: k=0 FOR i=1 TO 15 IF a(i) > 10 THEN s=s+a(i): k=k+1 NEXT i PRINT ”сумма = ”; s; ”, кол-во = ”; k END
Программа на Паскале: PROGRAM PR2_1; VAR a: ARRAY [1..15] OF REAL; s: REAL; k, i: INTEGER; BEGIN FOR i: =1 TO 15 DO READLN (a[ i ]); s: = 0; k: = 0; FOR i: =1 TO 15 DO IF a[ i ] > 10 THEN BEGIN s=s+a(i); k=k+1 END; WRITELN (’ сумма = ’, s: 10: 2, ’ кол-во = ’, k) END.
Задание 2. Работа с двумерными массивами (сложные циклы) Определить и вывести для каждой строки двумерного массива с(10, 12) количество элементов, значения которых больше 10, но меньше 20.
Блок-схема алгоритма:
Программа на Бейсике: DIM c(1 TO 10, 1 TO 12) DIM i, j, k AS INTEGER RANDOMIZE TIMER FOR i=1 TO 10 FOR j=1 TO 12 c(i, j)=INT(RND*21) NEXT j NEXT i FOR i=1 TO 10 k = 0 FOR j=1 TO 12 IF c(i, j)> 10 AND c(i, j)< 20 THEN k= k+1 NEXT j PRINT i; ”строка - ”; k; ”элементов” NEXT i END
Программа на Паскале: PROGRAM PR5_2; VAR c: ARRAY [1..10, 1..12] OF REAL; i, j, k: INTEGER; BEGIN RANDOMIZE; FOR i: =1 TO 10 DO FOR j: =1 TO 12 DO c[i, j]: =RANDOM(20); FOR i: =1 TO 10 DO BEGIN k: = 0; FOR j: =1 TO 12 DO IF (c[i, j]> 10) AND (c[i, j]< 20) THEN k: = k+1; WRITELN (i, ’ строка - ’, k, ’ элементов’) END END.
ВАРИАНТЫ ИНДИВИДУАЛЬНОГО ЗАДАНИЯ
|