Скачать презентацию Контрольные точки первого модуля Программирование • Лекции • Скачать презентацию Контрольные точки первого модуля Программирование • Лекции •

Лабораторная 1 (2).ppt

  • Количество слайдов: 20

Контрольные точки первого модуля Программирование • Лекции • Семинары • 3 лаб. работы Контрольные точки первого модуля Программирование • Лекции • Семинары • 3 лаб. работы

Требования к оформлению отчета Выполнение каждой работы лабораторного практикума завершается написанием отчета, включающего следующие Требования к оформлению отчета Выполнение каждой работы лабораторного практикума завершается написанием отчета, включающего следующие разделы: • титульный лист • содержание; • задание; • постановка задачи; • метод решения задачи; • внешняя спецификация; • описание алгоритма на псевдокоде; • листинг программы; • распечатка тестов к программе и результатов.

ПРАВИТЕЛЬСТВО РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное образовательное учреждение высшего профессионального образования Национальный исследовательский университет «Высшая ПРАВИТЕЛЬСТВО РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное образовательное учреждение высшего профессионального образования Национальный исследовательский университет «Высшая школа экономики» Московский институт электроники и математики Национального исследовательского университета «Высшая школа экономики» Кафедра информационных технологий и автоматизированных систем Курс: Программирование (язык Паскаль) ОТЧЕТ по лабораторной работе №___ Студент: _____________ Группа: _____ Вариант: _____ Руководитель: __________ Оценка: _____ МОСКВА 2013

Пример оформления отчета по лабораторной работе 1 Задание. Дан вещественный массив B[1: k] и Пример оформления отчета по лабораторной работе 1 Задание. Дан вещественный массив B[1: k] и число Z. 1. Найти min(|b[i]|), i=1, k, для b[i] z, и определить его порядковый номер. 2. Даны числа z 1 и z 2. Сформировать массив D[1: n], элементы которого вычисляются следующим образом: 3. Дано число x 1. Сформировать массив A[1: n] по формуле:

Постановка задачи Дано: 1. k, B[1: k], z; 2. z 1, z 2; 3. Постановка задачи Дано: 1. k, B[1: k], z; 2. z 1, z 2; 3. x 1. Результат: 1. min, nmin или сообщение «Нет минимума» ; 2. D[1: n] или сообщение «Нет массивов D и A» ; 3. A[1: n] (при условии существования массива D). При: kЄN, k<=lmax, z 1

Метод решения задачи 1. min=1 E 38 nmin=0 для i=1, k min=b[i]; nmin=i, если Метод решения задачи 1. min=1 E 38 nmin=0 для i=1, k min=b[i]; nmin=i, если |b[i]|<=|min| и b[i]<=z 2. n=0 для i=1, k n=n+1; 3. для i=1, n

Внешняя спецификация Лабораторная работа 1 Задание 1 Введите длину массива B от 1 до Внешняя спецификация Лабораторная работа 1 Задание 1 Введите длину массива B от 1 до <> Введите массив B из <> элементов Введите z при nmin = 0 Нет минимума иначе min= << min>> nmin= <>

Задание 2 Введите z 1, z 2 (z 1<=z 2) <z 1> <z 2> Задание 2 Введите z 1, z 2 (z 1<=z 2) до z 1 < z 2 при n = 0 Нет массивов D и A иначе Массив D из <> элементов <> <>…<> Задание 3 Введите x 1 Массив A из <> элементов <> <>…<>

Описание алгоритма на псевдокоде Алг «Лабораторная работа 1» Нач {задание 1} {ввод исходных данных Описание алгоритма на псевдокоде Алг «Лабораторная работа 1» Нач {задание 1} {ввод исходных данных для задания 1} ввод (k, B[1: k], z) {инициализация} nmin : = 0 {номер минимума} min : = 1 E 38 {начальное значение минимума} цикл от i : = 1 до k если b[i] ≤ z и |b[i]| ≤ |min| то min : = b[i] nmin : = i все кц {анализ существования результата и вывод результата задания 1} если nmin = 0 то вывод ( «Нет минимума» ) иначе вывод ( «min=» , min, «nmin=» , nmin) все

{задание 2} {ввод исходных данных для задания 2} цикл ввод (z 1, z 2) {задание 2} {ввод исходных данных для задания 2} цикл ввод (z 1, z 2) до z 1< z 2 кц n : = 0{длина массива D} цикл от i : = 1 до k если z 1 < b[i] и b[i] < z 2 то n : = n+1 d[n] : = - b[i] все кц {анализ существования результата задания 2} если n = 0 то вывод ( «Нет массивов D и A» ) иначе

{вывод результата задания 2} вывод ( «Массив D из » , n, «элементов» ) {вывод результата задания 2} вывод ( «Массив D из » , n, «элементов» ) вывод ( D[1: n]) {задание 3} {ввод исходных данных для задания 3} ввод (x 1) цикл от i : =1 до n если d[i] > x 1 то a[i] : = d[i] иначе a[i] : =-d[i]/2 все кц {вывод результата задания 2} вывод ( «Массив A из » , n, «элементов» ) вывод (A[1: n]) все кон

Листинг программы {Лабораторная работа 1} Program lab 1; Const lmax=20; {максимальная длина массивов} Type Листинг программы {Лабораторная работа 1} Program lab 1; Const lmax=20; {максимальная длина массивов} Type mass=array[1. . lmax] of real; Var B, D, A: mass; i, k, n, nmin: integer; z, z 1, z 2, x 1, min: real; begin writeln('Лабораторная работа 1'); {задание 1} writeln('Задание 1'); {ввод исходных данных для задания 1} writeln('Введите длину массива B от 1 до ', lmax); read(k);

writeln('Введите массив B из ', k: 3, ' элементов'); for i: =1 to k writeln('Введите массив B из ', k: 3, ' элементов'); for i: =1 to k do read(b[i]); writeln('Введите z'); read(z); {инициализация} nmin : = 0; {номер минимума} min : = 1 E 38; {значение минимума} for i: =1 to k do if( b[i] < z ) and ( abs(b[i]) <= abs(min)) then begin min : = b[i]; nmin : = i; end; {анализ существования результата и вывод результата задания 1} if nmin = 0 then writeln('Нет минимума') else writeln('min= ', min: 10: 3, ' nmin= ', nmin: 3);

{задание 2} writeln('Задание 2'); {ввод исходных данных для задания 2} writeln('Введите z 1, z {задание 2} writeln('Задание 2'); {ввод исходных данных для задания 2} writeln('Введите z 1, z 2 (z 1<=z 2)'); repeat read(z 1, z 2); until ( z 1 < z 2 ); n : = 0; {длина массива D} for i: =1 to k do if( z 1 < b[i] ) and (b[i] < z 2) then begin n : = n+1; d[n] : = - b[i]; end; {анализ существования результата и вывод результата задания 2} if n = 0 then writeln('Нет массивов D и A') else begin {вывод результата задания 2}

writeln('Массив D из ', n: 3, ' элементов'); for i: =1 to n do writeln('Массив D из ', n: 3, ' элементов'); for i: =1 to n do write( D[i]: 10: 3); writeln; {задание 3} writeln('Задание 3'); {ввод исходных данных для задания 3} writeln('введите x 1'); read(x 1); for i: =1 to n do if d[i] > x 1 then a[i] : = d[i] else a[i] : =-d[i]/2; writeln('Массив A из ', n: 3, ' элементов'); for i: =1 to n do write( A[i]: 10: 3); writeln; end.

Распечатка тестов к программе и результатов Распечатка тестов к программе и результатов

Для выбора набора заданий используйте формулы: Пример № варианта x 13 Задание 1 Остаток Для выбора набора заданий используйте формулы: Пример № варианта x 13 Задание 1 Остаток от деления х на 16 + 1 14 Задание 2 Остаток от деления х на 10 + 1 4 Задание 3 Остаток от деления х на 6 +1 2

Лабораторная работа № 1. Цель работы: Алгоритмы поиска минимума и максимума, алгоритмы формирования нового Лабораторная работа № 1. Цель работы: Алгоритмы поиска минимума и максимума, алгоритмы формирования нового массива. I. Дан вещественный массив B[1: k] и числа x и z. Найти 1. 9. 2. 10. 3. 11. 4. 12. 5. 13. 6. 14. 7. 15. 8. 16. Во всех вариантах определить порядковый номер максимума/минимума.

II. Заданы два числа: z 1 и z 2. Сформировать массив D[1: n], элементы II. Заданы два числа: z 1 и z 2. Сформировать массив D[1: n], элементы которого вычисляются по формуле 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.

III. Даны числа x 1, y 1. Сформировать массив A[1: n], элементы которого вычисляются III. Даны числа x 1, y 1. Сформировать массив A[1: n], элементы которого вычисляются по формуле 1. 4. 2. 5. 3. 6. Примечание: если элемент массива не определен, считать его равным нулю и выводить соответствующее сообщение на экран.