1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài tập lập trình SHELL

5 2,2K 18

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 5
Dung lượng 18,49 KB

Nội dung

VD: khi nhập N = 7 chương trình sẽ xuất ra tổng của 7 số chẵn liên tiếp Câu 2: Viết chương trình xuất ra thư mục và tập tin có kích thước trong khoảng vừa nhập.. Câu 4: Viết chương trình

Trang 1

BÀI TẬP LẬP TRÌNH SHELL Câu 1: Nhập vào số tự nhiên N, in tất cả các số từ 1 đến N

#!/bin/bash

echo “Nhap so N”

read N

for ($i=1 ; $i<=N ;$ i++)

do

echo "i"

done

Câu 2: Chương trình tính tổng các số từ 1 đến N

#!/bin/sh

echo “Chuong trinh tinh tong 1- $1”

index=0

tong=0

while[ $index -lt $1 ]

do

index=$(($index + 1)) tong=$(($tong + $index)) done

echo "Tong 1-$1= $tong"

exit 0

Câu 3: Tính tổng N!

#!/bin/bash

echo “Chuong trinh tinh tong_$1!”

index=0

tong=0

gt=1

while[ $index -lt $1 ]

do

Trang 2

index=$(($index + 1)) gt=$(($gt * $index)) tong=$(($tong + $gt)) done

echo "$1!= $gt"

echo "Tong 1-$1= $tong"

exit 0

Câu 4: Viết chương trình tổng các số chẵn/lẻ

#!/bin/bash

echo “Nhap so n”

read n

s1=0;

s2=0;

for(i=0 ; i<=n ; i++)

do

if (($i % 2==0)) then

s1=$(($s1+$i)) else

then

s2=$(($s2+$i)) fi

done

Câu 5: Tìm hai số lớn nhất và nhỏ nhất trong khoảng

#/bin/bash

# nhập đọc một mảng

function input()

{

echo -n "n= "

read n for ((i=0; i<n; i++))

Trang 3

echo -n "a[$i] " = read a[$i]

done }

#so sánh hai số lấy số max

function max2nums()

{

if [ "$1" -gt "$2" ]; then

max1=$1 echo $1 else

max1=$2 echo $2 fi

return $max1 }

#tìm số lớn nhất trong mảng

function maxs()

{

max=${a[0]}

for ((i=1; i<n; i++)) do

max=$(max2nums ${a[$i]} $max) done

echo "max = $max"

}

input

maxs.exit$?

Câu 6: Đếm số dòng trong một đoạn văn

#!/bin/bash

echo “Chuong trinh dem so dong cua doan van”

{

n=0

while read line

do

n=$(($n + 1)) done

Trang 4

echo “So dong cua doan van la: $n”

}

exit 0

Câu 7: Đếm số từ trong một đoạn văn

#!/bin/bash

echo “Chuong trinh dem so tu cua doan van”

{

n=0

while read line

do

for wd in$line

do

n=$(($n + 1)) done

done

echo “Tong so tu cua doan van la: $n”

}

exit 0

Một số bài tập tự giải:

Câu 1: viết chương trình tính tổng các số chẵn liên tiếp VD: khi nhập N = 7 chương trình sẽ

xuất ra tổng của 7 số chẵn liên tiếp

Câu 2: Viết chương trình xuất ra thư mục và tập tin có kích thước trong khoảng vừa nhập.

Câu 4: Viết chương trình nhập vào 1 lệnh và số nguyên N, kết thúc khi câu lệnh thành công hoặc

số lần chạy lớn hơn n, nếu câu lệnh không thành công, xuất “thử lại” và chạy lại lệnh

Câu 5: Viết chương trình nhập vào 1 số nguyên N, yêu cầu xuất tất cả số nguyên tố từ 1 đến N

(mỗi số cách 1 khoảng trắng), nếu không có số nào, xuất -1

Câu 6: Viết chương trình tìm tất cả các tập tin và thư mục bắt đầu bằng từ “bai”, xuất ra file

text.txt, sau đó xóa tất cả các tập tin và thư mục bắt đầu bằng “bai tap” Xuất ra các file text số tập tin/thư mục bị xóa Kiểm tra sự chính xác các tập tin xóa

Trang 5

Câu 7: Viết chương trình chỉnh sửa văn bản sao cho nếu trên 1 dòng mà có nhiều hơn 2

khoảng trắng liền nhau thì được thay thế bằng 1 khoảng trắng

Câu 8: Viết chương trình nhận tên và tuổi của người dùng Xuất ra năm sẽ đạt 100 tuổi.

Câu 9: Viết chương trình tạo n thư mục có tên (tiền tố) là chuỗi s Sau đó di chuyển các thư mục

số chẵn vào thư mục số lẻ

VD: /mymkdir 10 abc -> các thư mục được tạo: abc1, abc2,… abc10 Và abc2 được chuyển vào trong abc1

Câu 10: Viết chương trình kiểm tra trong thư mục hiện tại có thư mục SYS không? Nếu không

thì tạo ra, sau đó sao chép tất cả các file có tháng tạo lập là 7 vào thư mục SYS

Ngày đăng: 17/04/2020, 08:33

TỪ KHÓA LIÊN QUAN

w